草庐IT

TranslateMessage

全部标签

c++ - win32 c++ 在没有子类化的编辑控件中检测到 'enter'?

基本上我想要一个Enter来触发一条消息,当编辑控件聚焦并且用户按下enter时我可以捕捉到。网上所有的解决方案似乎都是关于子类化的,但我想知道是否有另一种解决方法?例如,我的按钮有一个标识符ID_BUTTON_SEND。这是我的想象;caseWM_COMMAND:switch(LOWORD(wParam))caseID_BUTTON_SENDif('enterwaspressed')dothiselsedefault...你明白了:)我读过http://support.microsoft.com/kb/102589但坦率地说,选项1对我来说意义不大。干杯

windows - 究竟为什么是 TranslateMessage

我正在尝试理解“消息循环”。这是它的样子:MSGmsg={};while(GetMessage(&msg,NULL,0,0)){TranslateMessage(&msg);DispatchMessage(&msg);}到目前为止,我很清楚(至少我希望如此)这个概念。当用户使用键盘和鼠标与Windows应用程序交互时,这些事件被相应的设备驱动程序转换为适当的消息并发布到系统消息队列。操作系统从队列中一条一条地移除消息,并检查每条消息以将它们发送到负责创建目标窗口的相应应用程序线程的队列。现在在我的申请中MSGmsg;GetMessage(&msg,NULL,0,0);从线程特定消息队列