【再次急问】 关于工具栏的 ON_UPDATE_COMMAND_UI的命令响应

heartofdra 2007-01-30 03:59:49
【再次急问】 关于工具栏的 ON_UPDATE_COMMAND_UI的命令响应

是这样的,我现在做的是一个动态波形显示的程序,这几个按钮是播放,停止,加速,减速四个按键。动态波形显示是用计时器加内存DC实现的。加速,减速是在“波形显示时”通过修改相邻两帧波形图的位移长度来调节速度。我给这两个按钮做了On_COMMAND 和ON_UPDATE_COMMAND_UI的命令响应。

现在主要是加速,减速不能在最高、最低速度的时候diable。

是不是,有可能因为我的定时器一直在发送消息,导致ON_UPDATE_COMMAND_UI的消息接受不到?但是,定时器的消息应该是等级最低的啊,
...全文
169 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
heartofdra 2007-01-31
  • 打赏
  • 举报
回复
我现在总共只有20分,不能给兄弟们都加上了,望兄弟们海涵,等攒够了,一定给各位加上,见谅
heartofdra 2007-01-31
  • 打赏
  • 举报
回复
问题起由见我发的另外一个贴:【再次急问】 关于工具栏的 ON_UPDATE_COMMAND_UI的命令响应

现在问题解决,我觉得还是因为定时器不断的发消息,窗口进行处理,所以OnIdle中没有机会更新UI。

所以,曲线救国,再放大缩小的时候,先把定时器停止下来,Speed改变以后,再设置定时器。

谢谢各位热心帮助。
dazedase 2007-01-30
  • 打赏
  • 举报
回复
在加速,减速按钮过程的最后向MainFrame的成员
m_wndToolBar.SendMessage(0x0363, (WPARAM)TRUE);试试

刚才写的可能有问题,不过在我的工程里是能用的
heartofdra 2007-01-30
  • 打赏
  • 举报
回复

那先去掉时间器试试,看工具条是否可行。
~~~~~~~~~~~~~~~~~~~~~~~没有定时器,就没有动态显示了,而且,菜单是可行的,只是工具栏不行
syy64 2007-01-30
  • 打赏
  • 举报
回复
那先去掉时间器试试,看工具条是否可行。
dazedase 2007-01-30
  • 打赏
  • 举报
回复
你试试在加速,减速按钮过程里添加下面这句
SendMessage(WM_IDLEUPDATECMDUI, (WPARAM)TRUE);
vcPlayer 2007-01-30
  • 打赏
  • 举报
回复
pCmdUI->Enable(nSpeed < nMaxSpeed);
heartofdra 2007-01-30
  • 打赏
  • 举报
回复
其实菜单是可以的,但是工具栏不行。

15,976

社区成员

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

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