读书人

非模态对话框消息有关问题

发布时间: 2013-01-01 14:04:19 作者: rapoo

非模态对话框消息问题
放个图形象些
非模态对话框消息有关问题
这是一个非模态对话框,对象指针保存在mainframe里,我想在这上面响应鼠标移动、静态文本控件点击等事件,无奈没有成功。
第一次写非模态对话框,不知个中奥妙,望大神们写得详细一点非模态对话框消息有关问题
顺便说一下,创建这个窗口的时候它抢去了主窗口的焦点,怎样让它不获取焦点呢?又或者鼠标移到里面去才获取焦点?先谢谢了~
[解决办法]
while(GetMessage(&stMsg,NULL,0,0))
{
  if(!IsDialogMessage(hDlg,&stMsg))
  {
  TranslateMessage(&stMsg);
  DispatchMessage(&stMsg);
  }
}
[解决办法]
CStatic控件勾上Notify(或者设置SS_NOTIFY属性),然后再添加STN_CLICKED点击通知。
[解决办法]
创建的时候记住主窗口的句柄,创建完成后用你记住的句柄调用SetForegroundWindow,和SetActiveWindow函数可以时主窗口获得焦点,CStatic 获得单击消息楼上正解
[解决办法]

引用:
创建的时候记住主窗口的句柄,创建完成后用你记住的句柄调用SetForegroundWindow,和SetActiveWindow函数可以时主窗口获得焦点,CStatic 获得单击消息楼上正解

用这两个函数确实可以去焦点,但是当点击对话框窗体的时候就没法不让对话框获得焦点了,网上说重载killfocus之类的函数响应获取焦点或失去焦点,但是费墨台对话框没有消息循环又怎么响应呢?

读书人网 >VC/MFC

热点推荐