vc按钮重绘问题
classCXButton:publicCButton自定了一个按钮重绘类出现两个问题,在此请教高手一:用新类创建多个新按钮的话不知如何给每个按钮的写单击事件,不可能响应...
class CXButton : public CButton
自定了一个按钮重绘类出现两个问题,在此请教高手
一:用新类创建多个新按钮的话不知如何给每个按钮的写单击事件,不可能响应同样的功能是不。、
二:如果不创建动态按钮在工具栏中按钮控件添加按钮后再关连新类重绘,会出现第一个按钮还没按
就是按下和鼠标停留响应(动态的不会),如果点击其他窗口的话它又正常了...........。
关连如下:
void CWinVSDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
DDX_Control(pDX, IDC_BUTTON1, bu); //bu为CXButton 变量
DDX_Control(pDX, IDC_BUTTON2, bu1);
} 展开
自定了一个按钮重绘类出现两个问题,在此请教高手
一:用新类创建多个新按钮的话不知如何给每个按钮的写单击事件,不可能响应同样的功能是不。、
二:如果不创建动态按钮在工具栏中按钮控件添加按钮后再关连新类重绘,会出现第一个按钮还没按
就是按下和鼠标停留响应(动态的不会),如果点击其他窗口的话它又正常了...........。
关连如下:
void CWinVSDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
DDX_Control(pDX, IDC_BUTTON1, bu); //bu为CXButton 变量
DDX_Control(pDX, IDC_BUTTON2, bu1);
} 展开
2个回答
展开全部
1.继承 OnCommand 函数,里面的参数wParam就是按钮的ID
BOOL CSearchDlg::OnCommand(WPARAM wParam, LPARAM lParam)
{
switch (wParam)
{
case IDC_OK:
SetWindowText("OK"); break;
case IDC_CANCEL:
SetWindowText("Cancel"); break;
default:
return CDialog::OnCommand(wParam, lParam);
}
return TRUE;
}
2.不需要动态创建按钮,只要将你的按钮类型声明成你的新按钮类型
.h
CXButton bu;
CXButton bu1;
.cpp // 你现有的代码就可以,不用改了
DDX_Control(pDX, IDC_BUTTON1, bu); //bu为CXButton 变量
DDX_Control(pDX, IDC_BUTTON2, bu1);
运行期就会有效果了
更多追问追答
追问
我就是这样的呀!出现第种倩况
追答
我试过的,一切正常啊
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询