WA_INACTIVE
WA_ACTIVE
重载对话框的WindowProc,
LRESULT CDLGDlg::WindowProc(UINT message, WPARAM wParam, LPARAM lParam)
{
// TODO: Add your specialized code here and/or call the base class
switch ( message )
{
case WA_INACTIVE:
//...
case WA_ACTIVE:
//...
}
return CDialog::WindowProc(message, wParam, lParam);
}
WA_ACTIVE
重载对话框的WindowProc,
LRESULT CDLGDlg::WindowProc(UINT message, WPARAM wParam, LPARAM lParam)
{
// TODO: Add your specialized code here and/or call the base class
switch ( message )
{
case WA_INACTIVE:
//...
case WA_ACTIVE:
//...
}
return CDialog::WindowProc(message, wParam, lParam);
}
解决方案 »
- log4cplus 能把日志输出到不同的日志文件吗?
- 请问这是函数的什么写法?以前没见过
- 如何保持视口为最大化?
- 【简单的问题】如何引发WM_CTLCOLOR消息
- HINTERNET hInternet;编译有错
- 如何实现完全模拟Windows资源管理器,用树形控件(CTreeCtrl)?100分
- 请教获取程序所在目录的方法!
- 监控程序--电子地图实现方法
- 请 aben456 (风轻扬) 来领分,十分感谢!(1)
- 看看用ADO获取图象的程序错在那里?
- 谁能告诉我,怎样才能让自己的程序自动把自己传给对方的服务器,并在一定事件的激发下被激活,象尼姆达那样
- RTP和directshow个是什末意思???看那些书可学到??谢谢!
只是程序刚启动的时候能接收到WA_ACTIVE消息
切换程序的时候还是没有消息呀?
用了SPy++也没有检测到WA_INACTIVE的消息,
再回回吧
要是存心研究的话...我忘了...记得有这么一个消息的.
而
WM_ACTIVATE只会发给被激活或失去激活的那个窗口所以:你使用WM_ACTIVATEAPP消息比较好,这样在你的Dialog失去焦点的时候也能知道被切换(比如,你的Dialog弹出一个MessageBox, 这个MessageBox的父窗口,也就是这个Dialog失去焦点,因为这时候切换程序,你的Dialog窗口是收不到WM_ACTIVATE消息的,但是还是能收到WM_ACTIVATEAPP消息),例子如下:afx_msg void OnActivateApp(BOOL bActive, HTASK hTask);
ON_WM_ACTIVATEAPP()
void CSwitchDialogDlg::OnActivateApp(BOOL bActive, HTASK hTask)
{
CDialog::OnActivateApp(bActive, hTask);
if( bActive ) // app being activated
{
}
else // app being deactivated
{
}
}