为什么我的CDialogBar上的按钮是灰色的(无效)

udragon 2003-09-12 10:26:59
即使我重新在OnCreate函数里创建一个新的按钮还是无效的:
CButton *BT = new CButton();
RECT rc;
SetRect(&rc, 10, 10, 80, 60);
BT->Create("BT1", BS_CENTER, rc, this, IDC_ADD_OBJECTCLASS);
BT->EnableWindow(TRUE);
BT->ShowWindow(SW_SHOW);
这样BT按钮出来后还是灰色的。
我做了个类继承了CDialogBar,并把按键消息获取,可是由于按键无效,所以也不可能产生任何消息。
...全文
130 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
udragon 2003-09-12
  • 打赏
  • 举报
回复
to:xenter(小菜) 我把按钮的消息映射到FrameWin中。
感谢 bcpl(林平之,感冒中..),问题解决了
bcpl 2003-09-12
  • 打赏
  • 举报
回复
在你的CDialogBar派生类h文件里类声明中加上
virtual void OnUpdateCmdUI (CFrameWnd* pTarget, BOOL bDisableIfNoHndler);

cpp文件里加上
void CYourDialogBar::OnUpdateCmdUI(CFrameWnd* pTarget, BOOL bDisableIfNoHndler)
{
UpdateDialogControls(pTarget, FALSE);
}
xenter 2003-09-12
  • 打赏
  • 举报
回复
你在CMainFrame里加了什么消息函数让它有效?
udragon 2003-09-12
  • 打赏
  • 举报
回复
为什么CDialogBar里的按钮默认是无效,只有当FrameWin有消息获取才是有效呢,这点很像菜单的按钮,有什么方法可以让按钮默认有效呢。
udragon 2003-09-12
  • 打赏
  • 举报
回复
我在CMainFrame里加入一个消息函数就可以有效了,但是我不想用这种方法来实现,因为这样写了一个无用的函数

15,979

社区成员

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

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