正在加载图片...
Visual c++ //窗口标题名 DWORD dwstyle //创建窗口的样式 int x,y, //窗口左上角坐标 int nwidth, nHeight, //窗口宽度和度高 HWND hwndparent //该窗口的父窗口句柄 HWENU hMenu, //窗口主菜单句柄 STANCe hInstance //创建窗口的应用程序当前句柄 LPVOID IpParam //指向一个传递给窗口的参数值的指针 注意区分 WNDCLASS中的 Istyle成员与 Create Window函数的 dwStyle参数,前者是指定窗口类的 样式,基于该窗口类创建的窗口都具有这些样式,后者是指定某个具体的窗口的样式。 4.显示及更新窗口 窗口创建之后,就可以调用函数 Show Window(来显示窗口,该函数的原型如下 BOOL Showwindow( HWND hwnd, int ncmdshow Show Window函数有两个参数,第一个参数hWnd就是在上一步骤中成功创建窗口后返回的那个 窗口句柄:第二个参数 nCmdShow指定了窗口显示的状态。 在调用 Show Window函数之后,紧接着调用 Update Window函数来刷新窗口。 Update Window( 函数的原型如下: 其参数hwnd指的是创建成功后的窗口的句柄。 Update Window(函数通过发送一个 WM PAINT消 息来刷新窗口, Update Window函数将 WM PAINT消息直接发送给窗口过程函数进行处理,而没有 放到消息队列里。到此,一个窗口就算创建完成了 2.2.3消息循环 在创建窗口、显示窗口和更新窗口后,就需要编写一个消息循环,不断地从消息队列中取出消息, 并进行响应。要从消息队列中取出消息,需要调用 GetMessage(函数,其原型如下: GetMessage //指向MsG结构的指针 //窗口句柄 nMsgFilteMin, //用于消息过滤的最小消息号值 nMsgEilterMax /用于消息过滤的最大消息号值 只要从消息队列中取出消息不为WM_QUIT, GetMessageo函数就返回一个非零值,否则程序就 结束循环并退出。 通常编写的消息循环代码如下: while (GetMessage (&Msg, NULL, 0,0)) TranslateMessage(&Msg) //将消息的虚拟键转换为字符信息 DispatchMessage(&Msg) //将消息传送到指定窗口函数 励志照亮人生编程改变命运LPCTSTR lpszTitle, //窗口标题名 DWORD dwStyle, //创建窗口的样式 int x,y, //窗口左上角坐标 int nWidth,nHeight, //窗口宽度和度高 HWND hwndParent, //该窗口的父窗口句柄 HWENU hMenu, //窗口主菜单句柄 HINSTANCE hInstance, //创建窗口的应用程序当前句柄 LPVOID lpParam, //指向一个传递给窗口的参数值的指针 ) 注意区分WNDCLASS中的style成员与CreateWindow()函数的dwStyle参数,前者是指定窗口类的 样式,基于该窗口类创建的窗口都具有这些样式,后者是指定某个具体的窗口的样式。 4. 显示及更新窗口 窗口创建之后,就可以调用函数ShowWindow()来显示窗口,该函数的原型如下: BOOL ShowWindow( HWND hWnd, int nCmdShow ); ShowWindow()函数有两个参数,第一个参数hWnd就是在上一步骤中成功创建窗口后返回的那个 窗口句柄;第二个参数nCmdShow指定了窗口显示的状态。 在调用ShowWindow()函数之后,紧接着调用UpdateWindow()函数来刷新窗口。UpdateWindow() 函数的原型如下: BOOL UpdateWindow( HWND hWnd); 其参数hWnd指的是创建成功后的窗口的句柄。UpdateWindow()函数通过发送一个WM_PAINT消 息来刷新窗口,UpdateWindow()函数将WM_PAINT消息直接发送给窗口过程函数进行处理,而没有 放到消息队列里。到此,一个窗口就算创建完成了。 2.2.3 消息循环 在创建窗口、显示窗口和更新窗口后,就需要编写一个消息循环,不断地从消息队列中取出消息, 并进行响应。要从消息队列中取出消息,需要调用GetMessage()函数,其原型如下: GetMessage (lpMSG, //指向MSG结构的指针 hwnd, //窗口句柄 nMsgFilteMin, //用于消息过滤的最小消息号值 nMsgFilterMax //用于消息过滤的最大消息号值 ) 只要从消息队列中取出消息不为WM_QUIT,GetMessage()函数就返回一个非零值,否则程序就 结束循环并退出。 通常编写的消息循环代码如下: MSG Msg; … while (GetMessage (&Msg,NULL,0,0)) { TranslateMessage(&Msg); //将消息的虚拟键转换为字符信息 DispatchMessage(&Msg); //将消息传送到指定窗口函数 } 34 励志照亮人生 编程改变命运 零基础学 Visual C++
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有