设为首页 加入收藏

TOP

对话方块(四十一)
2010-12-30 21:13:56 来源: 作者: 【 】 浏览:40888
Tags:对话 方块

DestroyWindow (hDlg) ;
hDlgModeless = NULL ;
break ;

注意这两个视窗代号之间的区别:DestroyWindow的hDlg参数是传递给对话方块程序的参数;hDlgModeless是从CreateDialog传回的整体变数,程式在讯息回圈内检验它。

您也可以允许使用者使用按键来关闭非模态对话方块,处理方式与处理WM_CLOSE讯息一样。对话方块必须传回给建立它的视窗之任何资料都可以储存在整体变数中。如果不喜欢使用整体变数,那么您也可以用CreateDialogParam来建立非模态对话方块,并按前面介绍的方法让它储存一个结构指标。

新的COLORS程式
 

第九章中所描述的COLORS1程式建立了九个子视窗,以便显示三个卷动列和六个文字项。那时候,这个程式还是我们所写过的程式中相当复杂的一个。如果将COLORS1转换为使用非模态对话方块则会使程式-特别是WndProc函式-变得令人难以置信的简单,修正後的COLORS2程式如程式11-4所示。

 程式11-4 COLORS2
COLORS2.C
/*----------------------------------------------------------------------------
COLORS2.C -- Version using Modeless Dialog Box
(c) Charles Petzold, 1998
----------------------------------------------------------------------------*/
#include <windows.h>
LRESULT CALLBACK WndProc (HWND, UINT, WPARAM, LPARAM) ;
BOOL CALLBACK ColorScrDlg (HWND, UINT, WPARAM, LPARAM) ;

HWND hDlgModeless ;
int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance,
PSTR szCmdLine, int iCmdShow)
{
static TCHAR szAppName[] = TEXT ("Colors2") ;
HWND hwnd ;
MSG
首页 上一页 38 39 40 41 42 43 44 下一页 尾页 41/82/82
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇剪贴簿 下一篇功能表及其他资源

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: