VC++中使程序自动运行 我用VC++,希望该程序能在其Main Frame Window出现在屏幕后自动运行,而无需 等待任何消息。所以想知道哪些函数在窗口出现后会被自动调用?首先,在 Windows中没有任何一个消息用来通知窗口初始化完毕,所以在VC中也没有相应的 函数,但您的问题可用下面的办法解决。 用VC++5.0编写应用程序,MFC AppWizard会自动生成程序的框架,其中CTestView 类的函数OnDraw()在窗口出现后自动调用。当然,此函数在窗口的大小发生改变( 如最大、最小化)以及窗口由被遮住(一部分)到重新显现时也会被调用。所以为 了使某些代码能够自动运行并且只运行一次,除了要将其代码写在OnDraw()函数 中外,还要在CTestView类中添加一个用于标记的BOOL型变量x(用户可以自己定 义变量名),在该类的构造函数中赋值为true。在OnDraw()函数里加上判断语句 :当x为true时执行要求首先运行的代码,然后将x置为false;当x为false时什么 也不做。这样就可以保证特定的代码在窗口出现时自动运行而且只执行一次。 具体的程序片段如下: (CTestView.h 文 件 中) class CTestView : public Cview { public: BOOL x; ...... // 其 他 的 语 句 } (CTestView.cpp 文 件 中) CTestView::CTestView() { // add construction code here x=TRUE; } void CTestView::OnDraw(CDC* pDC) { CTestDoc*pDoc=GetDocument(); ASSERT_VALID(pDoc); if(x==TRUE ){ x=FALSE; ......// 要 求 首 先 运 行 的 代 码 } }