如何添加自定义类的按钮?

guww 2004-06-13 11:00:28
用这段代码可以动态添加按钮
HWND hwndButton = CreateWindow(
"BUTTON", // predefined class
"MyButton", // button text
WS_VISIBLE | WS_CHILD | BS_DEFPUSHBUTTON,
10,//r.left,
4,//r.top,
80,//r.right - r.left,
20,//r.bottom - r.top,
hwnd,
NULL,
(HINSTANCE) GetWindowLong(hwnd, GWL_HINSTANCE),
NULL);

但自定义的类(按钮)为何不行?
HWND hwndButton = CreateWindow(
"CMYBUTTON", // predefined class
"MyButton", // button text
WS_VISIBLE | WS_CHILD | BS_DEFPUSHBUTTON,
rect.Width() - 83,//r.left,
4,//r.top,
80,//r.right - r.left,
20,//r.bottom - r.top,
hwnd,
NULL,
(HINSTANCE) GetWindowLong(hwnd, GWL_HINSTANCE),
NULL);
...全文
153 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
guww 2004-06-15
  • 打赏
  • 举报
回复
我这段代码要写在一个dll里,按钮加到主窗口的状态栏里,用 zhucde(【風間苍月】)的办法做出的按钮是灰的,只有当IDC_BTNOK改为NULL才不是灰的,但如何响应消息(点击)呢?
enoloo 2004-06-13
  • 打赏
  • 举报
回复
你的窗口类CMYBUTTON注册了没有?

ATOM RegisterClassEx(
CONST WNDCLASSEX *lpwcx // address of structure with class data
);
zhucde 2004-06-13
  • 打赏
  • 举报
回复
CMyButton *m_btnok=new CMyButton;
ASSERT_VALID (m_btnok);
m_btnok->Create("OK",
WS_CHILD |WS_VISIBLE,
CRect(100,200,200,250),
this,
IDC_BTNOK//自定义ID
);

响应消息你就为该ID:IDC_BTNOK添加映射吧
guww 2004-06-13
  • 打赏
  • 举报
回复
哪用CreateWindow添加的按钮如何响应消息?
李马 2004-06-13
  • 打赏
  • 举报
回复
你把窗口类和C++类的概念搞混了。

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧