c++ - 你如何禁用 CBitmapButton?

标签 c++ visual-c++ button mfc

如何禁用 CBitmapButton?我尝试使用 m_bitmapbutton.EnableWindow(false);但它不起作用。它仍然会触发一个事件。

我想做的是,如果事件 B 正在执行(从按钮 B),则阻止按钮 A 触发事件 A。所以在事件 B 中,我想禁用按钮 A。

最佳答案

这是要检查的事项列表:

  • 您是否为位图按钮的禁用状态定义了图像?
  • 您确定事件已触发吗?
  • 事件 B 不在线程中,是吗?
  • 您是否在事件 B 开始时执行 m_bitmapbutton.EnableWindow(FALSE) 并在结束时执行 m_bitmapbutton.EnableWindow(TRUE)?
  • 你在做 BN_CLICKED Notification () 吗?或者它可能是一个不同的通知,例如 WM_LBUTTONDOWN Notification ()?
  • 您确定变量 m_bitmapbutton 与您的按钮 A 正确关联吗?你能试试 GetDlgItem(IDC_BUTTON_A)->EnableWindow(FALSE);

您总是可以只设置一个 bool 成员变量来指示按钮 A 已禁用,并在设置此 bool 成员时忽略发送给它的任何事件。

使用起来可能更方便this class from CodeProject .

关于c++ - 你如何禁用 CBitmapButton?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/639774/

相关文章:

ios - 按钮点击错误

c++ - 可以将核心文件恢复到正在运行的程序中吗?

c++ - 快速、模板化、C++ 八叉树实现

c++ - 从 header 构建 cpp 骨架的任何跨平台方式?

windows - 使用加载时动态链接指定 "back-up"加载路径?

c++ - 使用 wmemset() 的代码可移植性如何?

c++ - 如何修复由生成随机枚举值引起的堆栈损坏?

android - 包含 2 个以上按钮的对话框

c++ - 错误:C++#输入和输出调试

Python子进程杀死