国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

[ windows程序設計(programing windows) ] - 控制項之列表框擴展

2019-11-06 06:29:54
字體:
來源:轉載
供稿:網友

上一篇講了基本的列表框用法,我后來看了一下文章,感覺可能有些人看完文章都不知道怎么用,就像我剛開始一樣,是這樣的,我在這里再說一些多余的話,對于控件怎么用,注意windows是基于消息隊列的,所以一切都是基于消息的,所以比如說對列表框的初始化,如添加字串,設置默認顯示,這些就可以在父窗口的WM_CREATE消息中盡心,而像選擇什么的會引起識別碼(ID)的操作,必須在WM_COMMAND消息下處理,還有其他的一些內容則需要讀者自己判斷應該在什么位置進行。

然后進入本文的正文,上篇講了很多列表框的消息,本片我則會介紹一個功能強大的列表框消息,LB_DIR,DIR即是directory,如果用過kali linux或者windows command line(cmd)應該會知道dir是顯示當前目錄的文件夾和文件的命令,那么對于列表框來說,就是在列表框中列出當前問目錄下的文件夾和文件作為可選擇的項目。

先說創建,你可以在父窗口的WM_CREATE消息下用CreateWIndow函數來創建列表框,然后用SendMessage函數來告訴這個列表框你應該顯示目錄

#define DIRATTR (DDL_READWRITE | DDL_READONLY | DDL_HIDDEN | DDL_SYSTEM | DDL_DIRECTORY | DDL_ARCHIVE | DDL_DRIVES)
hwndList = CreateWindow(TEXT("listbox"), NULL, WS_CHILDWINDOW | WS_VISIBLE | LBS_STANDARD, cxChar, cyChar * 3, cxChar * 13 + GetSystemMetrics(SM_CXVSCROLL), cyChar * 10, hWnd, (HMENU)ID_LIST, (HINSTANCE)GetWindowLong(hWnd, GWL_HINSTANCE), NULL);SendMessage(hwndList, LB_DIR, DIRATTR, (LPARAM)TEXT("*.*"));上面的代碼是我從一本書上面的樣例代碼直接扒下來的= =!。然后來說一下SendMessage函數在這種情況下要怎么用,

第一個參數是列表框的窗口句柄,從CreateWindow函數返回;第二個參數是LB_DIR消息,第三個參數wParam指出要被加入到列表框的文件或者目錄的屬性,

DDL_ARCHIVE包含檔案文件
DDL_DIRECTORY包含子目錄,子目錄名稱在方括號 [ ] 中包含
DDL_DRIVES包含所有驅動器,也就是磁盤,磁盤以 [-X-] 這樣的形式被列出,如 [-C-] 表示c盤
DDL_EXCLUSIVE包含指定屬性的可執行文件,默認情況下,即使DDL_READWRITE沒有指定也會顯示read/write屬性的文件
DDL_HIDDEN包含隱藏文件
DDL_READONLY包含只讀文件
DDL_READWRITE包含只有讀寫屬性的文件,這是默認選項
DDL_SYSTEM包含系統文件
第四個參數lParam是一個null結尾的字符串,只有與此字串匹配的文件才會顯示,如TEXT("*.*"),它的意思是文件全名中間有個點的文件才會顯示,換句話說就是有后綴的文件會顯示,在這個字串中,?可以替換*,?只能表示一個字符,*可以表示多個字符,對于三個文件a.b,a.bb,aa.bb,如果用TEXT("*.*")則全部會顯示,如果用TEXT("?.?")則會只會顯示a.b,如果用TEXT("?.??")則會顯示a.bb。

除了以上介紹的,這個列表框還會顯示一個 [..] 選項,這個選項的意思是返回上一層。

以上便是本文的全部內容,歡迎指出不對的地方,歡迎評論,共同學習,共同進步。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 云龙县| 松江区| 油尖旺区| 祁阳县| 中卫市| 万宁市| 铜川市| 铜山县| 永州市| 榆中县| 青神县| 民和| 吴川市| 正安县| 化州市| 龙游县| 镇远县| 梓潼县| 惠州市| 平安县| 岢岚县| 霍州市| 若尔盖县| 双柏县| 太保市| 大埔县| 霍城县| 成武县| 双柏县| 汉阴县| 香港| 邵阳县| 华池县| 东丽区| 大竹县| 宁南县| 永修县| 黄山市| 岳池县| 和静县| 永春县|