请问WM_ACTIVATEAPP是什么消息?它的副消息又是什么

ponyon 2003-08-24 02:51:05
我初学DirectX,看到以下语句:

switch(message){

case WM_ACTIVATEAPP:

bActive = wparam;
break;
。。。
case WM_TIMER:
if(bActive){
if(lpddBack->GetDC(&hdc) == DD_OK){
SetBkColor(hdc, RGB(0,0,255));
SetTextColor(hdc, RGB(255,255,0));
if(phase){
TextOut(hdc,0,0,szMsgFront,lstrlen(szMsgFront));
phase = 0;
}else{
TextOut(hdc,0,0,szMsgBack,lstrlen(szMsgBack));
phase = 1;
}
lpddBack->ReleaseDC(hdc);
}
while(1){
HRESULT ddrval;
ddrval = lpddPrimary->Flip(NULL, DDFLIP_WAIT);
if(ddrval == DD_OK) break;
if(ddrval == DDERR_SURFACELOST){
ddrval = lpddPrimary->Restore();
if(ddrval != DD_OK) break;
}
if(ddrval != DDERR_WASSTILLDRAWING) break;
}
}
break;
bActive 和 phase都是一个参考变量。程序是将页面刷新,在InitDirectDraw时
已经初始化了主页面和后台页面,但我不清楚if(bActive){}一段的功能,能不帮我解释一下,谢谢了。
...全文
761 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
ponyon 2003-08-25
  • 打赏
  • 举报
回复
o,谢谢了
李_军 2003-08-24
  • 打赏
  • 举报
回复
wparam是TRUE,或者FALSE,表示得到或失去焦点
ponyon 2003-08-24
  • 打赏
  • 举报
回复
wparam 到底是什么数据?是不是指切换到其他程序就不会发生页面切换了
mintwlf 2003-08-24
  • 打赏
  • 举报
回复
若窗口被激活,然后获得设备据柄,绘制视图,最后循环等待,如果激活其它窗口,则保存该窗口位置,否则继续等待消息!

16,467

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

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