我有几个CButton
个对象。当我点击它们时,他们会发送WM_SETSTYLE
消息,将样式从BS_PUSHBUTTON
更改为BS_DEFPUSHBUTTON
。这个更改是永久性的,当我按下另一个按钮时不会消失。
CButton* button = new CButton;
button->Create(L"button", WS_CHILD | WS_VISIBLE , CRect( 10,10,100,100), this, IDC_BUTTON);
什么可能导致这种行为?
出于测试目的,我从头开始创建了一个新项目。按钮没有改变。但我无法弄清楚,我的做法有何不同。
答案 0 :(得分:1)
在具有子窗口的对话框或窗口中,此状态由WM_NEXTDLGCTL各自处理 CWnd::GotoDlgCtrl和CWNd::NextDlgCtrl/PrevDlgCtrl
当涉及按钮时,不应在对话框中使用SetFocus。