子视窗控制项(五十四)

2010-12-30 21:12:42 · 作者: · 浏览: 33059
STRING讯息来指定清单方块视窗讯息处理程式将每个字串放入清单方块中。

当您执行ENVIRON时,可以使用滑鼠或者键盘来选择环境变数。每次您改变选择时,清单方块都会给其父视窗WndProc发送一个WM_COMMAND讯息。当WndProc收到WM_COMMAND讯息时,它就检查wParam的低字组是否为ID_LIST(清单方块的子视窗ID)和wParam的高字组(通知码)是否等於LBN_SELCHANGE。如果是的,那么它就使用LB_GETCURSEL讯息来获得选中项目的索引,并使用LB_GETTEXT来获得外部环境变数名的字串本身。ENVIRON程式使用C语言函式GetEnvironmentVariable来获得与变数相对应的环境字串,使用SetWindowText将该字串传递到静态子视窗控制项中,这个静态子视窗控制项被用来显示文字。

档案列表
 

我将最好的留在最後:LB_DIR,这是功能最强的清单方块讯息。它用档案目录列表填入清单方块,并且可以选择将子目录和有效的磁碟机也包括进来:

使用档案属性码
 

iAttr参数是档案属性代码,其最低位元组是档案属性代码,该代码可以是表9-6资料的组合:

表9-6
iAttr属性
DDL_READWRITE 0x0000 普通档案 DDL_READONLY 0x0001 唯读档案 DDL_HIDDEN 0x0002 隐藏档案 DDL_SYSTEM 0x0004 系统档案 DDL_DIRECTORY 0x0010 子目录 DDL_ARCHIVE 0x0020 归档位元设立的档案

高位元组提供了一些对所要求项目的附加控制:

表9-7
iAttr属性
DDL_DRIVES 0x4000 包括磁碟机代号 DDL_EXCLUSIVE 0x8000 互斥搜索

字首DDL表示「对话目录列表」。

当LB_DIR讯息的iAttr值为DDL_READWRITE时,清单方块列出普通档案、唯读档案和归档位元设立的档案。当值为DDL_DIRECTORY