0
CSpinButtonCtrl을 사용합니다. AutoBuddy 스타일은 DialogResssource에서 TRUE로 설정됩니다. 키오스크 모드 (FullScreen)에서 CSliderButtonCtrl을 제거/숨겨야합니다.CSpinButtonCtrl : Autobuddy 스타일을 제거하는 방법?
나는 이것을 시도했지만 충분하지 않다. 관련 CEditCtrl은 SpinCtrl이 있던 곳을 다시 그리지 않는다.
if (!g_bKioskMode)
{
DDX_Control(pDX, IDC_SPIN1, m_ctlSpin1);
}
도 시도 :
CMyFormView::OnInitialUpdate()
{
if (g_bKiosMode)
{
m_ctlSpin1.ShowWindow(SW_HIDE);
m_ctlSpin1.ShowWindow(SW_ENABLE);
LONG style = GetWindowLong(m_ctlSpinSollwert1.GetSafeHwnd(), GWL_STYLE);
style &= ~UDS_AUTOBUDDY;
SetWindowLong(m_ctlSpinSollwert2.GetSafeHwnd(), GWL_STYLE, style);
}
}
}
도 시도 CSpinCtrl을 하위 클래스 만 된 PreCreateWindow (..)는
class CMySpinButton : public CSpinButtonCtrl
{
DECLARE_DYNAMIC(CMySpinButton)
public:
CMySpinButton();
virtual ~CMySpinButton();
protected:
DECLARE_MESSAGE_MAP()
virtual BOOL PreCreateWindow(CREATESTRUCT& cs);
};
더 아이디어
를 호출되지 않습니다?
아직 해결되지 않았습니다. 첨부 된 CEdit은 UDS_AUTOBUDDY 스타일이 DialogRessource에 의해 설정되고 분리 된 버디를 다시 그리지 않습니다. –
Ressource에서 AutoBuddy Style을 제거하여이 문제를 해결했습니다. 그리고 m_ctlSpin1.SetBuddy (NULL)/SetBuddy (cEdit)를 사용하여 설정/제거하십시오. –