关于Duilib库界面按钮设置快捷键的问题

ccjqwer 2012-04-28 11:30:48
有一个对话框,类似QQ对话框,采用DirectUI界面做的 一个发送消息按钮,现想设置成ENTER 或CTRL+ENTER快捷键.使用RegisterHotKey是不能实现,因为需要窗口句柄,而这些按钮是逻辑窗口,没有句柄和控件ID,
顺便问问,这些按钮没有句柄是不是因为他们压根不是button控件,只是三张图,离开,选中,按下,三种状态,切换三张图,给人一种视觉的误差,而他们的响应函数这是根据鼠标在这矩形区域内来判断的吗?所以不具备窗口句柄.?
...全文
377 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
ccjqwer 2012-07-05
  • 打赏
  • 举报
回复
我就是用这方法.[Quote=引用 5 楼 的回复:]

在主窗口按普通窗口的方式注册消息,RegisterHotKey,然后用DirectUI的接口给特定控件发送特定消息,一般的DirectUI都有这个接口的
[/Quote]
b2b160 2012-06-26
  • 打赏
  • 举报
回复
在主窗口按普通窗口的方式注册消息,RegisterHotKey,然后用DirectUI的接口给特定控件发送特定消息,一般的DirectUI都有这个接口的
锅哥 2012-06-20
  • 打赏
  • 举报
回复
我也想知道有没有解决办法
saloyun 2012-05-03
  • 打赏
  • 举报
回复
重载你的编辑框的消息按键消息,过滤掉这个消息咯。

或者你在父窗体里面直接处理完ENTER消息后,就不送给系统(CDialog)处理了。
ccjqwer 2012-04-29
  • 打赏
  • 举报
回复
你是指在消息WM_KEYDOWN 里 判断是否==VK_RETRN,然后响应发送消息函数吗?但是这样,每当我写完一段文字,按ENTER或CTRL+ENTER发送消息后,编辑框会多了一行回车,就是先前的回车后触发了发送消息函数,但是在编辑框内那个回车字符还是当作一个换行处理了.
[Quote=引用 1 楼 的回复:]

你可以让主窗体接收这三个快捷键,然后要怎么处理就看你的咯。

DirectUI的按钮确实不是窗体,不过也要看实现的方法,如果用微软的那一套,还是有逻辑窗体的说法的,duilib本人不熟悉,但是应该跟金山一样,就是画图片而已。
[/Quote]
saloyun 2012-04-29
  • 打赏
  • 举报
回复
你可以让主窗体接收这三个快捷键,然后要怎么处理就看你的咯。

DirectUI的按钮确实不是窗体,不过也要看实现的方法,如果用微软的那一套,还是有逻辑窗体的说法的,duilib本人不熟悉,但是应该跟金山一样,就是画图片而已。

64,683

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

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