soui 5.0.0.1
Soui5 Doc
 
Loading...
Searching...
No Matches
SAccProxyCmnCtrl.cpp
1#include "souistd.h"
2#include "msaa/SAccProxyCmnCtrl.h"
3#include "control/SCmnCtrl.h"
4
5SNSBEGIN
6#ifdef SOUI_ENABLE_ACC
7
8STDMETHODIMP SAccProxyButton::get_accRole(VARIANT *pvarRole)
9{
10 pvarRole->vt = VT_I4;
11 pvarRole->lVal = ROLE_SYSTEM_PUSHBUTTON;
12 return S_OK;
13}
14
15STDMETHODIMP SAccProxyCombobox::get_accRole(VARIANT *pvarRole)
16{
17 pvarRole->vt = VT_I4;
18 pvarRole->lVal = ROLE_SYSTEM_COMBOBOX;
19 return S_OK;
20}
21
22STDMETHODIMP SAccProxyCheckButton::get_accRole(VARIANT *pvarRole)
23{
24 pvarRole->vt = VT_I4;
25 pvarRole->lVal = ROLE_SYSTEM_CHECKBUTTON;
26 return S_OK;
27}
28
29STDMETHODIMP SAccProxyRadioButton::get_accRole(VARIANT *pvarRole)
30{
31 pvarRole->vt = VT_I4;
32 pvarRole->lVal = ROLE_SYSTEM_RADIOBUTTON;
33 return S_OK;
34}
35
36STDMETHODIMP SAccProxyEdit::get_accRole(VARIANT *pvarRole)
37{
38 pvarRole->vt = VT_I4;
39 pvarRole->lVal = ROLE_SYSTEM_TEXT;
40 return S_OK;
41}
42
43///////////////////////////////////////////////////////////////////////////
44SAccProxyProgress::SAccProxyProgress(IWindow *pWnd)
45 : SAccProxyWindow(pWnd)
46{
47}
48
49SAccProxyProgress::~SAccProxyProgress(void)
50{
51}
52
53STDMETHODIMP SAccProxyProgress::get_accValue(BSTR *pszValue)
54{
55 SProgress *pProg = sobj_cast<SProgress>(m_pWnd);
56 int nMin, nMax;
57 pProg->GetRange(&nMin, &nMax);
58 if (nMax == nMin)
59 return E_FAIL;
60 int nProg = (pProg->GetValue() - nMin) * 100 / (nMax - nMin);
61 SStringW strValue = SStringW().Format(L"%d%%", nProg);
62 *pszValue = ::SysAllocString(strValue);
63 return S_OK;
64}
65
66STDMETHODIMP SAccProxyProgress::get_accName(BSTR *pszValue)
67{
68 return get_accValue(pszValue);
69}
70
71STDMETHODIMP SAccProxyProgress::get_accRole(VARIANT *pvarRole)
72{
73 pvarRole->vt = VT_I4;
74 pvarRole->lVal = ROLE_SYSTEM_PROGRESSBAR;
75 return S_OK;
76}
77
78////////////////////////////////////////////////////////////////////////////////////
79STDMETHODIMP SAccProxySlideBar::get_accRole(VARIANT *pvarRole)
80{
81 pvarRole->vt = VT_I4;
82 pvarRole->lVal = ROLE_SYSTEM_SLIDER;
83 return S_OK;
84}
85
86#endif // SOUI_ENABLE_ACC
87
88SNSEND
通用控件
进度条类
Definition SCmnCtrl.h:671
int GetValue() SCONST OVERRIDE
获取进度值
Definition SCmnCtrl.h:691
void GetRange(int *pMin, int *pMax) SCONST OVERRIDE
获取进度值最小大值
Definition SCmnCtrl.cpp:977
A class representing an ASCII string.
Definition sstringw.h:96
BOOL __cdecl Format(HINSTANCE hInst, UINT nFormatID,...)
Formats a string using a format string and variable arguments.
Definition sstringw.cpp:490