在一个窗口显示完成以后需要获得一个消息(类似VB的ACTIVATE)

Atan 2000-02-15 06:03:00
用途是在窗口显示后,在窗口中自动演示一段动画.
我试验过WM_ACTIVATE消息,发现该消息仍然在窗口显示前已经发出.
请问如何实现.谢谢!
...全文
304 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
Atan 2000-02-19
  • 打赏
  • 举报
回复
定时器中断后显示动画,显示完成后,kill定时器.
虽然没有用到大家提供的方法,仍然十分感谢!
yb 2000-02-16
  • 打赏
  • 举报
回复
solomon的解决方法是对的,有两种方法:
1.在类中定义成员变量:
class CYourDlg:public CDialog
{
CYourDlg() { m_bWndShown=FALSE; }
...
BOOL m_bWndShown;
BOOL IfWndShown() { return m_bWndShown; }
...
}

void CYourDlg::OnPaint()
{
if(!m_bWndShown) //Dialog第一次显示
{
...
m_bWndShown = TRUE;
}
...
}

2.在OnPaint中定义静态变量:
void CYourDlg::OnPaint()
{
static int bShown = 0;
if( !bShown ) //Dialog第一次显示
{
...
bShown++;
}
...
}

第一种方法可以给其它的窗口或类提供Dialog的状态,建议你用第一种方法。
solomon 2000-02-16
  • 打赏
  • 举报
回复
1. 设置变量 bShowed = FALSE;
2. 在WM_PAINT后
如果 bShowed == FALSE
{
用PostMessage发送一条自定义消息,
bShowed = TRUE;
}
tonyhan 2000-02-16
  • 打赏
  • 举报
回复
可以在WM_CREATE中添加显示动画的程序。
可以重新创建一无边框的窗口用于显示动画。
Sniper 2000-02-16
  • 打赏
  • 举报
回复
我试了一下,好象只能用wuxfBrave所提出的方法了。
wuxfBrave 2000-02-16
  • 打赏
  • 举报
回复
建议重载OnPaint(),用一个静态BOOL变量
radish 2000-02-15
  • 打赏
  • 举报
回复
截获WM_PAINT能不能行,做一个标志是否显示过动画。
Atan 2000-02-15
  • 打赏
  • 举报
回复
我的窗口是一个普通的对话框.风格popup.没有其他的了.
sintony 2000-02-15
  • 打赏
  • 举报
回复
在InitInstance()的最后不行吗?
在 m_pMainWnd->ShowWindow(SW_SHOW);
m_pMainWnd->UpdateWindow();
之后
Lin 2000-02-15
  • 打赏
  • 举报
回复
请试试WM_SHOWWINDOW?
WHQ 2000-02-15
  • 打赏
  • 举报
回复
OnCreate中窗口可能没有显示出来
Hover 2000-02-15
  • 打赏
  • 举报
回复
重载OnCreate函数(由它处理WM_CREATE消息),在这个函数中加入你的动画显示代码。
WHQ 2000-02-15
  • 打赏
  • 举报
回复
如果是主窗口,在调用ShowWindow之后;如果是子窗口,则在CWnd::Create之后
softdoctor 2000-02-15
  • 打赏
  • 举报
回复
WM_CREATE
1,create.ZIP 不用OCX来创建自己的控件(4KB)2,rganimate.ZIP 动画控件(35KB)3,rgassistant.ZIP 允许你创建一个Microsoft Office97那样的助手!(65KB)4,rgsysmoncal.ZIP 日期控件(35KB)5,datadrn.ZIP 创建数据驱动窗体(7KB)6,tooltip.zip 利用VB建立ToolTip窗口(4KB)7,trans.zip 建立透明的窗口(2KB)8,Anicur.zip 在窗口中建立动画光标(2KB)9,toolbar.zip 建立浮动工具栏的例程(22KB)10,winrgn.zip 建立不规则的窗口(2KB)11,winhole.zip 建立一个中间有洞的窗口(2KB) 12,split.zip 分割窗口并动态调整分割区域(类似于Windows中的资源管理器)(18KB)13,rubrect.zip 在屏幕上出现抓取窗口(8KB)14,hidebtn.zip 隐藏Win9X中任务栏上的“开始”按钮(2KB)15,console.zip 利用API函数建立控制台窗口(4KB)16,startinm.zip 将一个程序的窗口作为你的窗口的MDI子窗口(3KB)17,desktop.zip 一个可以动态排列桌面图标和动态改变屏幕分辨率的程序(29KB)18,rgdock.zip 建立类似Office工具栏的Docking Window(56KB)19,comboex.zip 一个非常cool的范例,可以在窗口中建立一个类似于Windows Explore的地址栏中的图标下拉ComboBox。其中还包含了其它的许多技巧(32KB)20,dyncontrol.zip 动态建立控件的范例(3KB)21,listitemdrag.zip 演示如何将列表框中的条目拖放到另外一个列表框中(2KB)22,ownerdrawmenu.zip 演示建立图形菜单,同一般的图形菜单不同,通过该程序建立的菜单当光标移动到菜单项上时,该项一样可以象Word97菜单项一样突出显示(11KB)23,traybar.zip 一个可以隐藏任务栏(Traybar)上的开始按钮、Switch Bar、快速启动按钮、任务栏图标、桌面图标的程序(3KB)24,windowsplacement.zip 更改Windows程序在Switch bar上的位置(3KB)25,tooltips.zip 利用Windows API实现的可显示多行文字的ToolTip(5KB)26,deskicon.zip 当你设置Windows的桌面墙纸之后,是否觉得桌面图标文字下的色块十分碍眼呢,这个程序可以使图标文字透明的显示在桌面上。还可以改变桌面图标文字的颜色以及图标文字下色快的颜色(2KB)27,animatedtitlebar.zip 这个程序可以使你的窗口的Title Bar动起来。很有趣的(26KB)28,resizr.zip 一个带源码以及演示的Resizer控件,就象Windows资源管理器的文件夹列表同文件列表之间的Resizer棒一样(7KB)29,taskbar.zip 一个带源码以及演示的TaskBar控件,可以让你的窗口象Windows的TaskBar一样(6KB)30,xeditor.zip 一个利用VB编写的功能比较完备的文本编辑器(172KB)31,custominputbox.zip 这个程序演示如何改变缺省的InputBox的外貌(10KB)32,controlpopmenu.zip 这个程序演示如何控制控件的缺省弹出菜单(例如TextBox),是完全控制而不只是隐藏和显示(3KB)33,coolmenu.zip 一个很Cool的菜单程序,可以把你的菜单改造成象Office系列的带图标的菜单(33KB)34,covereffect.zip 一个实现程

16,467

社区成员

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

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

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