J'utilise un CSpinButtonCtrl, le style AutoBuddy est défini dans le DialogResssource à TRUE. Je dois maintenant supprimer/masquer CSliderButtonCtrl en mode Kiosque (FullScreen).CSpinButtonCtrl: Comment supprimer le style Autobuddy?
J'ai essayé cela, ce n'est pas suffisant, le CEditCtrl associé ne redessine pas, l'endroit où le SpinCtrl était.
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);
}
}
}
essayé aussi:
if (!g_bKioskMode)
{
DDX_Control(pDX, IDC_SPIN1, m_ctlSpin1);
}
essayé aussi: la CSpinCtrl Sous-classe, mais le PreCreateWindow (..) n'est pas appelé
class CMySpinButton : public CSpinButtonCtrl
{
DECLARE_DYNAMIC(CMySpinButton)
public:
CMySpinButton();
virtual ~CMySpinButton();
protected:
DECLARE_MESSAGE_MAP()
virtual BOOL PreCreateWindow(CREATESTRUCT& cs);
};
d'autres idées?
Non, cela n'a pas résolu, le CEdit ci-joint encore en supposant que le style UDS_AUTOBUDDY est défini par le DialogRessource et ne redessine pas le copain détaché. –
J'ai résolu cela en supprimant le style AutoBuddy dans la Ressource. Et définissez/supprimez avec le m_ctlSpin1.SetBuddy (NULL)/SetBuddy (cEdit). –