如何判断程序主窗口已经失去焦点了 我希望做成这样,当打开主程序以后如果用户在主程序里操作就直接可以操作,但是当用户点击其它任务时这个程序给个提示,告诉用户当前已经没有在用这个程序了,我应该怎么知道焦点是不是在我的程序上呢?系统发送了什么消息? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 WM_ACTIVATE在窗口失焦的时候会触发的,你处理这个就行了 afx_msg void OnIfActive();ON_MESSAGE(WM_ACTIVATE,OnIfActive)void C***View::OnIfActive(){ MessageBox( "aaa" ); return;}这样写是不是不对啊,因为收不到那个WM_ACTIVATE的消息 这个消息是这样使用的吧 ON_WM_ACTIVATE()不是ON_MESSAGE(WM_ACTIVATE,OnIfActive) OnActivate(UINT nState,CWND *pWndOther,BOOL bMinimized)函数原型函数里面你还应该调用 CDialog::OnActivate(,.....); afx_msg void OnActivate()ON_WM_ACTIVATE()void C***View::OnActivate(){}这样还是不行的 这样也不能获取消息,单步调试的时候就根本不进OnActivate函数 Onkillfocus. 但是只谈一次MsgBox. 不要老弹, 因为你每弹一次那个焦点就跑到msgbox上了. 这样就老killfocus. 还有人关注吗现在?我跟11楼一样,调试根本就不跳进,我看了下,可能这个方法用在CXXXView上不灵,只能用在CXXXDlg上高手帮忙解答下 visual studio 2010 真的很讨厌的一个地方 请问vc什么时候需要定义static变量呢? uxtheme.h及与它一起的库哪里下载? 關于字符串在程序與dll之間的傳遞問題 有个问题大家看看 怎样改变控件的颜色啊? 那位大侠有vc操作execel的例子? 求助!关于图像显示的问题 新手问题!怎样能使OnDraw()执行而VIEW不闪烁? 用CoMarshalInterThreadInterfaceInStream调度接口指针时,为何总是不成功,请各位高手指点迷金 vc对话框上显示的视频窗口大小如何控制? 程序无声无息的退出
{
MessageBox( "aaa" );
return;
}这样写是不是不对啊,因为收不到那个WM_ACTIVATE的消息
这个消息是这样使用的吧 ON_WM_ACTIVATE()不是ON_MESSAGE(WM_ACTIVATE,OnIfActive)
函数原型函数里面你还应该调用 CDialog::OnActivate(,.....);
{}这样还是不行的
这样也不能获取消息,单步调试的时候就根本不进OnActivate函数
我跟11楼一样,调试根本就不跳进,我看了下,可能这个方法用在CXXXView上不灵,只能用在CXXXDlg上
高手帮忙解答下