生活随笔
收集整理的這篇文章主要介紹了
转:MiniGUI编程速查表
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
版權(quán)聲明:本文為博主原創(chuàng)文章,未經(jīng)博主允許不得轉(zhuǎn)載。如果轉(zhuǎn)載,請(qǐng)注明出處。 https://blog.csdn.net/anyuliuxing/article/details/80627447
前言
自己學(xué)習(xí)MiniGui也快一年了,粗淺的學(xué)習(xí)了一下,本文是根據(jù)《MINIGUI-PROG-GUIDE-V3.0-C》中的內(nèi)容整理而來(lái),根據(jù)自己的理解做了一些分類,大部分都是一些函數(shù)的說(shuō)明,方便自己以后學(xué)習(xí)MiniGui時(shí)查閱。現(xiàn)在分享出來(lái),供大家一起學(xué)習(xí)。當(dāng)然在學(xué)習(xí)的過(guò)程中也遇到過(guò)一些坑,像自定義控件,主窗口透明背景,窗口彈出動(dòng)畫(huà)啊,控件動(dòng)畫(huà)等等,有時(shí)間也會(huì)分享出來(lái)。
1 窗口的創(chuàng)建
1.1 創(chuàng)建函數(shù)
函數(shù)含義備注
| CreateMainWindowEx | 主窗口創(chuàng)建函數(shù) | 以Ex結(jié)尾的函數(shù)都是新增加的函數(shù) |
| CreateWindowEx | 控件的創(chuàng)建函數(shù) | 以Ex結(jié)尾的函數(shù)都是新增加的函數(shù) |
| DialogBoxIndirectParamEx | 模態(tài)對(duì)話框的創(chuàng)建函數(shù) | 以Ex結(jié)尾的函數(shù)都是新增加的函數(shù) |
| CreateMainWindowIndirectParamEx | 非模態(tài)對(duì)話框的創(chuàng)建函數(shù) | 以Ex結(jié)尾的函數(shù)都是新增加的函數(shù) |
| CreateMainWindow | 無(wú)擴(kuò)展主窗口創(chuàng)建函數(shù) | |
| CreateWindow | 無(wú)擴(kuò)展控件的創(chuàng)建函數(shù) | |
| DialogBoxIndirectParam | 無(wú)擴(kuò)展模態(tài)對(duì)話框的創(chuàng)建函數(shù) | |
| CreateMainWindowIndirectParam | 無(wú)擴(kuò)展非模態(tài)對(duì)話框的創(chuàng)建函數(shù) | |
| CreateWindowEx2 | 對(duì)CreateWindowEx的封裝 | |
1.2 主窗口創(chuàng)建屬性
屬性含義
| CreateInfo.dwStyle | 窗口風(fēng)格 |
| CreateInfo.spCaption | 窗口的標(biāo)題 |
| CreateInfo.dwExStyle | 窗口的附加風(fēng)格 |
| CreateInfo.hMenu | 附加在窗口上的菜單句柄 |
| CreateInfo.hCursor | 在窗口中所使用的鼠標(biāo)光標(biāo)句柄 |
| CreateInfo.hIcon | 程序的圖標(biāo) |
| CreateInfo.MainWindowProc | 該窗口的消息處理函數(shù)指針 |
| CreateInfo.lx | 窗口左上角相對(duì)屏幕的絕對(duì)橫坐標(biāo),以象素點(diǎn)表示 |
| CreateInfo.ty | 窗口左上角相對(duì)屏幕的絕對(duì)縱坐標(biāo),以象素點(diǎn)表示 |
| CreateInfo.rx | 窗口右下角相對(duì)屏幕的絕對(duì)橫坐標(biāo),以象素點(diǎn)表示 |
| CreateInfo.by | 窗口右下角相對(duì)屏幕的絕對(duì)縱坐標(biāo),以象素點(diǎn)表示 |
| CreateInfo.iBkColor | 窗口背景顏色 |
| CreateInfo.dwAddData | 附帶給窗口的一個(gè) 32 位值 |
| CreateInfo.hHosting | 窗口消息隊(duì)列的托管窗口 |
2 預(yù)定義的控件類
控件類類名稱宏定義
| 靜態(tài)框 | “static” | CTRL_STATIC |
| 按鈕 | “button” | CTRL_BUTTON |
| 列表框 | “l(fā)istbox” | CTRL_LISTBOX |
| 單行編輯框 | “sledit” | CTRL_SLEDIT |
| 多行編輯框 | “mledit” | CTRL_MLEDIT |
| 文本編輯框 | “textedit” | CTRL_TEXTEDIT |
| 單行雙向文本編輯框 | “bidisledit” | CTRL_BIDISLEDIT |
| 組合框 | “combobox” | CTRL_COMBOBOX |
| 菜單按鈕 | “menubutton” | CTRL_MENUBUTTON |
| 進(jìn)度條 | “progressbar” | CTRL_PROGRESSBAR |
| 滑塊 | “trackbar” | CTRL_TRACKBAR |
| 工具欄 | “newtoolbar” | CTRL_NEWTOOLBAR |
| 屬性表 | “propsheet” | CTRL_PROPSHEET |
| 滾動(dòng)窗口控件 | “ScrollWnd” | CTRL_SCROLLWND |
| 滾動(dòng)型控件 | “ScrollView” | CTRL_SCROLLVIEW |
| 樹(shù)型控件 | “treeview” | CTRL_TREEVIEW |
| 列表型控件 | “l(fā)istview” | CTRL_LISTVIEW |
| 月歷 | “MonthCalendar” | CTRL_MONTHCALENDAR |
| 旋鈕控件 | “SpinBox” | CTRL_SPINBOX |
| 酷工具欄 | “CoolBar” | CTRL_COOLBAR |
| 動(dòng)畫(huà)控件 | “Animation” | CTRL_ANIMATION |
| 網(wǎng)格控件 | “gridview” | CTRL_GRIDVIEW |
| 圖標(biāo)型控件 | “IconView” | CTRL_ICONVIEW |
| 滾動(dòng)條控件 | “ScrollBar” | CTRL_SCROLLBAR |
3 風(fēng)格
3.1 窗口通用風(fēng)格
風(fēng)格含義備注
| WS_NONE | 未指定任何風(fēng)格 | |
| WS_CHILD | 創(chuàng)建子窗口 | |
| WS_VISIBLE | 創(chuàng)建初始可見(jiàn)的窗口 | |
| WS_DISABLED | 創(chuàng)建初始被禁止的窗口 | |
| WS_CAPTION | 創(chuàng)建含標(biāo)題欄的主窗口 | 僅用于主窗口 |
| WS_SYSMENU | 創(chuàng)建含系統(tǒng)菜單的主窗口 | 僅用于主窗口 |
| WS_BORDER | 創(chuàng)建有邊框的窗口 | |
| WS_THICKFRAME | 創(chuàng)建具有厚邊框的窗口 | |
| WS_THINFRAME | 創(chuàng)建具有薄邊框的窗口 | |
| WS_VSCROLL | 創(chuàng)建帶垂直滾動(dòng)條的窗口 | |
| WS_HSCROLL | 創(chuàng)建帶水平滾動(dòng)條的窗口 | |
| WS_MINIMIZEBOX | 標(biāo)題欄上帶最小化按鈕 | 僅用于主窗口 |
| WS_MAXIMIZEBOX | 標(biāo)題欄上帶最大化按鈕 | 僅用于主窗口 |
| WS_EX_NONE | 無(wú)擴(kuò)展風(fēng)格 | |
| WS_EX_USEPRIVATECDC | 使用私有DC | 僅用于主窗口 |
| WS_EX_TOPMOST | 建立始終處于頂層的主窗口 | 僅用于主窗口 |
| WS_EX_TOOLWINDOW | 建立Tooltip主窗口 | 僅用于主窗口。Tooltip主窗口將不會(huì)擁有輸入焦點(diǎn),但仍接收鼠標(biāo)消息 |
| WS_EX_TRANSPARENT | 透明窗口風(fēng)格 僅用于控件 | |
| WS_EX_USEPARENTFONT | 使用父窗口字體作為默認(rèn)字體 | |
| WS_EX_USEPARENTCURSOR | 使用父窗口光標(biāo)作為默認(rèn)光標(biāo) | |
| WS_EX_NOCLOSEBOX | 主窗口標(biāo)題欄上不帶關(guān)閉按鈕 | |
| WS_EX_CTRLASMAINWIN | 建立可顯示在主窗口之外的控件 | 僅用于控件 |
| WS_EX_TROUNDCNS | 左上角和右上角是圓角的窗口 | |
| WS_EX_BROUNDCNS | 左下角和右下角是圓角的窗口 | |
| WS_EX_CLIPCHILDREN | 調(diào)用BegainPaint獲得DC并刷新窗口客戶區(qū)時(shí), 子窗口所占區(qū)域?qū)⒈患羟?也就是說(shuō),向窗口客戶區(qū)的輸出不會(huì)輸出到子窗口所在位置。 | 該風(fēng)格將導(dǎo)致額外的內(nèi)存占用并影響繪制效率。只有窗口的輸出和其子窗口的輸出發(fā)生重疊時(shí)才應(yīng)使用該風(fēng)格,一般的對(duì)話框窗口、屬性頁(yè)控件無(wú)需使用該風(fēng)格。 |
| WS_EX_LEFTSCROLLBAR | 創(chuàng)建垂直滾動(dòng)條在左側(cè)的窗口 | |
| WS_EX_AUTOSECONDARYDC | 雙緩沖窗口擴(kuò)展風(fēng)格 | 僅用于主窗口 |
3.2 控件風(fēng)格
3.2.1 僅用于對(duì)話框控件的風(fēng)格
風(fēng)格含義備注
| WS_GROUP | 具有該風(fēng)格的控件將成為同組控件的打頭控件 | 從該控件到下一個(gè)WS_GROUP風(fēng)格的控件之前的,或者下一個(gè)不同種類的控件之前的控件屬于同一組 |
| WS_TABSTOP | 具有TAB鍵停止功能 | 當(dāng)用戶在對(duì)話框中使用TAB鍵和Shift-TAB鍵切換輸入焦點(diǎn)時(shí),具有該風(fēng)格的控件可獲得焦點(diǎn) |
3.2.2 靜態(tài)框風(fēng)格
風(fēng)格含義備注
| SS_SIMPLE | 顯示單行文本 | 控件文本不會(huì)自動(dòng)換行顯示,并且文本永遠(yuǎn)是左對(duì)齊 |
| SS_LEFT | 左對(duì)齊 | 用來(lái)顯示多行文本 |
| SS_CENTER | 中對(duì)齊 | 用來(lái)顯示多行文本 |
| SS_RIGHT | 右對(duì)齊 | 用來(lái)顯示多行文本 |
| SS_LEFTNOWORDWRAP | 擴(kuò)展文本中的TAB符 | 但是不做自動(dòng)換行處理 |
| SS_BITMAP | 顯示一幅位圖 | |
| SS_ICON | 顯示一幅圖標(biāo) | |
| SS_CENTERIMAGE | 居中顯示 | 與SS_REALSIZEIMAGE一起使用,則取消縮放,居中顯示 |
| SS_REALSIZEIMAGE | 消縮放操作,并顯示在靜態(tài)框的左上方 | 默認(rèn)情況下,位圖和圖標(biāo)要經(jīng)過(guò)適當(dāng)?shù)目s放充滿整個(gè)靜態(tài)框 |
| SS_GROUPBOX | 分組框 | 是一個(gè)矩形框,分組框標(biāo)題在其頂部顯示,分組方塊常用來(lái)包含其他的控件 |
| SS_WHITERECT | 以白色填充靜態(tài)框矩形 | |
| SS_GRAYRECT | 以灰色填充靜態(tài)框矩形 | |
| SS_BLACKRECT | 以黑色填充靜態(tài)框矩形 | |
| SS_GRAYFRAME | 灰色邊框 | |
| SS_WHITEFRAME | 白色邊框 | |
| SS_BLACKFRAME | 黑色邊框 | |
| SS_NOTIFY | 接收靜態(tài)框消息 | |
3.2.3 按鈕風(fēng)格
風(fēng)格含義備注
| BS_PUSHBUTTON | 邊框要細(xì)一些 | |
| BS_DEFPUSHBUTTON | “DEF”代表“默認(rèn)”,邊框要粗一些 | 默認(rèn)接收ENTER鍵輸入的按鈕,而不管當(dāng)前的輸入焦點(diǎn)處于哪個(gè)控件上 |
| BS_MULTLINE | 指定顯示多行文本 | 通常情況下,按鈕文本會(huì)以單行的形式在垂直和水平方向居中顯示,不會(huì)自動(dòng)換行 |
| BS_LEFTTEXT | 文本置于復(fù)選框的左邊 | |
| BS_LEFT | 文本在左邊 | |
| BS_CENTER | 文本在中間 | |
| BS_RIGHT | 文本在右邊 | |
| BS_TOP | 文本在上邊 | |
| BS_BOTTOM | 文本在下邊 | |
| BS_VCENTER | 文本居中垂直 | |
| BS_BITMAP | 普通按鈕上顯示位圖 | |
| BS_ICON | 普通按鈕上顯示圖標(biāo) | |
| BS_REALSIZEIMAGE | 使位圖或圖標(biāo)顯示在控件中部,不作任何縮放 | 默認(rèn)情況下位圖或圖標(biāo)會(huì)縮放顯示以充滿整個(gè)按鈕窗口范圍 |
| BS_CHECKBOX | 復(fù)選框 | 應(yīng)用程序需要自己向該控件發(fā)送消息來(lái)設(shè)定選中標(biāo)記 |
| BS_AUTOCHECKBOX | 復(fù)選框 | 控件會(huì)自動(dòng)在選中和非選中狀態(tài)之間切換 |
| BS_3STATE | 復(fù)選框 | 功能同上,復(fù)選框內(nèi)是灰色的,這種狀態(tài)表明該復(fù)選框不能被選擇或者禁止使用 |
| BS_AUTO3STATE | 復(fù)選框 | 功能同上,復(fù)選框內(nèi)是灰色的,這種狀態(tài)表明該復(fù)選框不能被選擇或者禁止使用 |
| BS_PUSHLIKE | 使復(fù)選框以普通按鈕的形式顯示 | 選中時(shí)顯示為按下?tīng)顟B(tài),未選中時(shí)顯示為正常狀態(tài) |
| BS_RADIOBUTTON | 單選鈕 | 它的行為很像復(fù)選框,圓圈內(nèi)的加重圓點(diǎn)表示該單選按鈕已經(jīng)被選中 |
| BS_AUTORADIOBUTTON | 單選鈕 | 自動(dòng)顯示用戶的選擇情況 |
| BS_PUSHLIKE | 使單選按鈕以普通按鈕的形式顯示 | 選中時(shí)顯示為按下?tīng)顟B(tài),未選中時(shí)顯示為正常狀態(tài) |
| BS_NOTIFY | 接收按鈕消息 | |
3.2.4 列表風(fēng)格
風(fēng)格含義
| LBS_MULTIPLESEL | 多選列表框 |
| LBS_USEICON | 附帶位圖或者圖標(biāo) |
| LBS_CHECKBOX | 在列表項(xiàng)旁邊顯示一個(gè)檢查框 |
| LBS_AUTOCHECK | 自動(dòng)切換選中狀態(tài) |
| LBS_NOTIFY | 選中某個(gè)列表項(xiàng)時(shí)產(chǎn)生通知消息 |
| LBS_SORT | 列表排序 |
3.2.5 編輯框風(fēng)格
風(fēng)格含義
| ES_UPPERCASE | 可以使編輯框只顯示大寫字母 |
| ES_LOWERCASE | 可以使編輯框只顯示小寫字母 |
| ES_PASSWORD | 編輯框用來(lái)輸入密碼,但用星號(hào)(*)顯示輸入的字符 |
| ES_READONLY | 建立只讀編輯框,用戶不能修改編輯框中的內(nèi)容,但插入符仍然可見(jiàn) |
| ES_BASELINE | 在編輯框文本下顯示虛線 |
| ES_AUTOWRAP | 用于多行編輯框,當(dāng)文本超過(guò)控件邊界時(shí),將自動(dòng)換行 |
| ES_LEFT | 指定非多行編輯框的對(duì)齊風(fēng)格,實(shí)現(xiàn)文本的左對(duì)齊風(fēng)格 |
| ES_NOHIDESEL | 編輯框在失去焦點(diǎn)時(shí)保持被選擇文本的選中狀態(tài) |
| ES_AUTOSELECT | 編輯框在得到焦點(diǎn)時(shí)自動(dòng)選中所有的文本內(nèi)容(僅針對(duì)單行編輯框) |
| ES_TITLE | 在編輯框的第一行顯示指定的標(biāo)題,只適用于多行編輯框控件 |
| ES_TIP | 當(dāng)編輯框的內(nèi)容為空時(shí),在其中顯示相關(guān)的提示信息;只適用于SLEDIT控件 |
| ES_CENTER | 指定非多行編輯框的對(duì)齊風(fēng)格,實(shí)現(xiàn)文本的居中對(duì)齊風(fēng)格 |
| ES_RIGHT | 指定非多行編輯框的對(duì)齊風(fēng)格,實(shí)現(xiàn)文本的右對(duì)齊風(fēng)格 |
其中適用于多行編輯框的風(fēng)格有:ES_UPPERCASE, ES_LOWERCASE, ES_READONLY, ES_BASELINE, ES_AUTOWRAP, ES_NOHIDESEL,ES_TITLE
其中適用于單行編輯框的風(fēng)格有:ES_UPPERCASE, ES_LOWERCASE, ES_READONLY, ES_BASELINE, ES_LEFT, ES_CENTER, ES_RIGHT,ES_PASSWORD,ES_NOHIDESEL,ES_AUTOSELECT,ES_TIP
3.2.6 組合框風(fēng)格
風(fēng)格含義
| CBS_SIMPLE | 創(chuàng)建一個(gè)簡(jiǎn)單組合框 |
| CBS_DROPDOWNLIST | 創(chuàng)建下拉式組合框 |
| CBS_SPINLIST | 創(chuàng)建旋鈕組合框 |
| CBS_SPINARROW_TOPBOTTOM | 箭頭在內(nèi)容的上下 |
| CBS_SPINARROW_LEFTRIGHT | 箭頭在內(nèi)容的左右 |
| CBS_READONLY | 使組合框的輸入域成為只讀區(qū)域 |
| CBS_UPPERCASE | 使鍵入編輯框中的文本自動(dòng)變成大寫 |
| CBS_LOWERCASE | 使鍵入編輯框中的文本自動(dòng)變成小寫 |
| CBS_EDITBASELINE | 使編輯框帶有文本基線 |
| CBS_SORT | 使用該風(fēng)格的組合框?qū)⒆詣?dòng)對(duì)插入的條目進(jìn)行排序 |
| CBS_EDITNOBORDER | 使得輸入域不帶邊框 |
| CBS_AUTOFOCUS | 組合框在獲得輸入焦點(diǎn)之后,編輯框?qū)⒆詣?dòng)獲得輸入焦點(diǎn) |
| CBS_AUTOSPIN | 創(chuàng)建旋鈕數(shù)字框,默認(rèn)的最小值和最大值為0和100 |
| CBS_AUTOLOOP | 框中的數(shù)字將自動(dòng)循環(huán)顯示 |
3.2.7 菜單按鈕風(fēng)格
風(fēng)格含義
| MBS_SORT | 對(duì)菜單按鈕中的條目進(jìn)行排序顯示 |
| MBS_LEFTARROW | 箭頭顯示在菜單按鈕的左側(cè) |
| MBS_NOBUTTON | 不顯示按鈕 |
| MBS_ALIGNLEFT | 菜單按鈕上的文字向左對(duì)齊 |
| MBS_ALIGNRIGHT | 菜單按鈕上的文字向右對(duì)齊 |
| MBS_ALIGNCENTER | 菜單按鈕上的文字居中對(duì)齊 |
3.2.8 進(jìn)度條風(fēng)格
風(fēng)格含義
| PBS_NOTIFY | 使用該風(fēng)格的進(jìn)度條控件會(huì)產(chǎn)生通知消息 |
| PBS_VERTICAL | 豎直顯示進(jìn)度條 |
3.2.9 滑塊風(fēng)格
風(fēng)格含義
| TBS_NOTIFY | 滑塊產(chǎn)生通知消息 |
| TBS_VERTICAL | 創(chuàng)建豎直的滑塊,默認(rèn)情況下,滑塊是水平的 |
| TBS_TIP | 滑塊兩端顯示文字說(shuō)明,還將在控件的中部顯示當(dāng)前刻度值 |
| TBS_NOTICK | 不顯示刻度 |
| TBS_BORDER | 風(fēng)格可使滑塊帶有邊框,該風(fēng)格不常用 |
3.2.10 工具欄風(fēng)格
風(fēng)格含義
| NTBS_HORIZONTAL | 水平顯示工具欄,這是默認(rèn)風(fēng)格 |
| NTBS_VERTICAL | 垂直顯示工具欄 |
| NTBS_MULTLINE | 工具欄可多行顯示,當(dāng)工具項(xiàng)類型為NTBIF_NEWLINE時(shí),將另起一行顯示其后添加的工具項(xiàng) |
| NTBS_WITHTEXT | 將在按鈕下方或者按鈕右邊顯示文本,默認(rèn)顯示在按鈕位圖的下方。這時(shí),應(yīng)用程序必須在添加按鈕時(shí)指定按鈕對(duì)應(yīng)的文本。當(dāng)文字在圖標(biāo)下方顯示且按鈕處于被激活狀態(tài)時(shí),按鈕圖片將突出顯示 |
| NTBS_TEXTRIGHT | 配合NTBS_WITHTEXT風(fēng)格使用時(shí),該風(fēng)格指定將文本顯示在按鈕位圖的右邊。當(dāng)文字在圖標(biāo)右側(cè)且按鈕處于被激活狀態(tài)時(shí),按鈕圖片和文字都將突出顯示 |
| NTBS_DRAWSTATES | 不使用按鈕的高亮、按下以及灰化狀態(tài)的位圖單元,而改用三維風(fēng)格的邊框來(lái)表示這些狀態(tài) |
| NTBS_DRAWSEPARATOR | 繪制分隔條。默認(rèn)情況下,工具欄上用來(lái)分隔按鈕的分隔條是不會(huì)被繪制的,而只會(huì)加大兩個(gè)按鈕之間的間距。具有該風(fēng)格之后,將繪制窄的分隔條 |
3.2.11 屬性表風(fēng)格
風(fēng)格含義
| PSS_SIMPLE | 所有的屬性頁(yè)凸舌具有相同的寬度 |
| PSS_COMPACTTAB | 屬性頁(yè)凸舌的寬度取決于屬性頁(yè)標(biāo)題文本的長(zhǎng)度 |
| PSS_SCROLLABLE | 屬性頁(yè)凸舌的寬度取決于屬性頁(yè)標(biāo)題文本的長(zhǎng)度,當(dāng)屬性頁(yè)凸舌的數(shù)目過(guò)多時(shí),將自動(dòng)出現(xiàn)左右箭頭用來(lái)調(diào)節(jié)當(dāng)前可見(jiàn)的屬性頁(yè)凸舌 |
| PSS_BOTTOM | 屬性頁(yè)凸舌顯示在屬性表的下方,可以和上面三種風(fēng)格同時(shí)配合使用 |
3.2.12 滾動(dòng)型控件風(fēng)格
風(fēng)格含義
| SVS_AUTOSORT | 對(duì)列表項(xiàng)進(jìn)行自動(dòng)排序,前提是先使用SVM_SETITEMCMP消息 |
| SVM_SETITEMCMP | 設(shè)置滾動(dòng)型控件的列表項(xiàng)比較函數(shù) |
| SVM_SORTITEMS | 來(lái)對(duì)列表項(xiàng)進(jìn)行一次性的排序 |
3.2.13 樹(shù)型控件風(fēng)格
風(fēng)格含義
| TVS_WITHICON | 使用圖標(biāo)來(lái)顯示每項(xiàng)的折疊和展開(kāi)狀態(tài),相應(yīng)的圖標(biāo)可以在創(chuàng)建節(jié)點(diǎn)項(xiàng)時(shí)指定,沒(méi)有該風(fēng)格使用一個(gè)帶方框的“+”號(hào)來(lái)表示一個(gè)折疊的節(jié)點(diǎn)項(xiàng),用帶方框的“-”號(hào)來(lái)表示展開(kāi)的節(jié)點(diǎn)項(xiàng) |
| TVS_SORT | 對(duì)節(jié)點(diǎn)項(xiàng)進(jìn)行自動(dòng)排序 |
| TVS_NOTIFY | 將在響應(yīng)用戶操作時(shí)產(chǎn)生相應(yīng)的通知消息和通知碼 |
3.2.14 列表控件風(fēng)格
風(fēng)格含義
| LVS_TREEVIEW | 支持以樹(shù)型的方式來(lái)顯示列表項(xiàng) |
| LVS_UPNOTIFY | 指定列表型控件的在響應(yīng)用戶鼠標(biāo)點(diǎn)擊操作時(shí)的響應(yīng)方式,默認(rèn)情況下,如果沒(méi)有指定LVS_UPNOTIFY風(fēng)格,列表型控件將在鼠標(biāo)按下時(shí)發(fā)出通知消息;如果指定了該風(fēng)格,控件將在鼠標(biāo)抬起時(shí)發(fā)出通知消息 |
3.2.15 月歷控件風(fēng)格
風(fēng)格含義
| MCS_CHN | 控件以中文顯示日期信息 |
| MCS_ENG_L | 以英文顯示日期信息 |
| MCS_ENG_S | 以簡(jiǎn)寫的英文格式顯示 |
| MCS_NOTIFY | 將在響應(yīng)用戶操作時(shí)等情況下產(chǎn)生相應(yīng)的通知消息 |
3.2.16 旋鈕控件風(fēng)格
風(fēng)格含義
| SPS_AUTOSCROLL | 自動(dòng)判斷旋鈕控件目前的滾動(dòng)狀態(tài),在滾動(dòng)到最大值和最小值時(shí)分別把向上和向下箭頭禁止掉(變灰),沒(méi)有該風(fēng)格的旋鈕控件的滾動(dòng)狀態(tài)由應(yīng)用程序掌握 |
3.2.17 酷工具欄風(fēng)格
風(fēng)格含義
| CBS_BMP_16X16 | 酷工具欄的按鈕項(xiàng)分別顯示16x16的位圖 |
| CBS_BMP_32X32 | 酷工具欄的按鈕項(xiàng)分別顯示32x32的位圖 |
| CBS_BMP_CUSTOM | 酷工具欄的按鈕項(xiàng)使用自定義大小的位圖 |
| CBS_USEBKBMP | 酷工具欄有背景位圖 |
3.2.18 動(dòng)畫(huà)控件風(fēng)格
風(fēng)格含義
| ANS_AUTOLOOP | 使用該風(fēng)格之后,動(dòng)畫(huà)控件將自動(dòng)重復(fù)播放動(dòng)畫(huà) |
| ANS_SCALED | 根據(jù)控件大小縮放動(dòng)畫(huà)對(duì)象 |
| ANS_FITTOANI | 根據(jù)動(dòng)畫(huà)對(duì)象大小調(diào)整控件尺寸 |
3.2.19 獨(dú)立滾動(dòng)條風(fēng)格
風(fēng)格含義
| SBS_HORZ | 創(chuàng)建一個(gè)水平滾動(dòng)條。當(dāng)沒(méi)有指定SBS_BOTTOMALIGN或SBS_TOPALIGN,滾動(dòng)條的范圍根據(jù)CreateWindowEx2參數(shù)x,y,w,h決定 |
| SBS_VERT | 創(chuàng)建一個(gè)垂直滾動(dòng)條。當(dāng)沒(méi)有指定SBS_LEFTALIGN或SBS_RIGHTALIGN,滾動(dòng)條的范圍根據(jù)CreateWindowEx2參數(shù)x,y,w,h決定 |
| SBS_BOTTOMALIGN | 與SBS_HORZ一起使用。放置水平滾動(dòng)條在CreateWindowEx2指定范圍的底部 |
| SBS_TOPALIGN | 與SBS_HORZ一起使用。放置水平滾動(dòng)條在CreateWindowEx2指定范圍的頂部 |
| SBS_LEFTALIGN | 與SBS_VERT一起使用。放置垂直滾動(dòng)條在CreateWindowEx2指定范圍的左邊 |
| SBS_RIGHTALIGN | 與SBS_VERT一起使用,放置垂直滾動(dòng)條在CreateWindowEx2指定范圍的右邊 |
| SBS_NOARROWS | 沒(méi)有箭頭,不能與SBS_NOSHAFT一起使用 |
| SBS_NOSHAFT | 沒(méi)有shaft,不能與SBS_NOARROWS一起使用 |
| SBS_FIXEDBARLEN | 水平滾動(dòng)條的thumb長(zhǎng)度固定,或者垂直滾動(dòng)條的thumb長(zhǎng)度固定 |
| SBS_NOTNOTIFYPARENT | 向父窗口的通知發(fā)送方式不是發(fā)送通知碼,而是發(fā)送消息;默認(rèn)發(fā)送通知碼 |
4 通用窗口操作函數(shù)
函數(shù)含義備注
| UpdateWindow | 立即更新某個(gè)窗口 | |
| ShowWindow | 顯示或隱藏某個(gè)窗口 | |
| IsWindowVisible | 判斷某個(gè)窗口是否可見(jiàn) | 控件和主窗口均可用 |
| EnableWindow | 使能或禁止某個(gè)窗口 | |
| IsWindowEnabled | 判斷某個(gè)窗口是否可用 | |
| GetClientRect | 獲取窗口客戶區(qū)矩形 | |
| GetWindowRect | 獲取窗口矩形 | 屏幕坐標(biāo)系中的窗口尺寸 |
| GetWindowBkColor | 獲取窗口背景色 | |
| SetWindowBkColor | 設(shè)置窗口背景色 | |
| GetWindowFont | 獲取窗口默認(rèn)字體 | |
| SetWindowFont | 設(shè)置窗口默認(rèn)字體 | |
| GetWindowCursor | 獲取窗口光標(biāo) | |
| SetWindowCursor | 設(shè)置窗口光標(biāo) | |
| GetWindowStyle | 獲取窗口風(fēng)格 | |
| GetWindowExStyle | 獲取窗口擴(kuò)展風(fēng)格 | |
| GetFocusChild | 獲取擁有輸入焦點(diǎn)的子窗口 | |
| SetFocusChild | 設(shè)置焦點(diǎn)子窗口 | |
| GetWindowCallbackProc | 獲取窗口過(guò)程函數(shù) | |
| SetWindowCallbackProc | 設(shè)置窗口過(guò)程函數(shù) | |
| GetWindowAdditionalData | 獲取窗口附加數(shù)據(jù)一 | |
| SetWindowAdditionalData | 設(shè)置窗口附加數(shù)據(jù)一 | |
| GetWindowAdditionalData2 | 獲取窗口附加數(shù)據(jù)二 | 對(duì)話框和控件在內(nèi)部已使用附加數(shù)據(jù)二,保留附加數(shù)據(jù)一給應(yīng)用程序使用 |
| SetWindowAdditionalData2 | 設(shè)置窗口附加數(shù)據(jù)二 | |
| GetWindowCaption | 獲取窗口標(biāo)題 | 通常用于主窗口 |
| SetWindowCaption | 設(shè)置窗口標(biāo)題 | |
| InvalidateRect | 使窗口的給定矩形區(qū)域無(wú)效 | 將引發(fā)窗口重繪 |
| GetUpdateRect | 獲取窗口當(dāng)前的無(wú)效區(qū)域外包矩形 | |
| ClientToScreen | 將窗口客戶區(qū)坐標(biāo)轉(zhuǎn)換為屏幕坐標(biāo) | |
| ScreenToClient | 將屏幕坐標(biāo)轉(zhuǎn)換為客戶區(qū)坐標(biāo) | |
| WindowToScreen | 將窗口坐標(biāo)轉(zhuǎn)換為屏幕坐標(biāo) | |
| ScreenToWindow | 將屏幕坐標(biāo)轉(zhuǎn)換為窗口坐標(biāo) | |
| IsMainWindow | 判斷給定窗口是否為主窗口 | |
| IsControl | 判斷給定窗口是否為控件 | |
| IsDialog | 判斷給定窗口是否為對(duì)話框 | |
| GetParent | 獲取窗口的父窗口句柄 | 主窗口的父窗口永遠(yuǎn)為HWND_DESKTOP |
| GetMainWindowHandle | 返回包含某個(gè)窗口的主窗口句柄 | |
| GetNextChild | 獲取下一個(gè)子窗口 | 用于遍歷某個(gè)窗口的所有子窗口 |
| GetNextMainWindow | 獲取下一個(gè)主窗口句柄 | 用于遍歷所有主窗口 |
| GetHosting | 獲取某個(gè)主窗口的托管窗口 | |
| GetFirstHosted | 獲取某個(gè)主窗口的第一個(gè)被托管窗口 | 用于遍歷某個(gè)主窗口的所有被托管窗口 |
| GetNextHosted | 獲取下一個(gè)被托管窗口 | |
| GetActiveWindow | 獲取當(dāng)前活動(dòng)主窗口 | |
| SetActiveWindow | 設(shè)置當(dāng)前活動(dòng)主窗口 | |
| GetCapture | 獲取當(dāng)前捕獲鼠標(biāo)的窗口 | |
| SetCapture | 捕獲鼠標(biāo) | |
| ReleaseCapture | 釋放鼠標(biāo) | |
| MoveWindow | 移動(dòng)窗口或改變窗口大小 | |
| ScrollWindow | 滾動(dòng)窗口客戶區(qū)的內(nèi)容 | ScrollWindow函數(shù)可根據(jù)客戶區(qū)的滾動(dòng)情況自動(dòng)調(diào)整窗口內(nèi)子窗口的位置 |
| IncludeWindowStyle | 增加指定的窗口屬性 | |
| ExcludeWindowStyle | 去除指定的窗口屬性 | |
| GetNotificationCallback | 獲取控件的通知消息回調(diào)函數(shù) | 在MiniGUI 1.2.6 版本中出現(xiàn) |
| SetNotificationCallback | 設(shè)置控件的通知消息回調(diào)函數(shù) | |
| SetTimer | 創(chuàng)建定時(shí)器 | 指定的窗口會(huì)收到MSG_TIMER消息 |
| KillTimer | 刪除定時(shí)器 | |
| DestroyAllControls | 銷毀所有的子窗口 | |
5 對(duì)話框操作函數(shù)
函數(shù)含義備注
| GetDlgCtrlID | 根據(jù)控件句柄獲取控件標(biāo)識(shí)符 | |
| GetDlgItem | 根據(jù)控件標(biāo)識(shí)符獲取控件句柄 | |
| GetDlgItemInt | 獲取控件文本并轉(zhuǎn)換為整數(shù)值 | |
| SetDlgItemInt | 根據(jù)整數(shù)值設(shè)置控件文本 | |
| GetDlgItemText | 獲取子控件文本 | 功能同GetWindowText |
| GetDlgItemText2 | 獲取子控件文本 | 根據(jù)文本長(zhǎng)度自動(dòng)分配內(nèi)存,應(yīng)用程序負(fù)責(zé)釋放該內(nèi)存 |
| SetDlgItemText | 設(shè)置子控件文本 | 功能同SetWindowText |
| GetNextDlgGroupItem | 獲取下一個(gè)同組子控件 | 用于遍歷同組控件,參閱WS_GROUP風(fēng)格 |
| GetNextDlgTabItem | 獲取下一個(gè)“TAB鍵停止”子控件 | 用于TAB鍵游歷控件,參閱WS_TABSTOP風(fēng)格 |
| SendDlgItemMessage | 向子控件發(fā)送消息 | 功能同SendMessage |
| CheckDlgButton | 設(shè)置檢查框子控件的選中狀態(tài) | |
| CheckRadioButton | 設(shè)置單選按鈕子控件的選中狀態(tài) | |
| IsDlgButtonChecked | 檢查子按鈕是否選中 | |
| GetDlgDefPushButton | 獲取當(dāng)前默認(rèn)子按鈕 | |
6 控件操作函數(shù)
6.1 菜單操作函數(shù)
函數(shù)含義備注
| CreateMenu | 創(chuàng)建一個(gè)空的菜單 | |
| InsertMenuItem | 添加菜單項(xiàng) | |
| CreatePopupMenu | 創(chuàng)建彈出式菜單 | |
| TrackPopupMenu | 顯示彈出式菜單 | |
| StripPopupHead | 刪除彈出式菜單的頭部 | |
| GetMenuItemInfo | 獲得感興趣的菜單項(xiàng)屬性 | |
| SetMenuItemInfo | 設(shè)置感興趣的菜單項(xiàng)屬性 | |
| RemoveMenu | 從菜單中刪除指定的菜單項(xiàng) | 如果菜單項(xiàng)含有子菜單,則會(huì)解除子菜單和該菜單項(xiàng)的關(guān)聯(lián),但并不刪除子菜單 |
| DeleteMenu | 從菜單中刪除指定的菜單項(xiàng) | 如果菜單項(xiàng)含有子菜單,則同時(shí)會(huì)刪除子菜單 |
| DestroyMenu | 刪除整個(gè)菜單 | |
6.2 滾動(dòng)條操作函數(shù)
函數(shù)含義備注
| EnableScrollBar | 使能、禁止?jié)L動(dòng)條 | |
| SetScrollRange | 設(shè)置滾動(dòng)條的滾動(dòng)范圍 | |
| SetScrollInfo | 設(shè)置滾動(dòng)條的信息 | 如果在調(diào)用SetScrollRange后,調(diào)用了影響滾動(dòng)條位置的其他函數(shù),則應(yīng)該將bRedraw設(shè)定為FALSE以避免過(guò)多地重畫(huà) |
6.3 鍵盤/鼠標(biāo)操作函數(shù)
函數(shù)含義備注
| GetShiftKeyStatus | 獲取鍵狀態(tài)值 | |
| GetKeyStatus | 確定鍵盤上某個(gè)鍵的狀態(tài) | |
| GetFocusChild | 獲得某個(gè)窗口中具有輸入焦點(diǎn)的子窗口的句柄 | |
| SetFocusChild | 父窗口可以調(diào)用該函數(shù)來(lái)把輸入焦點(diǎn)賦予它的某個(gè)子窗口 | |
| SetCapture | 用該函數(shù)來(lái)使某個(gè)窗口捕獲鼠標(biāo) | 在某一時(shí)刻只能有一個(gè)窗口捕獲鼠標(biāo) |
| ReleaseCapture | 恢復(fù)正常的鼠標(biāo)處理方式 | |
| GetCapture | 確定當(dāng)前哪個(gè)窗口捕獲了鼠標(biāo) | |
6.4 圖標(biāo)/光標(biāo)操作函數(shù)
函數(shù)含義備注
| LoadIconFromFile | 從一個(gè)Windows圖標(biāo)文件(*.ico)中載入圖標(biāo),圖標(biāo)可以是單色、16色或256色的 | |
| LoadIconFromMem | 從內(nèi)存中裝載圖標(biāo) | |
| DrawIcon | 裝載完圖標(biāo)對(duì)象之后,就可以調(diào)用該函數(shù)在指定的位置繪制圖標(biāo) | |
| DestroyIcon | 銷毀圖標(biāo)句柄,并釋放它所占用的內(nèi)存 | |
| CreateIcon | 運(yùn)行時(shí)動(dòng)態(tài)創(chuàng)建圖標(biāo),同樣需要用DestroyIcon函數(shù)來(lái)銷毀 | |
| GetLargeSystemIcon | 來(lái)獲取內(nèi)存中的系統(tǒng)圖標(biāo)來(lái)使用 | 32x32像素的系統(tǒng)大圖標(biāo) |
| GetSmallSystemIcon | 來(lái)獲取內(nèi)存中的系統(tǒng)圖標(biāo)來(lái)使用 | 16x16像素的系統(tǒng)小圖標(biāo) |
| LoadSystemIcon | 直接從MiniGUI.cfg配置文件中定義的圖標(biāo)文件中載入所需的系統(tǒng)圖標(biāo) | 實(shí)際上是通過(guò)調(diào)用 LoadIconFromFile來(lái)載入圖標(biāo)的,不再需要的時(shí)候也必須使用DestroyIcon函數(shù)來(lái)銷毀 |
| LoadCursorFromFile | 從一個(gè)Windows光標(biāo)文件中載入光標(biāo) | |
| LoadCursorFromMem | 從內(nèi)存中讀入光標(biāo) | |
| CreateCursor | 動(dòng)態(tài)創(chuàng)建光標(biāo) | |
| DestroyCursor | 銷毀由LoadCursorFromFile函數(shù)和CreateCursor函數(shù)創(chuàng)建的光標(biāo),并釋放光標(biāo)對(duì)象所占用的內(nèi)存 | |
| GetCursorPos | 獲取光標(biāo)的當(dāng)前屏幕位置 | |
| SetCursorPos | 把光標(biāo)移動(dòng)到屏幕上的指定位置 | |
| GetCurrentCursor | 獲取當(dāng)前光標(biāo)句柄 | |
| SetCursorEx | 設(shè)置當(dāng)前光標(biāo) | |
| SetCursor | 設(shè)置當(dāng)前光標(biāo),不改變?nèi)笔」鈽?biāo) | |
| SetDefaultCursor | 把給定光標(biāo)設(shè)置為當(dāng)前光標(biāo)和缺省光標(biāo) | |
| GetWindowCursor | 獲取給定窗口的當(dāng)前光標(biāo) | |
| SetWindowCursor | 設(shè)置新的窗口光標(biāo) | |
| GetSystemCursor | 獲得的系統(tǒng)缺省光標(biāo) | GetSystemCursor(0)、GetSystemCursor(IDC_ARROW)是一樣的 |
| ShowCursor | 顯示或隱藏光標(biāo) | |
| ClipCursor | 把光標(biāo)限定在屏幕的某個(gè)矩形區(qū)域內(nèi) | 常用于響應(yīng)某一特定的限制矩形區(qū)域內(nèi)的事件 |
| GetClipCursor | 獲取當(dāng)前的光標(biāo)限定矩形 | 該函數(shù)可以用來(lái)在設(shè)置新的限定矩形之前保存原始限定矩形,需要時(shí)把它用于恢復(fù)原始區(qū)域 |
6.4.1光標(biāo)類型
類型含義值
| IDC_ARROW | 系統(tǒng)缺省的箭頭光標(biāo) | 0 |
| IDC_IBEAM | ‘I’形光標(biāo),指示輸入?yún)^(qū)域 | 1 |
| IDC_PENCIL | 筆形光標(biāo) | 2 |
| IDC_CROSS | 十字光標(biāo) | 3 |
| IDC_MOVE | 移動(dòng)光標(biāo) | 4 |
| IDC_SIZENWSE | 西北-東南方向的調(diào)整大小光標(biāo) | 5 |
| IDC_SIZENESW | 東北-西南方向的調(diào)整大小光標(biāo) | 6 |
| IDC_SIZEWE | 東西方向的調(diào)整大小光標(biāo) | 7 |
| IDC_SIZENS | 南北方向的調(diào)整大小光標(biāo) | 8 |
| IDC_UPARROW | 向上箭頭光標(biāo) | 9 |
| IDC_NONE | 空光標(biāo) | 10 |
| IDC_HELP | 帶問(wèn)號(hào)光標(biāo) | 11 |
| IDC_BUSY | 忙光標(biāo) | 12 |
| IDC_WAIT | 等待光標(biāo) | 13 |
| IDC_RARROW | 右箭頭光標(biāo) | 14 |
| IDC_COLOMN | 列光標(biāo) | 15 |
| IDC_ROW | 行光標(biāo) | 16 |
| IDC_DRAG | 拖動(dòng)光標(biāo),用于拖放操作 | 17 |
| IDC_NODROP | 不可放下光標(biāo),用于拖放操作 | 18 |
| IDC_HAND_POINT | 手形指點(diǎn)光標(biāo) | 19 |
| IDC_HAND_SELECT | 手形選擇光標(biāo) | 20 |
| IDC_SPLIT_HORZ | 水平分割光標(biāo) | 21 |
| IDC_SPLIT_VERT | 垂直分割光標(biāo) | 22 |
6.5 插入符操作函數(shù)
函數(shù)含義備注
| CreateCaret | 創(chuàng)建一個(gè)插入符,并把它賦給指定的窗口 | |
| DestroyCaret | 銷毀由創(chuàng)建的插入符 | |
| ShowCaret | 顯示插入符 | |
| HideCaret | 把插入符隱藏掉 | |
| GetCaretPos | 獲取插入符的所在位置 | |
| SetCaretPos | 在一個(gè)窗口之內(nèi)移動(dòng)插入符 | |
| GetCaretBlinkTime | 獲取插入符的反轉(zhuǎn)時(shí)間 | 該時(shí)間以毫秒計(jì)數(shù),系統(tǒng)缺省的插入符反轉(zhuǎn)時(shí)間為500毫秒 |
| SetCaretBlinkTime | 定義插入符的反轉(zhuǎn)時(shí)間 | 插入符反轉(zhuǎn)時(shí)間最小不能小于100毫秒 |
6.6 剪貼板操作函數(shù)
函數(shù)含義備注
| CreateClipBoard | 創(chuàng)建自定義的剪貼板,包括系統(tǒng)的最多有NR_CLIPBOARDS(4)個(gè) | MiniGUI提供了一個(gè)默認(rèn)的文本剪貼板,名字為CBNAME_TEXT |
| DestroyClipBoard | 銷毀自定義的剪貼板 | |
| SetClipBoardData | 把數(shù)據(jù)傳送到指定的剪貼板 | |
| GetClipBoardDataLen | 獲取剪貼板上數(shù)據(jù)的大小 | |
| GetClipBoardData | 把剪貼板上的數(shù)據(jù)復(fù)制到指定的數(shù)據(jù)緩沖區(qū)中 | |
| GetClipBoardByte | 從剪貼板數(shù)據(jù)的指定位置獲取一個(gè)字節(jié) | |
6.7 配置文件操作函數(shù)
函數(shù)含義備注
| GetValueFromEtcFile | 從指定的配置文件當(dāng)中獲取指定的鍵值,鍵值以字符串形式返回 | |
| GetIntValueFromEtcFile | 從指定的配置文件當(dāng)中獲取指定的整數(shù)型鍵值 | |
| SetValueToEtcFile | 將給定的鍵值保存到指定的配置文件當(dāng)中 | 如果配置文件不存在,則將新建配置文件 |
| LoadEtcFile | 把指定的配置文件讀入內(nèi)存,返回一個(gè)配置對(duì)象句柄 | |
| UnloadEtcFile | 釋放內(nèi)存中的配置文件信息 | |
| GetValueFromEtc | 使用方法和第一個(gè)函數(shù)類似 | 注意第一個(gè)參數(shù)是句柄 |
| GetIntValueFromEtc | 使用方法和第二個(gè)函數(shù)類似 | 注意第一個(gè)參數(shù)是句柄 |
| SetValueToEtc | 使用方法和第三個(gè)函數(shù)類似 | 只改變內(nèi)存中的配置值 |
| RemoveSectionInEtc | 從內(nèi)存中的配置文件信息中刪除指定的段信息 | |
| RemoveSectionInEtcFile | 從指定的配置文件當(dāng)中刪除指定的段信息 | |
| GetValueFromEtcSec | 從內(nèi)存中的配置文件信息的指定段中獲取指定的鍵值 | |
| GetIntValueFromEtcSec | 從內(nèi)存中的配置文件信息的指定段中獲取指定的整數(shù)型鍵值 | |
| SetValueToEtcSec | 保存鍵值到內(nèi)存中的配置文件信息的指定段中 | |
| SaveEtcToFile | 將內(nèi)存中的配置文件信息保存到指定的文件中 | |
| FindSectionInEtc | 在內(nèi)存中的配置文件信息中查找指定的字段 | 如果沒(méi)有指定的字段存在,當(dāng)參量bCreateNew為TRUE時(shí)將新建一空字段 |
6.8 編輯框操作函數(shù)
函數(shù)含義
| GetWindowTextLength | 獲取文本的長(zhǎng)度,以字節(jié)為單位 |
| GetWindowText | 獲取編輯框中的文本 |
| SetWindowText | 設(shè)置編輯框中的文本內(nèi)容 |
7 消息的種類
7.1 窗口消息
消息含義
| MSG_NCCREATE | 消息在MiniGUI建立主窗口的過(guò)程中發(fā)送到窗口過(guò)程 |
| MSG_SIZECHANGING | 消息窗口尺寸發(fā)生變化時(shí),或者建立窗口時(shí)發(fā)送到窗口過(guò)程 |
| MSG_SIZECHANGED | 消息在窗口尺寸發(fā)生變化后發(fā)送到窗口過(guò)程 |
| MSG_CSIZECHANGED | 消息是窗口客戶區(qū)的尺寸發(fā)生變化后發(fā)送到窗口過(guò)程 |
| MSG_CREATE | 消息在窗口成功創(chuàng)建并添加到MiniGUI的窗口管理器之后發(fā)送到窗口過(guò)程 |
| MSG_FONTCHANGING | 當(dāng)應(yīng)用程序調(diào)用SetWindowFont改變窗口的默認(rèn)字體時(shí),將發(fā)送該消息到窗口過(guò)程 |
| MSG_FONTCHANGED | 當(dāng)應(yīng)用程序調(diào)用SetWindowFont改變了窗口的默認(rèn)字體后,將發(fā)送該消息到窗口過(guò)程 |
| MSG_ERASEBKGND | 當(dāng)系統(tǒng)需要清除窗口背景時(shí),將發(fā)送該消息到窗口過(guò)程 |
| MSG_PAINT | 該消息在需要進(jìn)行窗口重繪時(shí)發(fā)送到窗口過(guò)程 |
| MSG_CLOSE | 當(dāng)用戶點(diǎn)擊窗口上的“關(guān)閉”按鈕時(shí), MiniGUI向窗口過(guò)程發(fā) 送MSG_CLOSE消息 |
| MSG_DESTROY | 消息在應(yīng)用程序調(diào)DestroyMainWindow或者DestroyWindow時(shí)發(fā)送到窗口過(guò)程當(dāng)中 |
| MSG_INITDIALOG | 消息是在MiniGUI根據(jù)對(duì)話框模板建立對(duì)話框以及控件之后,發(fā)送到對(duì)話框回調(diào)函數(shù)的 |
| MSG_COMMAND | 控件內(nèi)部發(fā)生某種事件時(shí),會(huì)通過(guò)通知消息通知其父窗口 |
| MSG_ACTIVEMENU | 在用戶激活菜單欄中的某個(gè)彈出式菜單后, MiniGUI將給菜單欄所在的窗口過(guò)程發(fā)送MSG_ACTIVEMENU消息 |
| MSG_TIMER | 創(chuàng)建定時(shí)器后觸發(fā)的消息 |
一般來(lái)說(shuō),在以下情況下,MiniGUI程序的窗口過(guò)程會(huì)接收到一個(gè)MSG_PAINT 消息
用戶移動(dòng)窗口或顯示窗口時(shí),MiniGUI向先前被隱藏的窗口發(fā)送 MSG_PAINT 消息
程序使用InvalidateRect函數(shù)來(lái)更新窗口的無(wú)效區(qū)域,這將產(chǎn)生一個(gè) MSG_PAINT 消息
程序調(diào)用UpdateWindow函數(shù)來(lái)重繪窗口
覆蓋程序窗口的對(duì)話框或消息框被消除
下拉或彈出菜單被消除
7.2 鍵鼠消息
消息含義
| MSG_KEYDOWN | 一個(gè)鍵被按下,如果用戶按住某個(gè)鍵不放手,系統(tǒng)將會(huì)產(chǎn)生一系列按下的消息 |
| MGS_SYSKEYDOWN | 一個(gè)鍵被按下,如果用戶按住某個(gè)鍵不放手,系統(tǒng)將會(huì)產(chǎn)生一系列按下的消息 |
| MSG_KEYUP | 釋放一個(gè)鍵 |
| MGS_SYSKEYUP | 釋放一個(gè)鍵 |
| MSG_CHAR | 字符鍵的字符消息 |
| MSG_KILLFOCUS | 系統(tǒng)向?qū)⒁ソ裹c(diǎn)的窗口發(fā)送該消息 |
| MSG_SETFOCUS | 發(fā)送給將要得到焦點(diǎn)的窗口 |
| MSG_LBUTTONDOWN | 鼠標(biāo)左按鈕被按下,MSG_NCLBUTTONDOWN |
| MSG_LBUTTONUP | 鼠標(biāo)左按鈕被釋放,MSG_NCLBUTTONUP |
| MSG_RBUTTONDOWN | 鼠標(biāo)右按鈕被按下,MSG_NCRBUTTONDOWN |
| MSG_RBUTTONUP | 鼠標(biāo)右按鈕被釋放,MSG_NCRBUTTONUP |
| MSG_LBUTTONDBLCLK | 鼠標(biāo)左按鈕被雙擊,MSG_NCLBUTTONDBLCLK |
| MSG_RBUTTONDBLCLK | 鼠標(biāo)右按鈕被雙擊,MSG_NCRBUTTONDBLCLK |
| MSG_HITTEST | 如果發(fā)生鼠標(biāo)事件,系統(tǒng)會(huì)向含有光標(biāo)熱點(diǎn)的窗口或捕捉鼠標(biāo)的窗口發(fā)送該消息,MSG_NCHITTEST |
| MSG_MOUSEMOVE | 確定光標(biāo)的當(dāng)前位置 |
| MSG_SETCURSOR | 當(dāng)用戶移動(dòng)鼠標(biāo)時(shí),MiniGUI 將把MSG_SETCURSOR消息發(fā)送給光標(biāo)下面的窗口,光標(biāo)應(yīng)用程序可以在處理MSG_SETCURSOR消息時(shí)改變當(dāng)前的光標(biāo) |
7.3 控件消息
7.3.1 滾動(dòng)條消息
消息含義
| MSG_VSCROLL | 垂直滾動(dòng)條上下移動(dòng)的消息 |
| MSG_HSCROLL | 水平滾動(dòng)條左右移動(dòng)的消息 |
7.3.2 靜態(tài)框消息
消息含義
| STM_GETIMAGE | 返回位圖的指針或者圖標(biāo)句柄 |
| STM_SETIMAGE | 通過(guò)wParam參數(shù)重新設(shè)置位圖指針或者圖標(biāo)句柄,并且返回原來(lái)的指針 |
7.3.3 按鈕消息
消息含義
| BM_GETCHECK | 查詢復(fù)選框或者單選鈕的選中狀態(tài) |
| BM_SETCHECK | 設(shè)置復(fù)選框或者單選鈕的選中狀態(tài) |
| BM_GETSTATE | 查詢普通按鈕或者復(fù)選框的按下或釋放狀態(tài) |
| BM_SETSTATE | 設(shè)置普通按鈕或者復(fù)選框的按下或釋放狀態(tài) |
| BM_GETIMAGE | 獲取位圖按鈕上的位圖或者圖標(biāo) |
| BM_SETIMAGE | 設(shè)置位圖按鈕上的位圖或者圖標(biāo) |
| BM_CLICK | 發(fā)送BM_CLICK模擬用戶鼠標(biāo)的單擊操作 |
7.3.4 列表消息
消息含義
| LB_ERRSPACE | 當(dāng)列表框控件所能存儲(chǔ)的內(nèi)容超過(guò)了可用內(nèi)存空間時(shí)返回該消息 |
| LB_ERR | 因?yàn)槠渌蚨鲥e(cuò)返回該消息 |
| LB_OKAY | 操作成功返回該消息 |
| LB_ADDSTRING | 將新的字符串追加為列表框的最后一項(xiàng) |
| LB_INSERTSTRING | 將字符串插入到列表框中的指定位置 |
| LB_DELETESTRING | 從列表框中刪除指定的條目 |
| LB_RESETCONTENT | 清空列表框中的所有內(nèi)容 |
| LB_GETCOUNT | 可獲得列表框中的條目個(gè)數(shù) |
| LB_GETTEXTLEN | 獲得列表框中指定條目的字符串長(zhǎng)度 |
| LB_GETTEXT | 將該條目復(fù)制到文字緩沖區(qū)中 |
| LB_SETTEXT | 設(shè)置列表框條目的字符串 |
| LB_GETITEMDATA | 獲得列表框條目的其他信息,如位圖對(duì)象或圖標(biāo)句柄、檢查框狀態(tài) |
| LB_SETITEMDATA | 設(shè)置列表框條目的其他信息,如位圖對(duì)象或圖標(biāo)句柄、檢查框狀態(tài) |
| LB_SETCURSEL | 控制當(dāng)前的選中項(xiàng),對(duì)于多項(xiàng)選擇列表框,只能用來(lái)設(shè)置當(dāng)前高亮項(xiàng) |
| LB_GETCURSEL | 獲得當(dāng)前選定的索引項(xiàng),對(duì)于多項(xiàng)選擇列表框,只能用來(lái)獲取當(dāng)前高亮項(xiàng),無(wú)法獲得所有具有選中狀態(tài)的條目 |
| LB_SETSEL | 設(shè)定某特定條目的選擇狀態(tài),而不影響其他項(xiàng) |
| LB_GETSEL | 獲取某特定條目的選擇狀態(tài) |
| LB_GETSELCOUNT | 獲得多選列表框中當(dāng)前被選中的條目個(gè)數(shù) |
| LB_GETSELITEMS | 獲得所有被選中條目的索引值 |
| LB_FINDSTRING | 查找含有字符串的條目,返回模糊匹配字符串string的條目索引值 |
| LB_FINDSTRINGEXACT | 將進(jìn)行嚴(yán)格精確匹配查找 |
| LB_GETCHECKMARK | 設(shè)置某條目的檢查框的當(dāng)前狀態(tài),如果沒(méi)有找到相應(yīng)條目,則返回LB_ERR,CMFLAG_CHECKED處于選擇狀態(tài),CMFLAG_PARTCHECKED處于部分選擇狀態(tài),CMFLAG_BLANK處于未選擇狀態(tài) |
| LB_SETCHECKMARK | 指定索引處條目的檢查框的狀態(tài)為status中指定的值 |
| LB_SETITEMBOLD | 指定索引處條目的檢查框的狀態(tài)為加粗顯示狀態(tài),根據(jù)lParam的值判斷是否進(jìn)行加粗設(shè)置,如果為1則加粗顯示,為0則正常顯示 |
| LB_GETITEMDISABLE | 獲取指定索引處條目的檢查框是否處于禁止選中狀態(tài),返回1表示該條目的檢查框處于禁止選中狀態(tài),0表示該條目的檢查框處于可選擇狀態(tài) |
| LB_SETITEMDISABLE | 設(shè)置指定索引處條目的檢查框的狀態(tài)為禁止選中狀態(tài),根據(jù)lParam的值設(shè)置,為1則設(shè)置為禁止選中狀態(tài),為0則為可選擇狀態(tài) |
| LB_MULTIADDITEM | 用于向列表框一次添加多個(gè)條目 |
| LB_SETSTRCMPFUNC | 重載默認(rèn)的排序方式 |
| LB_SETITEMADDDATA | 設(shè)置附加的32位數(shù)據(jù) |
| LB_GETITEMADDDATA | 獲取附加的32位數(shù)據(jù) |
| LB_SETITEMHEIGHT | 設(shè)定條目所占的高度 |
| LB_GETITEMHEIGHT | 返回條目所占的高度 |
7.3.5 編輯框消息
消息含義
| MSG_GETTEXTLENGTH | 獲取文本的長(zhǎng)度,以字節(jié)為單位 |
| MSG_GETTEXT | 獲取編輯框中的文本 |
| MSG_SETTEXT | 設(shè)置編輯框中的文本內(nèi)容 |
| EM_GETCARETPOS | 獲得當(dāng)前的插入符位置 |
| EM_SETCARETPOS | 設(shè)置插入符的位置 |
| EM_GETSEL | 獲取當(dāng)前被選中的文本 |
| EM_SETSEL | 設(shè)置當(dāng)前被選中的文本 |
| EM_GETSELPOS | 獲取當(dāng)前的選擇點(diǎn)位置 |
| EM_GETSELPOS | 用法和EM_GETCARETPOS消息類似 |
| EM_SELECTALL | 使編輯框所有的文本都被選中 |
| EM_COPYTOCB | 把編輯框控件當(dāng)前選中的文本復(fù)制到剪貼板 |
| EM_CUTTOCB | 把剪貼板的文本內(nèi)容剪切到編輯框 |
| EM_INSERTCBTEXT | 把剪貼板的文本內(nèi)容復(fù)制到編輯框 |
| EM_GETLINEHEIGHT | 獲取行的高度 |
| EM_SETLINEHEIGHT | 設(shè)置行的高度 |
| EM_GETLINECOUNT | 獲取行的數(shù)量 |
| EM_LIMITTEXT | 設(shè)置編輯框控件的文本上限,以字節(jié)為單位 |
| EM_SETREADONLY | 在wParam參數(shù)傳遞TRUE,將使編輯框置于只讀狀態(tài),而wParam參數(shù)傳遞FALSE,將使編輯框置于正常編輯狀態(tài) |
| EM_SETPASSWORDCHAR | 修改密碼字符 |
| EM_GETPASSWORDCHAR | 獲得當(dāng)前的密碼字符 |
| EM_SETTIPTEXT | 設(shè)置編輯框的提示文字 |
| EM_GETTIPTEXT | 獲取編輯框的提示文字 |
| EM_SETTITLETEXT | 設(shè)置編輯框的標(biāo)題文字 |
| EM_GETTITLETEXT | 獲取編輯框的標(biāo)題文字 |
| EM_SETLFDISPCHAR | 設(shè)置了用于行結(jié)束符的顯示符號(hào),編輯框?qū)研薪Y(jié)束符顯示為所設(shè)的顯示符號(hào) |
| EM_SETLINESEP | 改變編輯框使用的換行符號(hào) |
| EM_GETNUMOFPARAGRAPHS | 獲取文本的段落數(shù)目 |
| EM_GETPARAGRAPHLENGTH | 獲取某個(gè)特定段落的長(zhǎng)度,獲取成功返回指定段落的長(zhǎng)度,失敗返回-1 |
| EM_GETPARAGRAPHTEXT | 獲取特定段落的文本 |
7.3.6 組合框消息
消息含義
| CB_ADDSTRING | 用來(lái)向內(nèi)部列表框中添加條目 |
| CB_INSERTSTRING | 用來(lái)向內(nèi)部列表框中插入條目 |
| CB_DELETESTRING | 用來(lái)從內(nèi)部列表框中刪除條目 |
| CB_FINDSTRING | 用于模糊匹配列表框中的條目 |
| CB_FINDSTRINGEXACT | 用于精確匹配列表框中的條目 |
| CB_GETCOUNT | 用于獲取內(nèi)部列表框中的條目個(gè)數(shù) |
| CB_GETCURSEL | 用于獲取內(nèi)部列表框的當(dāng)前選中項(xiàng) |
| CB_SETCURSEL | 用于設(shè)置內(nèi)部列表框的選中項(xiàng) |
| CB_RESETCONTENT | 用于清空內(nèi)部列表框 |
| CB_GETITEMADDDATA | 用于獲取內(nèi)部列表框條目的附加數(shù)據(jù) |
| CB_SETITEMADDDATA | 用于設(shè)置內(nèi)部列表框條目的附加數(shù)據(jù) |
| CB_GETITEMHEIGHT | 用于獲取內(nèi)部列表框條目的高度 |
| CB_SETITEMHEIGHT | 用于設(shè)置內(nèi)部列表框條目的高度 |
| CB_SETSTRCMPFUNC | 用于設(shè)置內(nèi)部列表框排序用的字符串對(duì)比函數(shù) |
| CB_GETLBTEXT | 用于獲取內(nèi)部列表框條目的文本內(nèi)容 |
| CB_GETLBTEXTLEN | 用于獲得內(nèi)部列表框條目的文本長(zhǎng)度 |
| CB_GETCHILDREN | 獲得組合框的子控件,wParam返回編輯框控件指針,lParam返回列表框控件指針 |
| CB_LIMITTEXT | 用于限制內(nèi)部編輯框的文本長(zhǎng)度 |
| CB_SETEDITSEL | 用來(lái)設(shè)置編輯框選中的文本 |
| CB_GETEDITSEL | 用來(lái)獲取編輯框選中的文本 |
| CB_SPIN | 發(fā)送該消息將使旋鈕框向前或向后步進(jìn),相當(dāng)于用戶單擊編輯框旁邊的向上或向下箭頭(在編輯框中鍵入向上或向下箭頭鍵,也可取得一樣的效果)。wParam控制步進(jìn)方向,取0為向下,取1為向上 |
| CB_FASTSPIN | 發(fā)送該消息將使旋鈕框快速向前步進(jìn),相當(dāng)于用戶在編輯框中鍵入PageUp/PageDown鍵。wParam控制步進(jìn)方向,取0為向上,取1為向下 |
| CB_GETDROPPEDCONTROLRECT | 獲得組合框的下拉列表對(duì)應(yīng)矩形位置 |
| CB_GETDROPPEDSTATE | 檢查組合框的下拉列表是否為顯示狀態(tài) |
| CB_GETSPINRANGE | 獲得可取的最大值和最小值,它們分別存儲(chǔ)在wParam參數(shù)和lParam參數(shù)指向的地址中 |
| CB_SETSPINRANGE | 設(shè)定可取的最大值和最小值,分別取wParam參數(shù)和lParam參數(shù)的值 |
| CB_SETSPINVALUE | 參數(shù)設(shè)置編輯框的當(dāng)前數(shù)值,通過(guò)wParam參數(shù)傳遞要設(shè)置的值 |
| CB_GETSPINVALUE | 該消息返回當(dāng)前編輯框內(nèi)的數(shù)值 |
| CB_SPIN | 發(fā)送該消息將使旋鈕框向前或向后步進(jìn),相當(dāng)于用戶單擊編輯框旁邊的向上或向下箭頭(在編輯框中鍵入向上或向下箭頭鍵,也可取得一樣的效果)。wParam控制步進(jìn)方向,取1為向上,取0為向下。步進(jìn)值取決于CB_SETSPINPACE的設(shè)置值 |
| CB_FASTSPIN | 發(fā)送該消息將使旋鈕框快速向前步進(jìn),相當(dāng)于用戶在編輯框中鍵入PageUp/PageDown鍵。wParam控制步進(jìn)方向,取0為向上,取1為向下。步進(jìn)值取決于CB_SETSPINPACE的設(shè)置值 |
| CB_GETSPINPACE | 獲得步進(jìn)值(wParam)和快速步進(jìn)值(lParam) |
| CB_SETSPINPACE | 設(shè)置步進(jìn)值(wParam)和快速步進(jìn)值(lParam) |
| CB_SETSPINFORMAT | 設(shè)定整數(shù)的格式化字符串。MiniGUI 在內(nèi)部使用sprintf和sscanf函數(shù)在編輯框的文本字符串和整數(shù)值之間互相轉(zhuǎn)換。設(shè)定格式化字符串之后,MiniGUI在調(diào)用sprintf和sscanf函數(shù)時(shí)將使用這個(gè)格式化字符串,使之具有特定的顯示格式 |
7.3.7 菜單按鈕消息
消息含義
| MBM_ADDITEM | 向菜單按鈕添加條目,當(dāng)內(nèi)存空間不足時(shí),則返回MB_ERR_SPACE |
| MBM_DELITEM | 從菜單按鈕中刪除條目 |
| MBM_RESETCTRL | 刪除所有條目 |
| MBM_SETCURITEM | 設(shè)置選中條目,被選中的條目文本將顯示在菜單按鈕上 |
| MBM_GETCURITEM | 獲得當(dāng)前選中條目的索引號(hào) |
| MBM_GETITEMDATA | 獲取菜單項(xiàng)條目的數(shù)據(jù) |
| MBM_SETITEMDATA | 設(shè)置菜單項(xiàng)條目的數(shù)據(jù) |
| MBM_SETSTRCMPFUNC | 設(shè)定一個(gè)定制的排序函數(shù) |
7.3.8 進(jìn)度條消息
消息含義
| PBM_SETRANGE | 設(shè)置進(jìn)度條的范圍,默認(rèn)情況下的進(jìn)度條范圍是0到100 |
| PBM_SETSTEP | 設(shè)置步進(jìn)長(zhǎng)度,默認(rèn)的進(jìn)度條步進(jìn)值是10,當(dāng)進(jìn)度條的步進(jìn)值為負(fù)值時(shí),需要設(shè)置進(jìn)度條的位置為進(jìn)度條范圍的最大值 |
| PBM_SETPOS | 設(shè)置進(jìn)度條位置 |
| PBM_DELTAPOS | 在當(dāng)前進(jìn)度基礎(chǔ)上偏移 |
| PBM_STEPIT | 使進(jìn)度條前進(jìn)一個(gè)步進(jìn)值 |
7.3.9 滑塊消息
消息含義
| TBM_SETRANGE | 通過(guò)wParam和lParam參數(shù)分別設(shè)置滑塊的最小值和最大值。默認(rèn)的范圍是0~10 |
| TBM_GETMIN | 獲得滑塊的最小值 |
| TBM_GETMAX | 獲得滑塊的最大值 |
| TBM_SETMIN | 設(shè)置滑塊的最小值 |
| TBM_SETMAX | 設(shè)置滑塊的最大值 |
| TBM_SETLINESIZE | 通過(guò)wParam參數(shù)設(shè)置滑塊的步進(jìn)值。當(dāng)用戶在滑塊擁有輸入焦點(diǎn)時(shí)按下向上或向下光標(biāo)鍵,將使滑塊向上或向下移動(dòng)該步進(jìn)值。默認(rèn)的步進(jìn)值是1 |
| TBM_GETLINESIZE | 獲得滑塊的步進(jìn)值 |
| TBM_SETPAGESIZE | 通過(guò)wParam參數(shù)設(shè)置滑塊的快速步進(jìn)值。當(dāng)用戶在滑塊擁有輸入焦點(diǎn)時(shí)按下PageUp和PageDown鍵,將使滑塊分別向上或向下移動(dòng)該快速步進(jìn)值。默認(rèn)的快速步進(jìn)值是5 |
| TBM_GETPAGESIZE | 獲得滑塊的快速步進(jìn)值 |
| TBM_SETPOS | 設(shè)置滑塊的位置 |
| TBM_GETPOS | 獲得滑塊的位置 |
| TBM_SETTICKFREQ | 設(shè)置刻度間距,默認(rèn)間距是1 |
| TBM_GETTICKFREQ | 獲得刻度間距 |
| TBM_SETTIP | 設(shè)置最小值及最大值處的文字說(shuō)明 |
| TBM_GETTIP | 獲取最小值及最大值處的文字說(shuō)明 |
7.3.10 工具欄消息
消息含義
| NTBM_ADDITEM | 向工具欄中添加一個(gè)工具項(xiàng) |
| NTBM_GETITEM | 獲取具有指定標(biāo)識(shí)符的工具項(xiàng)信息 |
| NTBM_SETITEM | 設(shè)置具有指定標(biāo)識(shí)符的工具項(xiàng)信息 |
| NTBM_ENABLEITEM | 使能或者禁止某個(gè)具有指定標(biāo)識(shí)符的工具項(xiàng) |
| NTBM_SETBITMAP | 改變工具欄上的按鈕位圖 |
7.3.11 屬性表消息
消息含義
| PSM_ADDPAGE | 向?qū)傩员碇刑砑訉傩皂?yè) |
| MSG_INITPAGE | 類似對(duì)話框的MSG_INITDIALOG消息 |
| MSG_SHOWPAGE | 在屬性頁(yè)被隱藏和重新顯示時(shí)發(fā)送到屬性頁(yè)過(guò)程中 |
| PSM_SHEETCMD | 屬性表控件將向其擁有的所有屬性頁(yè)廣播MSG_SHEETCMD消息 |
| PSM_REMOVEPAGE | 刪除某個(gè)屬性頁(yè) |
| PSM_GETPAGE | 獲得具有某個(gè)索引值的屬性頁(yè)的窗口句柄 |
| PSM_GETPAGEINDEX | 根據(jù)屬性頁(yè)句柄返回屬性頁(yè)索引值 |
| PSM_GETPAGECOUNT | 返回屬性頁(yè)總個(gè)數(shù) |
| PSM_GETTITLELENGTH | 根據(jù)wParam參數(shù)傳入的屬性頁(yè)索引值獲得該屬性頁(yè)標(biāo)題的長(zhǎng)度,類似窗口的MSG_GETTEXTLENGTH消息 |
| PSM_GETTITLE | 根據(jù)wParam參數(shù)傳入的屬性頁(yè)索引值獲得該屬性頁(yè)標(biāo)題,并保存在lParam參數(shù)傳遞的緩沖區(qū)中,類似窗口的 MSG_GETTEXT消息 |
| PSM_SETTITLE | 根據(jù)lParam參數(shù)傳入的文本字符串設(shè)置由wParam指定的屬性頁(yè)標(biāo)題,類似窗口的MSG_SETTEXT消息 |
| PSM_GETACTIVEPAGE | 返回活動(dòng)屬性頁(yè)的窗口句柄 |
| PSM_GETACTIVEINDEX | 返回活動(dòng)屬性頁(yè)的索引值 |
| PSM_SETACTIVEINDEX | 根據(jù)wParam傳入的屬性頁(yè)索引值設(shè)置活動(dòng)屬性頁(yè) |
7.3.12 滾動(dòng)窗口消息
消息含義
| SVM_SETCONTRANGE | 設(shè)置滾動(dòng)窗口的內(nèi)容區(qū)域的大小 |
| SVM_SETCONTWIDTH | 設(shè)置滾動(dòng)窗口的寬度 |
| SVM_SETCONTHEIGHT | 設(shè)置滾動(dòng)窗口的高度 |
| SVM_GETCONTWIDTH | 獲取內(nèi)容區(qū)域的寬度 |
| SVM_GETCONTHEIGHT | 獲取內(nèi)容區(qū)域的高度 |
| SVM_GETVISIBLEWIDTH | 獲取內(nèi)容區(qū)域的可視區(qū)域?qū)挾?/td> |
| SVM_GETVISIBLEHEIGHT | 獲取內(nèi)容區(qū)域的可視區(qū)域高度 |
| SVM_GETCONTENTX | 獲取內(nèi)容區(qū)域的當(dāng)前位置X值 |
| SVM_GETCONTENTY | 獲取內(nèi)容區(qū)域的當(dāng)前位置Y值 |
| SVM_SETCONTPOS | 設(shè)置內(nèi)容區(qū)域的當(dāng)前位置值,也就是在可視區(qū)域中移動(dòng)內(nèi)容區(qū)域到某個(gè)指定位置 |
| SVM_MAKEPOSVISIBLE | 使內(nèi)容區(qū)域中的某個(gè)位置點(diǎn)成為可見(jiàn) |
| SVM_GETHSCROLLVAL | 獲取滾動(dòng)窗口的當(dāng)前水平滾動(dòng)值 |
| SVM_GETVSCROLLVAL | 獲取滾動(dòng)窗口的當(dāng)前垂直滾動(dòng)值 |
| SVM_GETHSCROLLPAGEVAL | 獲取滾動(dòng)窗口的當(dāng)前水平頁(yè)滾動(dòng)值 |
| SVM_GETVSCROLLPAGEVAL | 獲取滾動(dòng)窗口的當(dāng)前垂直頁(yè)滾動(dòng)值 |
| SVM_SETSCROLLVAL | 設(shè)置滾動(dòng)窗口的水平和垂直滾動(dòng)值 |
| SVM_SETSCROLLPAGEVAL | 設(shè)置滾動(dòng)窗口的水平和垂直頁(yè)滾動(dòng)值 |
| SVM_ADDCTRLS | 往其中添加子控件 |
| SVM_RESETCONTENT | 重置滾動(dòng)窗口控件,包括清空其中的子控件和設(shè)置內(nèi)容區(qū)域的范圍和位置值為默認(rèn)值 |
| SVM_GETCTRL | 獲取滾動(dòng)窗口控件中的子控件的句柄 |
| SVM_GETFOCUSCHILD | 獲取滾動(dòng)窗口控件中具有鍵盤焦點(diǎn)的子控件 |
| SVM_SETCONTAINERPROC | 設(shè)置新的容器窗口過(guò)程,從而達(dá)到定制滾動(dòng)窗口的目的 |
7.3.13 滾動(dòng)型控件消息
消息含義
| SVM_SETITEMDRAW | 設(shè)置列表項(xiàng)的繪制函數(shù) |
| SVM_SETITEMOPS | 設(shè)置列表項(xiàng)相關(guān)操作的一些回調(diào)函數(shù),包括初始化、繪制和結(jié)束函數(shù) |
| SVM_ADDITEM | 添加一個(gè)列表項(xiàng) |
| SVM_DELITEM | 刪除一個(gè)列表項(xiàng) |
| SVM_REFRESHITEM | 刷新一個(gè)列表項(xiàng)區(qū)域 |
| SVM_GETITEMADDDATA | 獲取列表項(xiàng)的附加數(shù)據(jù) |
| SVM_SETITEMADDDATA | 設(shè)置列表項(xiàng)的附加數(shù)據(jù) |
| SVM_GETITEMCOUNT | 獲取當(dāng)前列表項(xiàng)的數(shù)量 |
| SVM_RESETCONTENT | 刪除掉控件中所有的列表項(xiàng) |
| SVM_SETCURSEL | 設(shè)置控件的高亮列表項(xiàng) |
| SVM_GETCURSEL | 獲取控件的當(dāng)前高亮列表項(xiàng) |
| SVM_SELECTITEM | 設(shè)置列表項(xiàng)的選中狀態(tài) |
| SVM_SHOWITEM | 顯示一個(gè)列表項(xiàng) |
| SVM_CHOOSEITEM | 是SVM_SELECTITEM和SVM_SHOWITEM消息的組合,用來(lái)選中一個(gè)列表項(xiàng)并使之可見(jiàn) |
| MSG_FREEZE | 在操作之前凍結(jié)控件,操作之后解凍 |
| SVM_SETMARGINS | 對(duì)滾動(dòng)型控件的邊緣范圍進(jìn)行設(shè)置 |
| SVM_GETMARGINS | 獲取滾動(dòng)型控件的邊緣范圍值 |
| SVM_GETLEFTMARGIN | 獲取左邊緣值 |
| SVM_GETTOPMARGIN | 獲取上邊緣值 |
| SVM_GETRIGHTMARGIN | 獲取右邊緣值 |
| SVM_GETBOTTOMMARGIN | 獲取下邊緣值 |
7.3.14 樹(shù)型控件消息
消息含義
| TVM_ADDITEM | 插入一個(gè)節(jié)點(diǎn)項(xiàng) |
| TVM_DELTREE | 刪除一個(gè)節(jié)點(diǎn)及其所有子項(xiàng)(包括子項(xiàng)的子項(xiàng)) |
| TVM_GETITEMINFO | 獲取某個(gè)節(jié)點(diǎn)項(xiàng)的屬性信息 |
| TVM_SETITEMINFO | 設(shè)置某個(gè)節(jié)點(diǎn)項(xiàng)的屬性 |
| TVM_GETITEMTEXT | 獲取某個(gè)節(jié)點(diǎn)項(xiàng)的文字標(biāo)題 |
| TVM_GETITEMTEXTLEN | 獲取節(jié)點(diǎn)項(xiàng)的文字標(biāo)題的長(zhǎng)度 |
| TVM_SETSELITEM | 選擇某個(gè)節(jié)點(diǎn)項(xiàng) |
| TVM_GETSELITEM | 獲取當(dāng)前被選擇的節(jié)點(diǎn)項(xiàng) |
| TVM_GETROOT | 獲取樹(shù)型控件的根節(jié)點(diǎn) |
| TVM_GETRELATEDITEM | 獲取指定節(jié)點(diǎn)的相關(guān)節(jié)點(diǎn)項(xiàng) |
| TVIR_PARENT | 獲取item節(jié)點(diǎn)的父節(jié)點(diǎn) |
| TVIR_FIRSTCHILD | 獲取item節(jié)點(diǎn)的第一個(gè)子節(jié)點(diǎn) |
| TVIR_NEXTSIBLING | 獲取item節(jié)點(diǎn)的下一個(gè)兄弟節(jié)點(diǎn) |
| TVIR_PREVSIBLING | 獲取item節(jié)點(diǎn)的前一個(gè)兄弟節(jié)點(diǎn) |
| TVM_SEARCHITEM | 查找某個(gè)特定的節(jié)點(diǎn)項(xiàng),整個(gè)節(jié)點(diǎn)樹(shù)中查找 |
| TVM_FINDCHILD | 查找節(jié)點(diǎn)項(xiàng)的特定子節(jié)點(diǎn),只在子節(jié)點(diǎn)中查找 |
| TVM_SETSTRCMPFUNC | 設(shè)置新的樹(shù)型控件字符串比較函數(shù) |
7.3.15 列表型控件消息
消息含義
| LVM_ADDCOLUMN | 添加一列或依次添加多列 |
| LVM_GETCOLUMN | 獲取列表型控件中某一列的屬性 |
| LVM_SETCOLUMN | 設(shè)置和修改列的各項(xiàng)屬性 |
| LVM_MODIFYHEAD | 是LVM_SETCOLUMN的簡(jiǎn)化,可以用來(lái)設(shè)置列表頭的標(biāo)題 |
| LVM_GETCOLUMNWIDTH | 獲取某列的寬度 |
| LVM_GETCOLUMNCOUNT | 獲取列表型控件中列的數(shù)量 |
| LVM_DELCOLUMN | 刪除列表型控件中的一列 |
| LVM_SETHEADHEIGHT | 設(shè)置列表頭的高度 |
| LVM_ADDITEM | 往列表型控件中添加列表項(xiàng) |
| LVM_FILLSUBITEM | 設(shè)置列表項(xiàng)中各個(gè)子項(xiàng)的內(nèi)容 |
| LVM_SETSUBITEM | 設(shè)置列表項(xiàng)中各個(gè)子項(xiàng)的內(nèi)容 |
| LVM_GETITEM | 獲取一個(gè)列表項(xiàng)的信息 |
| LVM_GETITEMCOUNT | 獲取列表型控件的列表項(xiàng)數(shù)量 |
| LVM_GETITEMADDDATA | 獲取列表項(xiàng)的附加數(shù)據(jù) |
| LVM_SETITEMADDDATA | 設(shè)置列表項(xiàng)的附加數(shù)據(jù) |
| LVM_SETITEMHEIGHT | 設(shè)置一個(gè)列表型控件的列表項(xiàng)高度,如果不設(shè)置的話,列表型控件的列表項(xiàng)高度將采用缺省值 |
| LVM_DELITEM | 在列表型控件中刪除一個(gè)列表項(xiàng) |
| LVM_DELALLITEM | 刪除所有的列表項(xiàng) |
| LVM_GETSUBITEMTEXT | 獲取子項(xiàng)的文字內(nèi)容 |
| LVM_SETSUBITEMTEXT | 設(shè)置子項(xiàng)的文字內(nèi)容 |
| LVM_GETSUBITEMLEN | 獲取子項(xiàng)字符串的長(zhǎng)度 |
| LVM_SETSUBITEMCOLOR | 設(shè)置子項(xiàng)的文字顏色 |
| LVM_SELECTITEM | 選擇一個(gè)列表項(xiàng),被選中的項(xiàng)將高亮顯示 |
| LVM_GETSELECTEDITEM | 用來(lái)確定當(dāng)前被選中的列表項(xiàng) |
| LVM_SHOWITEM | 使一個(gè)列表項(xiàng)在列表型控件中成為可見(jiàn)的條目 |
| LVM_CHOOSEITEM | 是LVM_SELECTIEM和LVM_SHOWITEM功能的組合,它使一個(gè)列表項(xiàng)被選中而且成為可見(jiàn)的項(xiàng) |
| LVM_FINDITEM | 在列表型控件中查找一個(gè)特定的列表項(xiàng) |
| LVM_SETCOLUMN | 設(shè)置新的比較函數(shù) |
| LVM_SORTIEMS | 使之對(duì)列表項(xiàng)進(jìn)行排序 |
| LVM_COLSORT | 使列表型控件依據(jù)某列來(lái)進(jìn)行比較排序 |
| LVM_SETSTRCMPFUNC | 設(shè)置自定義的字符串比較函數(shù) |
| LVM_GETRELATEDITEM | 獲取一個(gè)節(jié)點(diǎn)的相關(guān)樹(shù)型節(jié)點(diǎn) |
| LVM_GETRELATEDITEM | 返回所獲取到的相關(guān)節(jié)點(diǎn)的句柄 |
| LVM_FOLDITEM | 折疊或者展開(kāi)一個(gè)包含子節(jié)點(diǎn)的節(jié)點(diǎn)項(xiàng) |
7.3.16 月歷控件消息
消息含義
| MCM_GETCURDAY | 獲取當(dāng)前選擇的日期中是當(dāng)月中的第幾天 |
| MCM_GETCURMONTH | 獲取當(dāng)前選擇的日期中的月份值 |
| MCM_GETCURYEAR | 獲取當(dāng)前選擇日期中的年份 |
| MCM_GETFIRSTWEEKDAY | 確定當(dāng)前月份中的第一天是星期幾 |
| MCM_GETCURDATE | 獲取月歷控件中當(dāng)前選擇的日期 |
| MCM_GETTODAY | 獲取“今天”的日期 |
| MCM_SETCURDAY | 設(shè)置當(dāng)前選擇的“天” |
| MCM_SETCURMONTH | 設(shè)置當(dāng)前的月 |
| MCM_SETCURYEAR | 設(shè)置當(dāng)前的年 |
| MCM_SETCURDATE | 設(shè)置當(dāng)前選擇的日期 |
| MCM_SETTODAY | 把“今天”設(shè)為當(dāng)前選擇的日期 |
| MCM_GETCOLOR | 獲取月歷控件中各部分的顏色設(shè)置 |
| MCM_SETCOLOR | 改變?cè)職v控件中各部分的顏色設(shè)置 |
| MCM_GETMINREQRECTW | 獲取最小寬度值 |
| MCM_GETMINREQRECTH | 獲取最小高度值 |
7.3.17 旋鈕控件消息
消息含義
| SPM_SETINFO | 設(shè)置控件的屬性和狀態(tài) |
| SPM_GETINFO | 獲取旋鈕控件的屬性 |
| SPM_SETCUR | 設(shè)置旋鈕控件的當(dāng)前位置值 |
| SPM_GETCUR | 獲取當(dāng)前的位置值 |
| SPM_DISABLEDOWN | 禁止下箭頭的滾動(dòng)能力,僅對(duì)沒(méi)有SPS_AUTOSCROLL風(fēng)格的旋鈕控件有效 |
| SPM_ENABLEDOWN | 恢復(fù)下箭頭的滾動(dòng)能力,僅對(duì)沒(méi)有SPS_AUTOSCROLL風(fēng)格的旋鈕控件有效 |
| SPM_DISABLEUP | 禁止上箭頭的滾動(dòng)能力,僅對(duì)沒(méi)有SPS_AUTOSCROLL風(fēng)格的旋鈕控件有效 |
| SPM_ENABLEUP | 恢復(fù)上箭頭的滾動(dòng)能力,僅對(duì)沒(méi)有SPS_AUTOSCROLL風(fēng)格的旋鈕控件有效 |
| SPM_SETTARGET | 設(shè)置旋鈕控件的目標(biāo)窗口 |
| SPM_GETTARGET | 獲取旋鈕控件的目標(biāo)窗口 |
7.3.18 網(wǎng)格控件消息
消息含義
| GRIDM_ADDCOLUMN | 往控件中增加列 |
| GRIDM_ADDCOLUMN | 增加網(wǎng)格控件的一列 |
| GRIDM_DELCOLUMN | 刪除網(wǎng)格控件中的一列 |
| GRIDM_GETCOLWIDTH | 獲取控件列的寬度 |
| GRIDM_GETCOLCOUNT | 獲取網(wǎng)格控件中列的數(shù)量 |
| GRIDM_SETROWHEIGHT | 設(shè)置控件行的高度 |
| GRIDM_GETROWHEIGHT | 獲取控件行的高度 |
| GRIDM_ADDROW | 往網(wǎng)格控件中添加一行 |
| GRIDM_DELROW | 刪除網(wǎng)格控件中的一行 |
| GRIDM_GETROWCOUNT | 獲取網(wǎng)格控件中行的數(shù)量 |
| GRIDM_SETCELLPROPERTY | 設(shè)置一個(gè)或多個(gè)單元格 |
| GRIDM_GETCELLPROPERTY | 獲得單元格的屬性 |
| GRIDM_SETNUMFORMAT | 設(shè)置數(shù)字單元格(GRIDCELLDATANUMBER)的數(shù)字格式 |
| GRIDM_SETSELECTED | 設(shè)置高亮的單元格 |
| GRIDM_GETSELECTED | 得到所有高亮的單元格 |
| GRIDM_ADDDEPENDENCE | 往網(wǎng)格控件中添加一個(gè)單元格關(guān)聯(lián) |
| GRIDM_DELDEPENDENCE | 刪除網(wǎng)格控件中已有的一個(gè)單元格關(guān)聯(lián) |
7.3.18 酷工具欄消息
消息含義
| CBM_ADDITEM | 往工具欄中添加按鈕項(xiàng) |
| CBM_ENABLE | 禁止或恢復(fù)某個(gè)按鈕項(xiàng) |
7.3.19 動(dòng)畫(huà)控件消息
消息含義
| ANM_SETANIMATION | 設(shè)置ANIMATION對(duì)象 |
| ANM_GETANIMATION | 獲取當(dāng)前的ANIMATION對(duì)象 |
| ANM_STARTPLAY | 開(kāi)始播放。在發(fā)送ANM_STARTPLAY消息給動(dòng)畫(huà)控件之前,動(dòng)畫(huà)控件將僅僅顯示ANIMATION對(duì)象的第一幀圖象;只有發(fā)送了ANM_STARTPLAY消息之后,動(dòng)畫(huà)控件才會(huì)按ANIMATION對(duì)象中的信息播放動(dòng)畫(huà) |
| ANM_PAUSE_RESUME | 暫停/繼續(xù)播放。用來(lái)暫停動(dòng)畫(huà)的播放(正在播放時(shí)),或者用來(lái)繼續(xù)動(dòng)畫(huà)的播放(已被暫停時(shí)) |
| ANM_STOPPLAY | 停止動(dòng)畫(huà)的播放。動(dòng)畫(huà)控件將返回到ANIMATION的第一幀圖象 |
7.3.20 圖標(biāo)型控件消息
消息含義
| IVM_ADDITEM | 往該控件中添加圖標(biāo)項(xiàng) |
| IVM_RESETCONTENT | 對(duì)應(yīng)SVM_RESETCONTENT,用于清空?qǐng)D標(biāo)型控件中的圖標(biāo)項(xiàng) |
| IVM_DELITEM | 對(duì)應(yīng)SVM_DELITEM,用于刪除圖標(biāo)型控件中的圖標(biāo)項(xiàng) |
| IVM_SETITEMDRAW | 對(duì)應(yīng)SVM_SETITEMDRAW,用于設(shè)置圖標(biāo)項(xiàng)的繪制函數(shù) |
| IVM_SETCONTWIDTH | 對(duì)應(yīng)SVM_SETCONTWIDTH,用于設(shè)置滾動(dòng)窗口的寬度 |
| IVM_SETCONTHEIGHT | 對(duì)應(yīng)SVM_SETCONTHEIGHT,用于設(shè)置滾動(dòng)窗口的高度 |
| IVM_SETITEMOPS | 對(duì)應(yīng)SVM_SETITEMOPS,用于設(shè)置圖標(biāo)項(xiàng)相關(guān)操作的一些回調(diào)函數(shù) |
| IVM_GETMARGINS | 對(duì)應(yīng)SVM_GETMARGINS,用于獲取圖標(biāo)型控件的邊緣范圍值 |
| IVM_SETMARGINS | 對(duì)應(yīng)SVM_SETMARGINS,用于設(shè)置圖標(biāo)型控件的邊緣范圍值 |
| IVM_GETLEFTMARGIN | 對(duì)應(yīng)SVM_GETLEFTMARGIN,用于獲取圖標(biāo)型控件中的左邊緣值 |
| IVM_GETTOPMARGIN | 對(duì)應(yīng)SVM_GETTOPMARGIN,用于獲取圖標(biāo)型控件中的上邊緣值 |
| IVM_GETRIGHTMARGIN | 對(duì)應(yīng)SVM_GETRIGHTMARGIN,用于獲取圖標(biāo)型控件中的右邊緣值 |
| IVM_GETBOTTOMMARGIN | 對(duì)應(yīng)SVM_GETBOTTOMMARGIN,用于獲取圖標(biāo)型控件中的下邊緣值 |
| IVM_GETCONTWIDTH | 對(duì)應(yīng)SVM_GETCONTWIDTH,用來(lái)獲取內(nèi)容區(qū)域的寬度 |
| IVM_GETCONTHEIGHT | 對(duì)應(yīng)SVM_GETCONTHEIGHT,用來(lái)獲取內(nèi)容區(qū)域的高度 |
| IVM_GETVISIBLEWIDTH | 對(duì)應(yīng)SVM_GETVISIBLEWIDTH,用來(lái)獲取可視區(qū)域的寬度 |
| IVM_GETVISIBLEHEIGHT | 對(duì)應(yīng)SVM_GETVISIBLEHEIGHT,用來(lái)獲取可視區(qū)域的高度 |
| IVM_SETCONTRANGE | 對(duì)應(yīng)SVM_SETCONTRANGE,用于設(shè)置滾動(dòng)窗口的內(nèi)容區(qū)域的大小 |
| IVM_GETCONTENTX | 對(duì)應(yīng)SVM_GETCONTENTX,用于獲取內(nèi)容區(qū)域的當(dāng)前位置值 |
| IVM_GETCONTENTY | 對(duì)應(yīng)SVM_GETCONTENTY,用于獲取內(nèi)容區(qū)域的當(dāng)前位置值 |
| IVM_SETCONTPOS | 對(duì)應(yīng)SVM_SETCONTPOS,用于設(shè)置內(nèi)容區(qū)域的當(dāng)前位置值,也就是在可視區(qū)域中移動(dòng)內(nèi)容區(qū)域到某個(gè)指定位置 |
| IVM_GETCURSEL | 對(duì)應(yīng)SVM_GETCURSEL,用于獲取控件的當(dāng)前高亮圖標(biāo)項(xiàng) |
| IVM_SETCURSEL | 對(duì)應(yīng)SVM_SETCURSEL,用于設(shè)置控件的當(dāng)前高亮圖標(biāo)項(xiàng) |
| IVM_SELECTITEM | 對(duì)應(yīng)SVM_SELECTITEM,用于選擇一個(gè)列表項(xiàng),被選中的項(xiàng)將高亮顯示 |
| IVM_SHOWITEM | 對(duì)應(yīng)SVM_SHOWITEM,用于顯示一個(gè)圖標(biāo)項(xiàng) |
| IVM_CHOOSEITEM | 對(duì)應(yīng)SVM_CHOOSEITEM,是IVM_SELECTITEM和IVM_SHOWITEM消息的組合,用來(lái)選中一個(gè)圖標(biāo)項(xiàng)并使之可見(jiàn) |
| IVM_SETITEMINIT | 對(duì)應(yīng)SVM_SETITEMINIT,用于設(shè)置圖標(biāo)項(xiàng)的初始操作 |
| IVM_SETITEMDESTROY | 對(duì)應(yīng)SVM_SETITEMDESTROY,用于設(shè)置圖標(biāo)項(xiàng)的銷毀操作 |
| IVM_SETITEMCMP | 對(duì)應(yīng)SVM_SETITEMCMP,用于設(shè)置圖標(biāo)型控件圖標(biāo)項(xiàng)的比較函數(shù) |
| IVM_MAKEPOSVISIBLE | 對(duì)應(yīng)VM_MAKEPOSVISIBLE,用于使內(nèi)容區(qū)域中的某個(gè)位置點(diǎn)成為可見(jiàn) |
| IVM_GETHSCROLLVAL | 對(duì)應(yīng)SVM_GETHSCROLLVAL,用來(lái)獲取滾動(dòng)窗口的當(dāng)前水平滾動(dòng)值(點(diǎn)擊滾動(dòng)條箭頭的滾動(dòng)范圍大小) |
| IVM_GETVSCROLLVAL | 對(duì)應(yīng)SVM_GETVSCROLLVAL,用來(lái)獲取滾動(dòng)窗口的當(dāng)前垂直滾動(dòng)值(點(diǎn)擊滾動(dòng)條箭頭的滾動(dòng)范圍大小) |
| IVM_GETHSCROLLPAGEVAL | 對(duì)應(yīng)SVM_GETHSCROLLPAGEVAL,用來(lái)獲取滾動(dòng)窗口的當(dāng)前水平頁(yè)滾動(dòng)值(翻頁(yè)操作時(shí)的滾動(dòng)范圍大小) |
| IVM_GETVSCROLLPAGEVAL | 對(duì)應(yīng)SVM_GETVSCROLLPAGEVAL,用來(lái)獲取滾動(dòng)窗口的當(dāng)前垂直頁(yè)滾動(dòng)值(翻頁(yè)操作時(shí)的滾動(dòng)范圍大小) |
| IVM_SETSCROLLVAL | 對(duì)應(yīng)SVM_SETSCROLLVAL,用于設(shè)置滾動(dòng)窗口的水平和(或者)垂直滾動(dòng)值 |
| IVM_SETSCROLLPAGEVAL | 對(duì)應(yīng)SVM_SETSCROLLPAGEVAL,用于設(shè)置滾動(dòng)窗口的水平和(或者)垂直頁(yè)滾動(dòng)值 |
| IVM_SORTITEMS | 對(duì)應(yīng)SVM_SORTITEMS,用于對(duì)圖標(biāo)項(xiàng)進(jìn)行一次性的排序 |
| IVM_GETITEMCOUNT | 對(duì)應(yīng)SVM_GETITEMCOUNT,用于獲取當(dāng)前圖標(biāo)項(xiàng)的數(shù)量 |
| IVM_GETITEMADDDATA | 對(duì)應(yīng)SVM_GETITEMADDDATA,用于獲取當(dāng)前圖標(biāo)項(xiàng)的附加信息 |
| IVM_SETITEMADDDATA | 對(duì)應(yīng)SVM_SETITEMADDDATA,用于設(shè)置當(dāng)前圖標(biāo)項(xiàng)的附加信息 |
| IVM_REFRESHITEM | 對(duì)應(yīng)SVM_REFRESHITEM,用于刷新一個(gè)圖標(biāo)項(xiàng)區(qū)域 |
| IVM_GETFIRSTVISIBLEITEM | 對(duì)應(yīng)SVM_GETFIRSTVISIBLEITEM,用于獲取第一個(gè)可見(jiàn)的圖標(biāo)項(xiàng) |
7.3.21 獨(dú)立滾動(dòng)條消息
消息含義
| SBM_GETSCROLLINFO | 獲取滾動(dòng)條控件的最大值、最小值 |
| SBM_SETSCROLLINFO | 進(jìn)行滾動(dòng)條信息設(shè)置 |
| SBM_GETPOS | 獲取當(dāng)前游標(biāo)的位置 |
| SBM_SETPOS | 設(shè)置當(dāng)前游標(biāo)的位置 |
| SBM_GETRANGE | 獲取滾動(dòng)條滾動(dòng)范圍 |
| SBM_SETRANGE | 設(shè)置滾動(dòng)條滾動(dòng)范圍 |
| SBM_SETRANGEREDRAW | 設(shè)置滾動(dòng)條滾動(dòng)范圍,并立即重繪 |
| SBM_ENABLE_ARROW | 啟用或者禁用滾動(dòng)條箭頭 |
8 通知碼
8.1 滾動(dòng)條通知碼
標(biāo)識(shí)符含義
| SB_LINEUP | 鼠標(biāo)點(diǎn)擊豎直按鈕的上箭頭1次 |
| SB_LINEDOWN | 鼠標(biāo)點(diǎn)擊豎直滾動(dòng)條的下箭頭1次 |
| SB_LINELEFT | 鼠標(biāo)點(diǎn)擊水平滾動(dòng)條的左箭頭1次 |
| SB_LINERIGHT | 鼠標(biāo)點(diǎn)擊水平滾動(dòng)條的右箭頭1次 |
| SB_PAGEUP | 鼠標(biāo)點(diǎn)擊豎直按鈕的上箭頭與滑塊之間的區(qū)域1次 |
| SB_PAGEDOWN | 鼠標(biāo)點(diǎn)擊豎直按鈕的下箭頭與滑塊之間的區(qū)域1次 |
| SB_PAGELEFT | 鼠標(biāo)點(diǎn)擊水平按鈕的左箭頭與滑塊之間的區(qū)域1次 |
| SB_PAGERIGHT | 鼠標(biāo)點(diǎn)擊水平按鈕的右箭頭與滑塊之間的區(qū)域1次 |
| SB_THUMBTRACK | 鼠標(biāo)拖動(dòng)滑塊移動(dòng)時(shí)窗口不斷地收到的消息,注意,該值表示對(duì)鼠標(biāo)位置經(jīng)換算后對(duì)應(yīng)的數(shù)值(通過(guò)lParam傳遞的),該值有可能大于設(shè)置的最大值,也有可能<小于設(shè)置的最小值,在程序中需要作相應(yīng)的判斷 |
| SB_THUMBPOSITION | 用戶拖動(dòng)滑塊結(jié)束 |
8.2 靜態(tài)框通知碼
標(biāo)識(shí)符含義
| STN_DBLCLK | 用戶在靜態(tài)框內(nèi)雙擊了鼠標(biāo)左鍵 |
| STN_CLICKED | 用戶在靜態(tài)框內(nèi)單擊了鼠標(biāo)左鍵 |
8.3 按鈕通知碼
標(biāo)識(shí)符含義
| BN_CLICKED | 表明用戶單擊此按鈕 |
| BN_PUSHED | 表明用戶將此按鈕按下 |
| BN_UNPUSHED | 表明用戶將此按鈕釋放 |
| BN_DBLCLK | 表明用戶在此按鈕上進(jìn)行了鼠標(biāo)左鍵的雙擊操作 |
| BN_SETFOCUS | 表明按鈕獲得了輸入焦點(diǎn) |
| BN_KILLFOCUS | 表明按鈕失去了輸入焦點(diǎn) |
8.4 列表通知碼
標(biāo)識(shí)符含義
| LBN_ERRSPACE | 內(nèi)存分配失敗 |
| LBN_SELCHANGE | 單項(xiàng)選擇列表框的當(dāng)前選擇項(xiàng)發(fā)生變化 |
| LBN_CLICKED | 用戶在列表框某條目上單擊了鼠標(biāo)左鍵 |
| LBN_DBLCLK | 用戶在列表框某條目上雙擊了鼠標(biāo)左鍵 |
| LBN_SELCANCEL | 用戶取消了某個(gè)條目的選擇 |
| LBN_SETFOCUS | 列表框獲得了輸入焦點(diǎn) |
| LBN_KILLFOCUS | 列表框失去了輸入焦點(diǎn) |
| LBN_CLICKCHECKMARK | 用戶單擊了條目的檢查框 |
| LBN_ENTER | 用戶在列表框中按下ENTER鍵 |
8.5 編輯框通知碼
標(biāo)識(shí)符含義
| EN_SETFOCUS | 編輯控件已經(jīng)獲得輸入焦點(diǎn) |
| EN_KILLFOCUS | 編輯控件已經(jīng)失去輸入焦點(diǎn) |
| EN_CHANGE | 編輯控件的內(nèi)容已經(jīng)改變 |
| EN_UPDATE | 編輯控件在接收到MSG_SETTEXT,EM_RESETCONTENT或EM_SETLINEHEIGHT消息后,內(nèi)容已經(jīng)改變 |
| EN_ENTER | 用戶在編輯框中按下了Enter鍵 |
| EN_MAXTEXT | 編輯控件在插入時(shí)超出了限定長(zhǎng)度 |
| EN_DBLCLK | 編輯控件被鼠標(biāo)左鍵雙擊 |
| EN_CLICKED | 編輯控件被鼠標(biāo)左鍵點(diǎn)擊 |
8.6 組合框通知碼
標(biāo)識(shí)符含義
| CBN_ERRSPACE | 內(nèi)存不足 |
| CBN_SELCHANGE | 條目選擇變化 |
| CBN_EDITCHANGE | 方框區(qū)域的文本發(fā)生了變化 |
| CBN_DBLCLK | 用戶雙擊了組合框中的某個(gè)條目 |
| CBN_CLICKED | 用戶點(diǎn)擊了組合框 |
| CBN_SETFOCUS | 組合框獲得了輸入焦點(diǎn)。如果組合框具有CBS_AUTOFOCUS風(fēng)格,則內(nèi)部編輯框?qū)⑼瑫r(shí)獲得輸入焦點(diǎn) |
| CBN_KILLFOCUS | 組合框失去了輸入焦點(diǎn) |
| CBN_DROPDOWN | 用戶下拉列表框使之顯示。當(dāng)用戶點(diǎn)擊編輯框旁邊的向下箭頭按鈕或者在編輯框中鍵入光標(biāo)控制鍵,比如向下、向上箭頭鍵,PageDown或者PageUp等鍵時(shí),也會(huì)下拉并顯示列表框 |
| CBN_CLOSEUP | 下拉的列表框被隱藏(關(guān)閉) |
| CBN_SELENDOK | 用戶從下拉列表框中選擇了某個(gè)條目 |
| CBN_SELENDCANCEL | 用戶未選擇任何條目而關(guān)閉下拉列表框 |
8.7 菜單按鈕通知碼
標(biāo)識(shí)符含義
| MBN_ERRSPACE | 內(nèi)存分配失敗,存儲(chǔ)空間不足 |
| MBN_SELECTED | 對(duì)菜單按鈕控件進(jìn)行了選擇。不管前后選擇的菜單項(xiàng)是否改變,均會(huì)產(chǎn)生該通知消息 |
| MBN_CHANGED | 菜單按鈕控件的選擇項(xiàng)發(fā)生了變化 |
| MBN_STARTMENU | 用戶激活了菜單按鈕的彈出式菜單 |
| MBN_ENDMENU | 彈出式菜單關(guān)閉 |
8.8 進(jìn)度條通知碼
標(biāo)識(shí)符含義
| PBN_REACHMAX | 已到達(dá)最大進(jìn)度位置 |
| PBN_REACHMIN | 已到達(dá)最小進(jìn)度位置 |
8.9 滑塊通知碼
標(biāo)識(shí)符含義
| TBN_CHANGE | 滑塊的位置發(fā)生了變化 |
| TBN_REACHMAX | 已到達(dá)了上限 |
| TBN_REACHMIN | 已到達(dá)了下限 |
8.10 屬性表通知碼
標(biāo)識(shí)符含義
| PSN_ACTIVE_CHANGED | 當(dāng)屬性表中的活動(dòng)屬性頁(yè)發(fā)生變化時(shí),屬性表控件將產(chǎn)生該通知消息 |
8.11 滾動(dòng)型控件通知碼
標(biāo)識(shí)符含義
| SVN_SELCHANGED | 當(dāng)前高亮列表項(xiàng)發(fā)生改變 |
| SVN_CLICKED | 用戶點(diǎn)擊列表項(xiàng) |
| SVN_SELCHANGING | 當(dāng)前高亮列表項(xiàng)正發(fā)生改變 |
8.12 樹(shù)型控件通知碼
標(biāo)識(shí)符含義
| TVN_SELCHANGE | 當(dāng)前選擇的節(jié)點(diǎn)項(xiàng)發(fā)生改變 |
| TVN_DBLCLK | 用戶雙擊節(jié)點(diǎn)項(xiàng) |
| TVN_SETFOCUS | 樹(shù)型控件獲得焦點(diǎn) |
| TVN_KILLFOCUS | 樹(shù)型控件失去焦點(diǎn) |
| TVN_CLICKED | 用戶單擊節(jié)點(diǎn)項(xiàng) |
| TVN_ENTER | 用戶按下回車鍵 |
| TVN_FOLDED | 節(jié)點(diǎn)項(xiàng)被折疊 |
| TVN_UNFOLDED | 節(jié)點(diǎn)項(xiàng)被展開(kāi) |
8.13 列表型控件通知碼
標(biāo)識(shí)符含義
| LVN_ITEMRDOWN | 用戶鼠標(biāo)右鍵在列表項(xiàng)上按下 |
| LVN_ITEMRUP | 用戶鼠標(biāo)右鍵在列表項(xiàng)上抬起 |
| LVN_HEADRDOWN | 用戶鼠標(biāo)右鍵在表頭上按下 |
| LVN_HEADRUP | 用戶鼠標(biāo)右鍵在表頭上抬起 |
| LVN_KEYDOWN | 鍵按下 |
| LVN_ITEMDBCLK | 用戶雙擊某個(gè)列表項(xiàng) |
| LVN_ITEMCLK | 用戶單擊某個(gè)列表項(xiàng)(保留) |
| LVN_SELCHANGE | 當(dāng)前選擇的列表項(xiàng)改變 |
| LVN_FOLDED | 用戶鼠標(biāo)點(diǎn)擊某個(gè)列表項(xiàng),使之折疊 |
| LVN_UNFOLDED | 用戶鼠標(biāo)點(diǎn)擊某個(gè)列表項(xiàng),使之展開(kāi) |
| LVN_SELCHANGE | 鼠標(biāo)右鍵在列表項(xiàng)上按下時(shí),該項(xiàng)將被選中 |
| LVN_ITEMRDOWN | 鼠標(biāo)右鍵在列表項(xiàng)上按下時(shí),該項(xiàng)將被選中 |
8.14 月歷控件通知碼
標(biāo)識(shí)符含義
| MCN_DATECHANGE | 當(dāng)用戶點(diǎn)擊月歷控件并造成當(dāng)前日期發(fā)生改變時(shí) |
8.15 旋鈕控件通知碼
標(biāo)識(shí)符含義
| SPN_REACHMAX | 旋鈕控件在大于等于最大位置時(shí) |
| SPN_REACHMIN | 旋鈕控件在小于等于最小位置時(shí) |
8.16 網(wǎng)格控件通知碼
標(biāo)識(shí)符含義
| GRIDN_HEADLDOWN | 用戶鼠標(biāo)左鍵在表頭上按下 |
| GRIDN_HEADLUP | 用戶鼠標(biāo)左鍵在表頭上抬起 |
| GRIDN_KEYDOWN | 鍵按下 |
| GRIDN_CELLDBCLK | 用戶雙擊某個(gè)單元格 |
| GRIDN_CELLCLK | 用戶單擊某個(gè)單元格 |
| GRIDN_FOCUSCHANGED | 當(dāng)前選擇的單元格改變 |
| GRIDN_CELLTEXTCHANGED | 單元格內(nèi)容改變 |
8.17 圖標(biāo)型控件通知碼
標(biāo)識(shí)符含義
| LVN_SELCHANGE | 對(duì)應(yīng)SVN_SELCHANGE,當(dāng)前高亮圖表項(xiàng)發(fā)生改變 |
| LVN_CLICKED | 對(duì)應(yīng)SVN_CLICKED,用戶點(diǎn)擊圖標(biāo)項(xiàng) |
8.18 獨(dú)立滾動(dòng)條通知碼
標(biāo)識(shí)符含義
| SB_LINEUP | 垂直滾動(dòng)條向上滾一行 |
| SB_LINEDOWN | 垂直滾動(dòng)條向下滾一行 |
| SB_PAGEUP | 垂直滾動(dòng)條向上滾一頁(yè) |
| SB_PAGEDOWN | 垂直滾動(dòng)條向下滾一頁(yè) |
| SB_LINELEFT | 水平滾動(dòng)條向左滾一列 |
| SB_LINERIGHT | 水平滾動(dòng)條向右滾一列 |
| SB_PAGELEFT | 水平滾動(dòng)條向左滾一列頁(yè) |
| SB_PAGERIGHT | 水平滾動(dòng)條向右滾一頁(yè) |
| SB_THUMBPOSITION | 當(dāng)游標(biāo)被鼠標(biāo)左鍵按住拖動(dòng),然后釋放,此時(shí)的游標(biāo)位置將由此通知碼傳給父窗口 |
| SB_THUMBTRACK | 當(dāng)游標(biāo)被鼠標(biāo)左鍵按住,在拖動(dòng)游標(biāo)的過(guò)程中,游標(biāo)的位置將由此通知碼不斷的傳給父窗口 |
| SB_TOP | 游標(biāo)到了水平滾動(dòng)條的最左邊或者是垂直滾動(dòng)條的最上邊,即到了滾動(dòng)條的最小值 |
| SB_BOTTOM | 游標(biāo)到了水平滾動(dòng)條的最右邊或者是垂直滾動(dòng)條的最下邊,即到了滾動(dòng)條的最大值 |
9 發(fā)送和投遞消息
9.1 窗口消息函數(shù)
函數(shù)含義
| PostMessage | 該函數(shù)將消息放到指定窗口的消息隊(duì)列后立即返回。這種發(fā)送方式稱為“郵寄”消息。如果消息隊(duì)列中的郵寄消息緩沖區(qū)已滿,則該函數(shù)返回錯(cuò)誤值。在下一個(gè)消息循環(huán)中,由GetMessage函數(shù)獲得這個(gè)消息之后,窗口才會(huì)處理該消息PostMessage一般用于發(fā)送一些非關(guān)鍵性的消息。比如在MiniGUI中,鼠標(biāo)和鍵盤消息就是通過(guò)PostMessage函數(shù)發(fā)送的 |
| SendMessage | 應(yīng)用程序一般通過(guò)發(fā)送一條消息來(lái)通知窗口過(guò)程立即完成某項(xiàng)任務(wù)。該函數(shù)和PostMessage函數(shù)不同,它把一條消息發(fā)送給指定窗口的窗口過(guò)程,而且等待該窗口過(guò)程完成消息的處理之后才會(huì)返回。當(dāng)需要知道某個(gè)消息的處理結(jié)果時(shí),使用該函數(shù)發(fā)送消息,然后根據(jù)其返回值進(jìn)行處理。在MiniGUI-Threads當(dāng)中,如果發(fā)送消息的線程和接收消息的線程不是同一個(gè)線程,發(fā)送消息的線程將阻塞并等待另一個(gè)線程的處理結(jié)果,然后繼續(xù)運(yùn)行;如果發(fā)送消息的線程和接收消息的線程是同一個(gè)線程,則與MiniGUI-Processes的SendMessage一樣,直接調(diào)用接收消息窗口的窗口過(guò)程函數(shù) |
| SendNotifyMessage | 該函數(shù)和PostMessage消息類似,也是不等待消息被處理即返回。但和PostMessage消息不同,通過(guò)該函數(shù)發(fā)送的消息不會(huì)因?yàn)榫彌_區(qū)滿而丟失,因?yàn)橄到y(tǒng)采用鏈表的形式處理這種消息。通過(guò)該函數(shù)發(fā)送的消息稱為“通知消息”,一般用來(lái)從控件向其父窗口發(fā)送通知消息 |
| PostQuitMessage | 該消息在消息隊(duì)列中設(shè)置一個(gè)QS_QUIT標(biāo)志。GetMessage在從指定消息隊(duì)列中獲取消息時(shí),會(huì)檢查該標(biāo)志,如果有QS_QUIT標(biāo)志,GetMessage消息將返回FALSE,從而可以利用該返回值終止消息循環(huán) |
| BroadcastMessage | 該函數(shù)將指定消息廣播給桌面上的所有主窗口 |
| ThrowAwayMessages | 該函數(shù)丟棄和指定窗口相關(guān)的消息隊(duì)列中的所有消息,并返回所丟棄的消息個(gè)數(shù)。 |
| WaitMessage | 該函數(shù)等待主窗口消息隊(duì)列中的消息,消息隊(duì)列中一有消息就返回。不同于GetMessage,這個(gè)函數(shù)并不從消息隊(duì)列中移走消息 |
| TranslateMessage | 把擊鍵消息轉(zhuǎn)換為MSG_CHAR消息,然后直接發(fā)送到窗口過(guò)程函數(shù) |
| DispatchMessage | 最終把消息發(fā)往消息的目標(biāo)窗口的窗口過(guò)程 |
| GetMessage | 調(diào)用從應(yīng)用程序的消息隊(duì)列中取出一個(gè)消息 |
| NotifyParentEx | 發(fā)送控件通知消息 |
10.2 進(jìn)程/線程間通信
10.2.1 異步事件處理
MAX_NR_LISTEN_FD 宏定義了系統(tǒng)能夠監(jiān)聽(tīng)的最多文件描述符數(shù),默認(rèn)定義為5
函數(shù)含義
| RegisterListenFD | 函數(shù)在系統(tǒng)當(dāng)中注冊(cè)一個(gè)需要監(jiān)聽(tīng)的文件描述符,并指定監(jiān)聽(tīng)的事件類型(type參數(shù),可取POLLIN、POLLOUT或者POLLERR),接收MSG_FDEVENT消息的窗口句柄以及一個(gè)上下文信息 |
| UnregisterListenFD | 函數(shù)注銷一個(gè)被注冊(cè)的監(jiān)聽(tīng)文件描述符 |
10.2.2 簡(jiǎn)單請(qǐng)求/應(yīng)答處理
函數(shù)含義
| ClientRequest | 向服務(wù)器發(fā)送請(qǐng)求 |
| ServerSendReply | 將結(jié)果發(fā)送給客戶 |
| RegisterRequestHandler | 服務(wù)器可以通過(guò)調(diào)用該函數(shù)注冊(cè)一些請(qǐng)求處理函數(shù) |
| GetRequestHandler | 獲取到處理函數(shù) |
10.2.3 UNIX Domain Socket封裝
函數(shù)含義備注
| serv_listen | 服務(wù)器調(diào)用該函數(shù)建立一個(gè)監(jiān)聽(tīng)套接字,并返回套接字文件描述符 | 建議將服務(wù)器監(jiān)聽(tīng)套接字建立在/var/tmp/目錄下 |
| serv_accept | 服務(wù)器調(diào)用該函數(shù)接受來(lái)自客戶的連接請(qǐng)求 | |
| cli_conn | 客戶調(diào)用該函數(shù)連接到服務(wù)器,其中name是客戶的監(jiān)聽(tīng)套接字 | 該函數(shù)為客戶建立的套接字將保存在/var/tmp/目錄中,并且以-c的方式命名,其中c是用來(lái)區(qū)別不同套接字通訊用途的字母,由project參數(shù)指定。MiniGUI-Processes內(nèi)部使用了 ‘a(chǎn)’,所以由應(yīng)用程序建立的套接字,應(yīng)該使用除‘a(chǎn)’之外的字母 |
| sock_write_t | 在建立并連接之后,客戶和服務(wù)器之間就可以使用sock_write_t函數(shù)和sock_read_t函數(shù)進(jìn)行數(shù)據(jù)交換 | 和系統(tǒng)調(diào)用write類似,但可以傳遞進(jìn)入一個(gè)超時(shí)參數(shù),注意該參數(shù)以10ms為單位,為零時(shí)超時(shí)設(shè)置失效,且超時(shí)設(shè)置只在mginit程序中有效 |
| sock_read_t | 和系統(tǒng)調(diào)用read類似,但可以傳遞進(jìn)入一個(gè)超時(shí)參數(shù) | 注意該參數(shù)以10ms為單位,為零時(shí)超時(shí)設(shè)置失效,且超時(shí)設(shè)置只在mginit程序中有效 |
| sock_write | sock_write_t的宏定義,超時(shí)時(shí)間為零 | |
| sock_read | sock_read_t的宏定義,超時(shí)時(shí)間為零 | |
11 界面外觀及特效
11.1 窗口屬性操作函數(shù)
函數(shù)含義備注
| GetWindowElementAttr | 獲取指定窗口的某個(gè)元素屬性的屬性值 | we_attr_id是窗口元素屬性ID |
| SetWindowElementAttr | 設(shè)置窗口的某個(gè)元素屬性的屬性值 | |
| GetWindowElementPixelEx | 獲取窗口元素的顏色值 | |
| SetWindowElementRenderer | 設(shè)置當(dāng)前窗口的渲染器 | werdr_name為所要設(shè)置的渲染器的名字,we_attrs是修改的窗口屬性的結(jié)構(gòu)體數(shù)組 |
| GetWindowRendererFromName | 通過(guò)名稱獲取渲染器 | |
| AddWindowElementRenderer | 添加渲染器到MiniGUI | |
| RemoveWindowElementRenderer | 從MiniGUI刪除渲染器 | |
| GetDefaultWindowElementRenderer | 獲取默認(rèn)渲染器 | |
| SetDefaultWindowElementRenderer | 設(shè)置默認(rèn)渲染器 | |
| SetWindowElementRenderer | 指定窗口渲染器 | |
11.2 窗口元素屬性名稱
配置文件中的名稱代碼名稱說(shuō)明
| caption | WE_METRICS_CAPTION | 窗口標(biāo)題欄大小 |
| WE_FONT_CAPTION | 窗口標(biāo)題欄字體 |
| fgc_active_caption | WE_FGC_ACTIVE_CAPTION | 焦點(diǎn)狀態(tài)窗口標(biāo)題欄前景色 |
| bgca_active_caption | WE_BGCA_ACTIVE_CAPTION | 焦點(diǎn)狀態(tài)窗口標(biāo)題欄背景漸變起始色 |
| bgcb_active_caption | WE_BGCB_ACTIVE_CAPTION | 焦點(diǎn)狀態(tài)窗口標(biāo)題欄背景漸變終止色 |
| fgc_inactive_caption | WE_FGC_INACTIVE_CAPTION | 非焦點(diǎn)狀態(tài)窗口標(biāo)題欄前景色 |
| bgca_inactive_caption | WE_BGCA_INACTIVE_CAPTION | 非焦點(diǎn)狀態(tài)窗口標(biāo)題欄背景色漸變起始色 |
| bgcb_inactive_caption | WE_BGCB_INACTIVE_CAPTION | 非焦點(diǎn)狀態(tài)窗口標(biāo)題欄背景色漸變終止色 |
| menu | WE_METRICS_MENU | 菜單項(xiàng)、菜單欄的高度 |
| WE_FONT_MENU | 菜單字體 |
| fgc_menu | WE_FGC_MENU | 菜單前景色 |
| bgc_menu | WE_BGC_MENU | 菜單背景色 |
| border | WE_METRICS_WND_BORDER | 窗口邊框?qū)挾?/td> |
| fgc_active_border | WE_FGC_ACTIVE_WND_BORDER | 焦點(diǎn)狀態(tài)窗口邊框顏色 |
| fgc_inactive_border | WE_FGC_INACTIVE_WND_BORDER | 非焦點(diǎn)狀態(tài)窗口邊框顏色 |
| scrollbar | WE_METRICS_SCROLLBAR | 滾動(dòng)條大小 |
| fgc_msgbox | WE_FGC_MESSAGEBOX | 消息框前景色 |
| WE_FONT_MESSAGEBOX | 消息框字體 |
| fgc_tip | WE_FGC_TOOLTIP | 提示框前景色 |
| bgc_tip | WE_BGC_TOOLTIP | 提示框背景色 |
| WE_FONT_TOOLTIP | 提示框字體 |
| fgc_window | WE_FGC_WINDOW | 窗口前景色 |
| bgc_window | WE_BGC_WINDOW | 窗口背景色 |
| fgc_3dbox | WE_FGC_THREED_BODY | 三維立體框表面上符號(hào)的顏色,如對(duì)勾、箭頭等的顏色 |
| mainc_3dbox | WE_MAINC_THREED_BODY | 三維立體框邊框及表面顏色 |
| fgc_selected_item | WE_FGC_SELECTED_ITEM | 選定菜單項(xiàng)(列表項(xiàng))的前景色 |
| bgc_selected_item | WE_BGC_SELECTED_ITEM | 選定菜單項(xiàng)(列表項(xiàng))的背景色 |
| bgc_selected_lostfocus | WE_BGC_SELECTED_LOSTFOCUS | 選定菜單項(xiàng)(列表項(xiàng))失去焦點(diǎn)后的背景色 |
| fgc_disabled_item | WE_FGC_DISABLED_ITEM | 無(wú)效菜單項(xiàng)(列表項(xiàng))的前景色 |
| bgc_disabled_item | WE_BGC_DISABLED_ITEM | 無(wú)效菜單項(xiàng)(列表項(xiàng))的背景色 |
| fgc_hilight_item | WE_FGC_HIGHLIGHT_ITEM | 高亮菜單項(xiàng)(列表項(xiàng))的前景色 |
| bgc_hilight_item | WE_BGC_HIGHLIGHT_ITEM | 高亮菜單項(xiàng)(列表項(xiàng))的背景色 |
| fgc_significant_item | WE_FGC_SIGNIFICANT_ITEM | 重要菜單項(xiàng)(列表項(xiàng))的前景色 |
| bgc_significant_item | WE_BGC_SIGNIFICANT_ITEM | 重要菜單項(xiàng)(列表項(xiàng))的背景色 |
| bgc_desktop | WE_BGC_DESKTOP | 桌面背景色 |
11.3 窗口皮膚屬性名稱
配置文件中的名稱代碼名稱說(shuō)明
| skin_bkgnd | WE_LFSKIN_WND_BKGND | 桌面背景皮膚圖片 |
| skin_caption | WE_LFSKIN_CAPTION | 窗口標(biāo)題欄皮膚圖 |
| skin_caption_btn | WE_LFSKIN_CAPTION_BTN | 窗口標(biāo)題欄按鈕皮膚圖片 |
| skin_scrollbar_hshaft | WE_LFSKIN_SCROLLBAR_HSHAFT | 水平滾動(dòng)條滾槽皮膚圖片 |
| skin_scrollbar_vshaft | WE_LFSKIN_SCROLLBAR_VSHAFT | 垂直滾動(dòng)條滾槽皮膚圖片 |
| skin_scrollbar_hthumb | WE_LFSKIN_SCROLLBAR_HTHUMB | 水平滾動(dòng)條游標(biāo)皮膚圖片 |
| skin_scrollbar_vthumb | WE_LFSKIN_SCROLLBAR_VTHUMB | 垂直滾動(dòng)條游標(biāo)皮膚圖片 |
| skin_scrollbar_arrows | WE_LFSKIN_SCROLLBAR_ARROWS | 滾動(dòng)條箭頭皮膚圖 |
| skin_tborder | WE_LFSKIN_BORDER_TOP | 頂部邊框皮膚圖片 |
| skin_bborder | WE_LFSKIN_BORDER_BOTTOM | 底部邊框皮膚圖片 |
| skin_lborder | WE_LFSKIN_BORDER_LEFT | 左邊邊框皮膚圖片 |
| skin_rborder | WE_LFSKIN_BORDER_RIGHT | 右邊邊框皮膚圖片 |
| skin_arrows | WE_LFSKIN_ARROWS | 箭頭皮膚圖片 |
| skin_arrows_shell | WE_LFSKIN_ARROWS_SHELL | 肩頭外圍皮膚圖片 |
| skin_pushbtn | WE_LFSKIN_PUSHBUTTON | PUSH 按鈕皮膚圖 |
| skin_radiobtn | WE_LFSKIN_RADIOBUTTON | 單選按鈕皮膚圖片 |
| skin_checkbtn | WE_LFSKIN_CHECKBUTTON | 復(fù)選按鈕皮膚圖片 |
| skin_tree | WE_LFSKIN_TREE | 樹(shù)控件皮膚圖片 |
| skin_header | WE_LFSKIN_HEADER | 表頭皮膚圖片 |
| skin_tab | WE_LFSKIN_TAB | 屬性頁(yè)皮膚圖片 |
| skin_tbslider_h | WE_LFSKIN_TBSLIDER_H | 水平滑動(dòng)條皮膚圖 |
| skin_tbslider_v | WE_LFSKIN_TBSLIDER_V | 垂直滑動(dòng)條皮膚圖 |
| skin_trackbar_horz | WE_LFSKIN_TRACKBAR_HORZ | 水平軌跡條皮膚圖 |
| skin_trackbar_vert | WE_LFSKIN_TRACKBAR_VERT | 垂直軌跡條皮膚圖 |
| skin_progressbar_htrack | WE_LFSKIN_PROGRESS_HTRACKBAR | 水平進(jìn)度條滑軌皮膚圖片 |
| skin_progressbar_vtrack | WE_LFSKIN_PROGRESS_VTRACKBAR | 垂直進(jìn)度條滑軌皮膚圖片 |
| skin_progressbar_hchunk | WE_LFSKIN_PROGRESS_HCHUNK | 水平進(jìn)度條滑塊皮膚圖片 |
| skin_progressbar_vchunk | WE_LFSKIN_PROGRESS_VCHUNK | 垂直進(jìn)度條滑塊皮膚圖片 |
11.4 渲染器結(jié)構(gòu)體成員
成員名稱說(shuō)明
| name | 渲染器名稱,長(zhǎng)度為L(zhǎng)EN_RENDERER_NAM。宏LEN_RENDERER_NAME定義為15 |
| init | 渲染器初始化函數(shù)指針。用來(lái)初始化渲染器的基本信息,包括窗口元素的尺寸、字體、顏色等窗口屬性信息和渲染器私有信息。 |
| deinit | 渲染器銷毀函數(shù)指針。用來(lái)釋放渲染器所占用的資源。 |
| calc_3dbox_color | 三維立體顏色計(jì)算函數(shù)指針,此函數(shù)根據(jù)三維立體邊框和表面顏色color和計(jì)算標(biāo)志flag獲取一個(gè)顏色值 |
| draw_3dbox | 三維立體框繪制函數(shù)指針 |
| draw_radio | 單選框繪制函數(shù)指針 |
| draw_checkbox | 非選中復(fù)選框繪制函數(shù)指針 |
| draw_checkmark | 選中復(fù)選框繪制函數(shù)指針 |
| draw_arrow | 箭頭繪制函數(shù)指針 |
| draw_fold | 打開(kāi)的或者是關(guān)閉的文件夾、樹(shù)控件的縮進(jìn)、展開(kāi)標(biāo)志的繪制函數(shù)指針 |
| draw_focus_frame | 焦點(diǎn)方框繪制函數(shù)指針 |
| draw_normal_item | 無(wú)效狀態(tài)的列表框子項(xiàng)的繪制函數(shù)指針 |
| draw_significant_item | 需重點(diǎn)標(biāo)識(shí)的列表框子項(xiàng)的繪制函數(shù)指針 |
| draw_push_button | PUSH按鈕繪制函數(shù)指針 |
| draw_radio_button | 單選按鈕繪制函數(shù)指針 |
| draw_check_button | 復(fù)選框按鈕繪制函數(shù)指針 |
| draw_border | 窗口邊框繪制函數(shù)指針 |
| draw_caption | 窗口標(biāo)題欄繪制函數(shù)指針 |
| draw_caption_button | 窗口標(biāo)題欄按鈕繪制函數(shù)指針。標(biāo)題欄按鈕包括:最小化按鈕、最大化按鈕、關(guān)閉按鈕 |
| draw_scrollbar | 滾動(dòng)條繪制函數(shù)指針 |
| calc_trackbar_rect | 軌跡條外框繪制函數(shù)指針 |
| draw_trackbar | 軌跡條繪制函數(shù)指針 |
| calc_we_area | 窗口各元素區(qū)域計(jì)算函數(shù)指針。元素區(qū)域包括邊框、標(biāo)題欄、標(biāo)題欄按鈕、工具欄、菜單、客戶區(qū)、窗口水平滾動(dòng)條和垂直滾動(dòng)條 |
| calc_we_metrics | 窗口各元素尺寸的計(jì)算函數(shù)指針。所包含的元素與calc_we_area函數(shù)所包含的元素相同 |
| hit_test | 獲取鼠標(biāo)所點(diǎn)擊的窗口元素的函數(shù)指針 |
| on_click_hotspot | 當(dāng)鼠標(biāo)點(diǎn)擊到熱點(diǎn)區(qū)域時(shí),進(jìn)行相應(yīng)處理的函數(shù)指針 |
| draw_custom_hotspot | 熱點(diǎn)區(qū)域的繪制函數(shù)指針 |
| calc_thumb_area | 水平滾動(dòng)條和垂直滾動(dòng)條游標(biāo)區(qū)域的計(jì)算函數(shù)指針 |
| disabled_text_out | 無(wú)效區(qū)域文字的輸出函數(shù)指針 |
| draw_tab | 屬性頁(yè)控件標(biāo)簽的繪制函數(shù)指針 |
| draw_progress | 進(jìn)度條繪制函數(shù) |
| draw_header | 列表框或者網(wǎng)格控件的表頭繪制函數(shù)指針 |
| on_get_rdr_attr | 渲染器私有信息獲取函數(shù)指針 |
| on_set_rdr_attr | 渲染器私有信息設(shè)置函數(shù)指針 |
| erase_background | 窗口背景擦除繪制函數(shù)指針 |
| draw_normal_menu_item | 正常狀態(tài)菜單項(xiàng)繪制函數(shù)指針 |
| draw_hilite_menu_item | 高亮狀態(tài)菜單項(xiàng)繪制函數(shù)指針 |
| draw_disabled_menu_item | 無(wú)效狀態(tài)菜單項(xiàng)繪制函數(shù)指針 |
| we_metrics | 窗口尺寸屬性 |
| we_colors | 窗口顏色屬性 |
| we_fonts | 窗口字體屬性 |
| we_icon | 窗口所使用的圖標(biāo)句柄 |
| refcount | 渲染器引用計(jì)數(shù) |
| private_info | 渲染器私有信息指針 |
11.5 雙緩沖區(qū)操作函數(shù)
函數(shù)含義備注
| CreateSecondaryDC | 雙緩沖區(qū)DC創(chuàng)建函數(shù) | 根據(jù)傳入的窗口大小,創(chuàng)建兼容的內(nèi)存DC并返回 |
| SetSecondaryDC | 將已經(jīng)創(chuàng)建好的內(nèi)存DC設(shè)置為目標(biāo)主窗口的雙緩沖區(qū),并設(shè)置從雙緩沖區(qū)的屏幕DC數(shù)據(jù)復(fù)制回調(diào)函數(shù) | |
| GetSecondaryDC | 雙緩沖區(qū)句柄獲取函數(shù) | |
| GetSecondaryClientDC | 該函數(shù)用于雙緩沖窗體的客戶區(qū)繪制DC,如果窗體不支持雙緩沖,則直接返回一般的客戶區(qū)DC,相當(dāng)于調(diào)用GetClientDC | |
| ReleaseSecondaryDC | 該函數(shù)用于釋放雙緩沖DC,如果是主窗體本身的雙緩沖DC,則什么也不處理;否則釋該DC | |
| DeleteSecondaryDC | 該函數(shù)刪除由CreateSecondaryDC創(chuàng)建的內(nèi)存DC | |
| GetSecondarySubDC | 該函數(shù)僅針對(duì)雙緩沖,在私有窗口DC基礎(chǔ)上創(chuàng)建子DC | 使之可以作為主窗口的客戶DC,或者控件的DC使用 |
| ReleaseSecondarySubDC | 該函數(shù)釋放私有DC的子DC | |
在調(diào)用 SetSecondaryDC 函數(shù)時(shí)要注意以下幾點(diǎn)
如果主窗口具有WS_EX_AUTOSecondaryDC風(fēng)格,則會(huì)取消該風(fēng)格,并調(diào)用 DeleteSecondaryDC函數(shù)刪除已有的雙緩沖區(qū),并返回HDC_SCREEN
如果主窗口沒(méi)有WS_EX_AUTOSecondaryDC風(fēng)格,則返回原先的雙緩沖區(qū)句柄。原先的雙緩沖區(qū)由應(yīng)用程序自行管理
如果傳入HDC_SCREEN,將取消窗口的雙緩沖機(jī)制
如果調(diào)用該函數(shù)時(shí),傳遞進(jìn)入的ON_UPDATE_SecondaryDC回調(diào)函數(shù)為NULL,則這時(shí)MiniGUI不會(huì)自動(dòng)完成屏幕DC到屏幕的顯示的繪制,用戶需要使用基本的塊拷貝函數(shù)完成雙緩沖區(qū)到屏幕DC的復(fù)制;否則調(diào)用該回調(diào)函數(shù)由應(yīng)用程序負(fù)責(zé)從雙緩沖區(qū)到屏幕DC的復(fù)制,應(yīng)用程序可在此時(shí)完成界面特效
12 圖形設(shè)備接口
12.1 設(shè)備上下文句柄
函數(shù)含義備注
| BeginPaint | 接收到MSG_PAINT消息時(shí),獲取句柄 | |
| EndPaint | 繪制結(jié)束之后,釋放設(shè)備上下文句柄 | |
| GetDC | 獲取的設(shè)備上下文是針對(duì)整個(gè)窗口的 | 避免同時(shí)使用多個(gè)設(shè)備上下文,并避免在遞歸函數(shù)中調(diào)用 |
| GetSubDC | 獲取指定DC的兼容子DC | |
| GetClientDC | 獲取的設(shè)備上下文是針對(duì)窗口客戶區(qū) | |
| ReleaseDC | 釋放上面三個(gè)函數(shù)獲取的設(shè)備上下文 | |
| CreatePrivateDC | 創(chuàng)建私有設(shè)備環(huán)境上下文,如果主窗口的擴(kuò)展風(fēng)格中指定了WS_EX_USEPRIVATECDC風(fēng)格,則CreateMainWindow函數(shù)會(huì)自動(dòng)為該窗口的客戶區(qū)建立私有設(shè)備上下文 | |
| CreatePrivateSubDC | 創(chuàng)建私有設(shè)備環(huán)境上下文的兼容子DC | |
| CreatePrivateClientDC | 創(chuàng)建客戶區(qū)私有設(shè)備環(huán)境上下文,如果控件類具有CS_OWNDC屬性,則所有屬于該控件類的控件將自動(dòng)建立私有設(shè)備上下文 | |
| GetPrivateClientDC | 獲取私有設(shè)備環(huán)境上下文 | |
| DeletePrivateDC | 刪除私有設(shè)備環(huán)境上下文,自動(dòng)創(chuàng)建的,系統(tǒng)將在銷毀窗口時(shí)自動(dòng)調(diào)用 | |
| SaveDC | 保存設(shè)備環(huán)境上下文 | |
| RestoreDC | 恢復(fù)設(shè)備環(huán)境上下文 | |
| CreateCompatibleDCEx | 內(nèi)存設(shè)備上下文的創(chuàng)建,在系統(tǒng)內(nèi)存中建立一個(gè)類似顯示內(nèi)存的區(qū)域,然后在該區(qū)域中進(jìn)行繪圖操作,結(jié)束后再?gòu)?fù)制到顯示內(nèi)存中 | 速度很快,減少直接操作顯存造成的閃爍現(xiàn)象 |
| CreateCompatibleDC | 內(nèi)存設(shè)備上下文的創(chuàng)建,在系統(tǒng)內(nèi)存中建立一個(gè)類似顯示內(nèi)存的區(qū)域,然后在該區(qū)域中進(jìn)行繪圖操作,結(jié)束后再?gòu)?fù)制到顯示內(nèi)存中 | |
| CreateMemDC | 指定新建內(nèi)存DC的高度、寬度、顏色深度,以及必要的RGBA組成方式 | |
| ConvertMemDC | 將一個(gè)任意的內(nèi)存DC對(duì)象,根據(jù)給定的參考DC的象素格式進(jìn)行轉(zhuǎn)換 | |
| DeleteMemDC | 刪除創(chuàng)建的內(nèi)存設(shè)備上下文 | |
| DeleteCompatibleDC | 刪除創(chuàng)建的內(nèi)存設(shè)備上下文 | |
| SetMemDCAlpha | 設(shè)定或者取消整個(gè)內(nèi)存DC對(duì)象的Alpha通道值 | Alpha通道值作用在DC的所有象素點(diǎn)上 |
| SetMemDCColorKey | 設(shè)定或者取消整個(gè)內(nèi)存DC對(duì)象的ColorKey | 即透明象素值 |
| CreateMemDCFromBitmap | 創(chuàng)建一個(gè)指向設(shè)備相關(guān)位圖并和指定DC兼容的內(nèi)存DC | |
| CreateMemDCFromMyBitmap | 創(chuàng)建指向設(shè)備無(wú)關(guān)位圖的內(nèi)存DC | |
| LockDC | 鎖定給定HDC的指定矩形區(qū)域,然后返回緩沖區(qū)頭指針 | |
| UnlockDC | 解開(kāi)已鎖定的HDC | |
| InitSlaveScreen | 創(chuàng)建副屏 | 可以根據(jù)指定的引擎和顯示模式構(gòu)造打開(kāi)雙屏并返回一個(gè)圖形設(shè)備上下文句柄 |
| TerminateSlaveScreen | 銷毀副屏 | hdc 參數(shù)是InitSlaveScreen函數(shù)返回的表示副屏的圖形設(shè)備上下文句柄 |
12.2 矩形/區(qū)域/剪切域操作
函數(shù)含義備注
| SetRect | 對(duì)RECT對(duì)象的各個(gè)分量進(jìn)行賦值 | |
| SetRectEmpty | 將RECT對(duì)象設(shè)置為空 | |
| IsRectEmpty | 判斷給定RECT對(duì)象是否為空 | |
| NormalizeRect | 對(duì)給定矩形進(jìn)行正規(guī)化處理 | 滿足(right>left并且 bottom>top) |
| CopyRect | 復(fù)制矩形 | |
| EqualRect | 判斷兩個(gè)RECT對(duì)象是否相等 | |
| IntersectRect | 求兩個(gè)RECT對(duì)象之交集 | 不相交,返回FALSE |
| DoesIntersect | 僅僅判斷兩個(gè)矩形是否相交 | |
| IsCovered | 判斷對(duì)象A是否全部覆蓋對(duì)象B | |
| UnionRect | 求兩個(gè)矩形之并 | 不相并,返回FALSE |
| GetBoundRect | 求兩個(gè)矩形的外包最小矩形 | |
| SubstractRect | 從一個(gè)矩形中減去另外一個(gè)矩形 | |
| OffsetRect | 對(duì)給定的RECT對(duì)象進(jìn)行平移處理 | |
| InflateRect | 對(duì)給定的RECT對(duì)象進(jìn)行膨脹處理 | 給定膨脹值的兩倍 |
| InflateRectToPt | 將給定的RECT對(duì)象膨脹到指定的點(diǎn) | |
| PtInRect | 判斷給定的點(diǎn)是否位于指定的RECT中 | |
| SetClipRgn | 將剪切域設(shè)為僅包含一個(gè)矩形的剪切域 | |
| ClipRgnCopy | 復(fù)制剪切域 | |
| ClipRgnIntersect | 求兩個(gè)剪切域的交集 | |
| GetClipRgnBoundRect | 求剪切域的外包最小矩形 | |
| IsEmptyClipRgn | 判斷剪切域是否為空 | |
| EmptyClipRgn | 釋放剪切域中的剪切矩形,并清空剪切域 | |
| AddClipRect | 將一個(gè)剪切矩形追加到剪切域中 | |
| IntersectClipRect | 求剪切區(qū)域和給定矩形相交的剪切區(qū)域 | |
| SubtractClipRect | 從剪切區(qū)域中減去指定的矩形 | |
| CreateClipRgn | 創(chuàng)建一個(gè)剪切區(qū)域 | |
| DestroyClipRgn | 清空并且銷毀一個(gè)剪切區(qū)域 | |
| ExcludeClipRect | 從設(shè)備上下文的當(dāng)前可見(jiàn)區(qū)域中排除給定的矩形區(qū)域 | 設(shè)備上下文的可見(jiàn)區(qū)域?qū)⒖s小 |
| IncludeClipRect | 向當(dāng)前設(shè)備上下文的可見(jiàn)區(qū)域中添加一個(gè)矩形區(qū)域 | 設(shè)備上下文的可見(jiàn)區(qū)域?qū)U(kuò)大 |
| ClipRectIntersect | 將設(shè)備上下文的可見(jiàn)區(qū)域設(shè)置為已有區(qū)域和給定矩形區(qū)域的交集 | |
| SelectClipRect | 將設(shè)備上下文的可見(jiàn)區(qū)域重置為一個(gè)矩形區(qū)域 | |
| SelectClipRegion | 將設(shè)備上下文的可見(jiàn)區(qū)域設(shè)置為一個(gè)指定的區(qū)域 | |
| GetBoundsRect | 獲取當(dāng)前可見(jiàn)區(qū)域的外包最小矩形 | |
| PtVisible | 判斷給定的點(diǎn)是否可見(jiàn) | |
| RectVisible | 判斷給定的矩形是否可見(jiàn) | |
| PtInRegion | 檢查給定點(diǎn)是否位于給定的區(qū)域中 | |
| RectInRegion | 檢查給定矩形是否和給定區(qū)域相交 | |
| OffsetRegionEx | 將剪切域處于兩個(gè)矩形區(qū)域的重疊區(qū)的剪切矩形進(jìn)行位移 | |
| OffsetRegion | 對(duì)剪切域簡(jiǎn)單的進(jìn)行位移 | |
| IntersectRegion | 對(duì)兩個(gè)給定區(qū)域進(jìn)行求交運(yùn)算 | |
| UnionRegion | 合并兩個(gè)不同的區(qū)域 | |
| SubtractRegion | 從一個(gè)區(qū)域中減去另外一個(gè)區(qū)域 | |
| XorRegion | 對(duì)兩個(gè)區(qū)域進(jìn)行異或運(yùn)算 | |
| GetRasterOperation | 獲取當(dāng)前的光柵操作 | |
| SetRasterOperation | 設(shè)置當(dāng)前的光柵操作 | |
12.3 像素與RGB操作函數(shù)
函數(shù)含義
| SetPixel | 直接設(shè)置像素值 |
| SetPixelRGB | 通過(guò)RGB值設(shè)置像素值 |
| GetPixel | 直接獲取像素值 |
| GetPixelRGB | 通過(guò)RGB值獲取像素值 |
| RGB2Pixel | RGB值轉(zhuǎn)換成像素值 |
| Pixel2RGB | 像素值轉(zhuǎn)換成RGB值 |
12.4 位圖操作函數(shù)
函數(shù)含義備注
| FillBox | 填充指定矩形顏色 | 設(shè)置刷子顏色后,受當(dāng)前光柵操作的影響 |
| FillCircle | 填充指定的圓顏色 | 設(shè)置刷子顏色后,受當(dāng)前光柵操作的影響 |
| FillEllipse | 填充指定的橢圓顏色 | 設(shè)置刷子顏色后,受當(dāng)前光柵操作的影響 |
| FillPolygon | 填充指定的多邊形顏色 | 設(shè)置刷子顏色后,受當(dāng)前光柵操作的影響 |
| FloodFill | 指定點(diǎn)開(kāi)始填注 | 設(shè)置刷子顏色后,受當(dāng)前光柵操作的影響 |
| FillBoxWithBitmap | 用設(shè)備相關(guān)位圖對(duì)象填充矩形框 | 可以用來(lái)擴(kuò)大或者縮小位圖 |
| FillBoxWithBitmapPart | 用設(shè)備相關(guān)位圖對(duì)象的部分填充矩形框 | 也可以擴(kuò)大或縮小位圖 |
| BitBlt | 用來(lái)實(shí)現(xiàn)兩個(gè)相同或不同的設(shè)備上下文之間的顯示內(nèi)存復(fù)制 | |
| StretchBlt | 在BitBlt的基礎(chǔ)上進(jìn)行縮放操作 | |
| LoadBitmapEx | 將位圖對(duì)象的逐個(gè)掃描行裝載成設(shè)備無(wú)關(guān)的位圖對(duì)象 | 可以減少對(duì)內(nèi)存資源的占用 |
| LoadBitmapFromFile | 從文件加載位圖,設(shè)備相關(guān) | |
| LoadBitmapFromMemory | 從內(nèi)存加載位圖,設(shè)備相關(guān) | |
| LoadBitmap | LoadBitmapFromFile函數(shù)宏定義 | |
| UnloadBitmap | 卸載位圖 | |
| LoadMyBitmapEx | 將位圖文件裝載成設(shè)備無(wú)關(guān)的位圖對(duì)象 | |
| LoadMyBitmapFromFile | 從文件加載位圖,設(shè)備無(wú)關(guān) | |
| LoadMyBitmapFromMemory | 從內(nèi)存加載位圖,設(shè)備無(wú)關(guān) | |
| UnloadMyBitmap | 卸載位圖 | |
| InitMyBitmapSL | 為L(zhǎng)oadMyBitmapSL函數(shù)的裝載進(jìn)行初始化 | |
| LoadMyBitmapSL | 每加載完一行后,將調(diào)用傳入該函數(shù)的用戶定義回調(diào)函數(shù)cb | 對(duì)裝載后的一條掃描線進(jìn)行處理 |
| CleanupMyBitmapSL | LoadMyBitmapSL加載完釋放資源 | |
| PaintImageEx | 將指定的圖形直接繪制到屏幕上,無(wú)需裝載為BITMAP對(duì)象 | 減少圖片裝載和繪制中內(nèi)存消耗 |
| PaintImageFromFile | 從文件繪制 | |
| PaintImageFromMem | 從內(nèi)存繪制 | |
| ExpandMyBitmap | 將設(shè)備無(wú)關(guān)位圖轉(zhuǎn)換為和特定設(shè)備上下文相關(guān)的位圖 | |
| ScaleBitmap | 將源BITMAP對(duì)象進(jìn)行伸縮處理 | |
| GetBitmapFromDC | 將指定矩形范圍內(nèi)的象素復(fù)制到BITMAP對(duì)象中 | |
| GetPixelInBitmap | 獲得BITMAP對(duì)象中指定位置的象素值 | |
| SetPixelInBitmap | 設(shè)置BITMAP對(duì)象中指定位置的象素值 | |
BitBlt 函數(shù)的各參數(shù)含義如下
hsdc:源設(shè)備上下文
sx,sy:源設(shè)備上下文中所選矩形的左上角坐標(biāo)
sw,sh:所選矩形的寬度和高度
hddc:目標(biāo)設(shè)備上下文
dx,dy:目標(biāo)設(shè)備上下文中目標(biāo)矩形的左上角坐標(biāo)
dwRop:光柵操作,目前被忽略
12.5 圖片縮放/旋轉(zhuǎn)函數(shù)
函數(shù)含義
| StretchPaintImageFromFile | 從文件讀入圖片信息并進(jìn)行縮放處理 |
| StretchPaintImageFromMem | 從內(nèi)存中讀取圖片信息并進(jìn)行縮放處理 |
| StretchPaintImageEx | 從數(shù)據(jù)源中讀取圖片信息并同時(shí)進(jìn)行縮放處理 |
| PivotScaledBitmapFlip | 將位圖進(jìn)行垂直或水平翻轉(zhuǎn),并且可以縮放至指定寬度、高度,同時(shí)繞指定點(diǎn)旋轉(zhuǎn)一指定的角度angle并將它畫(huà)在DC的指定位置 |
| RotateBitmap | 可對(duì)位圖進(jìn)行繞中心旋轉(zhuǎn) |
| PivotBitmap | 可對(duì)位圖進(jìn)行繞指定旋轉(zhuǎn)中心進(jìn)行旋轉(zhuǎn) |
| RotateScaledBitmap | 將位圖縮放至指定的寬度和高度并繞中心旋轉(zhuǎn)指定的角度 |
| RotateBitmapVFlip | 將位圖垂直翻轉(zhuǎn)并繞中心旋轉(zhuǎn) |
| RotateBitmapHFlip | 將位圖水平翻轉(zhuǎn)并繞中心旋轉(zhuǎn) |
| RotateScaledBitmapVFlip | 將位圖垂直翻轉(zhuǎn),縮放到指定的寬度和高度并繞中心旋轉(zhuǎn) |
| RotateScaledBitmapHFlip | 將位圖水平翻轉(zhuǎn),縮放到指定的寬度和高度并繞中心旋轉(zhuǎn) |
12.6 調(diào)色板操作函數(shù)
函數(shù)含義
| CreatePalette | 創(chuàng)建一個(gè)新的調(diào)色板 |
| GetDefaultPalette | 得到默認(rèn)的調(diào)色板 |
| GetPaletteEntries | 獲取調(diào)色板的入口項(xiàng) |
| SetPaletteEntries | 設(shè)置調(diào)色板的入口項(xiàng) |
| ResizePalette | 重設(shè)調(diào)色板的大小 |
| GetNearestPaletteIndex | 得到調(diào)色板的最接近的索引值 |
| GetNearestColor | 得到調(diào)色板的最接近的顏色 |
12.7 畫(huà)線操作函數(shù)
函數(shù)含義
| LineClipper | 直線剪切器,對(duì)給定的直線進(jìn)行剪切 |
| LineGenerator | 直線生成器 |
| CircleGenerator | 圓生成器 |
| EllipseGenerator | 橢圓生成器 |
| CircleArcGenerator | 圓弧生成器 |
| PolygonIsMonotoneVertical | 判斷給定的多邊形是否是垂直單調(diào)多邊形 |
| MonotoneVerticalPolygonGenerator | 垂直多邊形生成器 |
| PolygonGenerator | 一般多邊形生成器 |
| FloodFillGenerator | 填注生成器 |
| LineTo | 從當(dāng)前畫(huà)筆點(diǎn)畫(huà)直線到給定點(diǎn) |
| MoveTo | 將當(dāng)前畫(huà)筆的起始點(diǎn)移動(dòng)到給定點(diǎn) |
| Rectangle | 繪制矩形 |
| RoundRect | 繪制圓角矩形 |
| PollyLineTo | 利用LineTo函數(shù)畫(huà)折線 |
| SplineTo | 利用LineTo函數(shù)畫(huà)三次樣條曲線 |
| Circle | 繪制圓 |
| Ellipse | 繪制橢圓 |
| CircleArc | 繪制圓弧 |
| InitFreeClipRectList | 為區(qū)域創(chuàng)建剪切矩形的私有堆 |
| InitClipRgn | 初始化區(qū)域,并指定區(qū)域使用已創(chuàng)建的私有堆 |
| InitCircleRegion | 將某個(gè)區(qū)域分別初始化為圓 |
| InitEllipseRegion | 將某個(gè)區(qū)域分別初始化為橢圓 |
| InitPolygonRegion | 將某個(gè)區(qū)域分別初始化為多邊形 |
12.8 高級(jí)二維繪圖函數(shù)
在配置MiniGUI時(shí),我們可以通過(guò)–enable-adv2dapi參數(shù)來(lái)打開(kāi)MiniGUI中的高級(jí)二維繪圖函數(shù)接口。當(dāng)MiniGUI中包含高級(jí)二維繪圖函數(shù)接口時(shí),前面提到的所有填充類函數(shù)將受到當(dāng)前畫(huà)刷屬性的影響,這些函數(shù)包括FillBox 、FillCircle、 FillEllipse、FillPolygon、FloodFill等等,但基本的線段繪制函數(shù)卻不會(huì)受畫(huà)筆屬性的影響,這些函數(shù)包括MoveTo /LineTo、Rectangle、PolyLineTo、SplineTo、Circle、Ellipse、CircleArc等函數(shù)。這些基本的線段繪制函數(shù)仍將以零畫(huà)筆繪制
函數(shù)說(shuō)明
| GetPenType/SetPenType | 獲取/設(shè)置畫(huà)筆類型 |
| GetPenWidth/SetPenWidth | 獲取/設(shè)置畫(huà)筆寬度,以象素為單位 |
| GetPenCapStyle/SetPenCapStyle | 獲取/設(shè)置畫(huà)筆端點(diǎn)風(fēng)格 |
| GetPenJoinStyle/SetPenJoinStyle | 獲取/設(shè)置畫(huà)筆接合風(fēng)格 |
| SetPenDashes | 設(shè)定畫(huà)筆的虛實(shí) |
| GetBrushType/SetBrushType | 獲取/設(shè)置畫(huà)刷類型 |
| SetBrushInfo | 設(shè)定畫(huà)刷所使用的位圖或者點(diǎn)刻位圖 |
類型說(shuō)明
| PT_SOLID | 表示實(shí)畫(huà)筆 |
| PT_ON_OFF_DASH | 開(kāi)/關(guān)虛線,虛實(shí)線段中的偶數(shù)段會(huì)被繪制,而奇數(shù)段不會(huì)被繪制 |
| PT_DOUBLE_DASH | 雙虛線,虛實(shí)線段中的偶數(shù)段會(huì)被繪制,而奇數(shù)段會(huì)根據(jù)畫(huà)刷的設(shè)置進(jìn)行繪制 |
| PT_CAP_BUTT | 線段的端點(diǎn)被繪制為矩形,并且擴(kuò)展到端點(diǎn)的坐標(biāo)處 |
| PT_CAP_ROUND | 線段的端點(diǎn)被繪制為半圓形,端點(diǎn)是圓弧的圓心,直徑是線段的寬度 |
| PT_CAP_PROJECTING | 線段的端點(diǎn)被繪制為矩形,并超出端點(diǎn)坐標(biāo),超出的部分為線段寬度的一半 |
| PT_JOIN_MITER | 相連兩條線段的邊被擴(kuò)展為一個(gè)斜角,又稱“斜接合” |
| PT_JOIN_ROUND | 相連兩條線段的邊被擴(kuò)展為圓弧,又稱“圓接合” |
| PT_JOIN_BEVEL | 相連兩條線段的接合形成了一個(gè)斜面,又稱“斜面接合” |
| BT_SOLID | 實(shí)畫(huà)刷。以當(dāng)前的畫(huà)刷顏色填充 |
| BT_TILED | 位圖畫(huà)刷。以當(dāng)前設(shè)定的位圖進(jìn)行平鋪式填充 |
| BT_STIPPLED | 透明點(diǎn)刻畫(huà)刷。使用當(dāng)前設(shè)定的點(diǎn)刻位圖填充,點(diǎn)刻位圖中被設(shè)置的位將以畫(huà)刷顏色填充,而未被設(shè)置的位將不做繪制(即保留背景) |
| BT_OPAQUE_STIPPLED | 不透明點(diǎn)刻畫(huà)刷 |
函數(shù)說(shuō)明
| LineEx | 函數(shù)將按照當(dāng)前的畫(huà)筆屬性繪制一條直線段,從(x1,y1)到(x2,y2) |
| ArcEx | 函數(shù)將按照當(dāng)前的畫(huà)筆屬性繪制一條圓弧線段,該圓弧的圓心為(x,y),所在圓或橢圓的最小外接矩形寬為width,高為 height;圓弧的起始角度為ang1,以1/64度為單位表示,ang2指的是圓弧終止角度相對(duì)起始角度的度數(shù),以1/64度為單位表示; ang2為正,表示逆時(shí)針?lè)较?為負(fù)表示順時(shí)針?lè)较颉.?dāng)ang2大于等于360x64時(shí),表示要繪制的不是圓弧而是一個(gè)完整的圓弧或者橢圓 |
| FillArcEx | 函數(shù)將按照當(dāng)前的畫(huà)刷屬性填充一個(gè)圓弧扇形。參數(shù)意義和ArcEx相同 |
| PolyLinEx | 函數(shù)按照當(dāng)前的畫(huà)筆屬性繪制多條線段,如果有相連線段,則會(huì)根據(jù)畫(huà)筆的屬性進(jìn)行接合處理 |
| PolyArcEx | 函數(shù)按照當(dāng)前的畫(huà)筆屬性繪制多條圓弧,如果有相連圓弧,則會(huì)根據(jù)畫(huà)筆的屬性進(jìn)行接合處理 |
| PolyFillArcEx | 函數(shù)填充多個(gè)圓弧 |
13 文本的處理與顯示
13.1 字體的加載與創(chuàng)建
函數(shù)含義備注
| LoadDevFontFromFile | 動(dòng)態(tài)加載設(shè)備字體 | |
| DestroyDynamicDevFont | 卸載動(dòng)態(tài)加載的設(shè)備字體 | |
| CreateBMPDevFont | 創(chuàng)建位圖設(shè)備字體,不能在MiniGui.cfg中配置 | |
| AddGlyphsToBMPFont | 用來(lái)往已創(chuàng)建的位圖設(shè)備字體里面增加字符 | |
| DestroyBMPFont | 用來(lái)銷毀位圖設(shè)備字體 | |
| CreateLogFont | 創(chuàng)建邏輯字體 | |
| CreateLogFontByName | 通過(guò)名字創(chuàng)建邏輯字體 | |
| CreateLogFontIndirect | 間接的創(chuàng)建邏輯字體 | |
| DestroyLogFont | 銷毀創(chuàng)建的邏輯字體 | 不能銷毀被選中的邏輯字體 |
| GetLogFontInfo | 獲取邏輯字體信息 | |
| GetSystemFont | 返回指定的系統(tǒng)邏輯字體 | |
| GetCurFont | 得到當(dāng)前使用的字體 | |
| SelectFont | 給窗口設(shè)置字體 | |
GetSystemFont函數(shù)的參數(shù)
SYSLOGFONT_DEFAULT:系統(tǒng)默認(rèn)字體,必須是單字節(jié)字符集邏輯字體,必須由 RBF 設(shè)備字體組成
SYSLOGFONT_WCHAR_DEF:系統(tǒng)默認(rèn)多字節(jié)字符集字體,通常由RBF設(shè)備字體組成,并且多字節(jié)字體的寬度是
SYSLOGFONT_DEFAULT 邏輯字體的兩倍
SYSLOGFONT_FIXED:固定寬度的系統(tǒng)字體
SYSLOGFONT_CAPTION:用于顯示標(biāo)題欄文本的邏輯字體
SYSLOGFONT_MENU:用于顯示菜單文本的邏輯字體
SYSLOGFONT_CONTROL:用于控件的默認(rèn)邏輯字體
13.2 文本輸出函數(shù)
函數(shù)含義備注
| GetTextExtentPoint | 計(jì)算在給定的輸出寬度內(nèi)輸出多字節(jié)文本時(shí),可輸出的最大字符個(gè)數(shù)、每個(gè)字符所在的字節(jié)位置、每個(gè)字符的輸出位置,以及實(shí)際的輸出高度和寬度 | |
| GetTabbedTextExtentPoint | 在GetTextExtentPoint函數(shù)的基礎(chǔ)上,增加了對(duì)回車、換行和TAB鍵等格式化字符的處理 | |
| GetFontHeight | 返回邏輯字體的高度 | |
| GetMaxFontWidth | 返回邏輯字體的最大字符寬度 | |
| GetTextExtent | 計(jì)算文本的輸出高度和寬度 | |
| GetTabbedTextExtent | 返回格式化字符串的輸出高度和寬度 | |
| TextOutLen | 用來(lái)在給定位置輸出指定長(zhǎng)度的字符串,若長(zhǎng)度為-1,則字符串必須是以’\0’ 結(jié)尾的 | |
| TabbedTextOutLen | 用來(lái)輸出格式化字符串 | |
| TabbedTextOutEx | 用來(lái)輸出格式化字符串,但可以指定字符串中每個(gè)TAB鍵的位置 | |
| GetLastTextOutPos | 獲取最后的文本位置 | |
| TextOut | TextOutLen輸出全部文本 | |
| TabbedTextOut | TabbedTextOutLen格式化全部文本 | |
| DrawText | 以不同的對(duì)齊方式在指定的矩形內(nèi)部輸出文本 | 尚不支持對(duì)UTF-16編碼的文本輸出 |
| DrawTextEx | 在DrawText函數(shù)的基礎(chǔ)上增加了對(duì)輸入文本首行縮進(jìn)字符數(shù)的指定 | |
| DrawTextEx2 | 在前兩者的基礎(chǔ)上,增加了對(duì)首行能顯示的字符個(gè)數(shù)的計(jì)算 | |
| GetTextCharacterExtra | 獲取當(dāng)前字符間距值 | |
| SetTextCharacterExtra | 設(shè)置字符間距值 | |
| GetTextAboveLineExtra | 獲取行前間隔值 | |
| SetTextAboveLineExtra | 設(shè)置行前間隔值 | |
| GetTextBellowLineExtra | 獲取行后間隔值 | |
| SetTextBellowLineExtra | 設(shè)置行后間隔值 | |
13.3 輸出格式標(biāo)識(shí)
格式標(biāo)識(shí)符含義備注
| DT_TOP | 在垂直方向頂端對(duì)齊 | 只對(duì)單行輸出有效(DT_SINGLELINE) |
| DT_VCENTER | 在垂直方向居中 | |
| DT_BOTTOM | 在垂直方向底端對(duì)齊 | |
| DT_LEFT | 水平方向左對(duì)齊 | |
| DT_CENTER | 水平對(duì)中 | |
| DT_RIGHT | 水平方向右對(duì)齊 | |
| DT_WORDBREAK | 當(dāng)文本輸出超過(guò)矩形區(qū)時(shí)按單詞換行輸出 | |
| DT_CHARBREAK | 當(dāng)文本輸出超過(guò)矩形區(qū)時(shí)按字符換行輸出 | |
| DT_SINGLELINE | 單行輸出 | 無(wú)此標(biāo)志時(shí)會(huì)忽略垂直方向的對(duì)齊標(biāo)志 |
| DT_EXPANDTABS | 擴(kuò)展TAB字符 | |
| DT_TABSTOP | 格式參數(shù)的高8位用來(lái)指定TAB鍵寬度 | |
| DT_NOCLIP | 不作輸出剪切,默認(rèn)將把輸出剪切到指定矩形 | |
| DT_CALCRECT | 不作實(shí)際輸出,只計(jì)算實(shí)際的輸出矩形大小 | |
13.4 字體渲染風(fēng)格
邏輯字體風(fēng)格名稱風(fēng)格字符邏輯字體風(fēng)格值含義
| weight: FONT_WEIGHT_REGULAR | 第一位“r” | FS_WEIGHT_REGULAR | 不作特殊處理 |
| weight: FONT_WEIGHT_BOLD | 第一位“b” | FS_WEIGHT_BOLD | 加粗顯示 |
| weight: FONT_WEIGHT_LIGHT | 第一位“l(fā)” | FS_WEIGHT_LIGHT | 使用背景色描繪字型的邊緣,其他地方透明顯示 |
| weight: FONT_WEIGHT_BOOK | 第一位“b” | FS_WEIGHT_BOOK | 采用低通濾波算法處理矢量字型邊緣或者放大后的字型邊緣 |
| weight: FONT_WEIGHT_DEMIBOLD | 第一位“d” | FS_WEIGHT_DEMIBOLD | 加粗的同時(shí),采用低通濾波算法處理矢量字型邊緣或者放大后的字型邊緣 |
| weight: FONT_WEIGHT_SUBPIXEL | 第一位“s” | FS_WEIGHT_SUBPIXEL | 采用sub-pixel技術(shù)渲染字型 |
| slant: FONT_SLANT_ROMAN | 第二位“r” | FONT_SLANT_ROMAN | 不作特殊處理 |
| slant: FONT_SLANT_ITALIC | 第二位“i” | FONT_SLANT_ITALIC | 斜體顯示字型 |
| flip: FONT_OTHER_NIL | 第三位除H/V/T之外 | N/A | 不作任何處理 |
| flip: FONT_FLIP_HORZ | 第三位“H” | FS_FLIP_HORZ | 將字型水平翻轉(zhuǎn)顯示 |
| flip: FONT_FLIP_VERT | 第三位“V” | FS_FLIP_VERT | 將字型垂直翻轉(zhuǎn)顯示 |
| other: FONT_OTHER_NIL | 第四位除 S/N之外 | N/A | 不作任何處理 |
| other: FONT_OTHER_AUTOSCALE | 第四位“S” | FS_OTHER_AUTOSCALE | 根據(jù)邏輯字體期望的大小自動(dòng)放大顯示設(shè)備字體字型,僅適用于點(diǎn)陣字體 |
| other: FONT_OTHER_TTFNOCACHE | 第四位“N” | FS_OTHER_TTFNOCACHE | 在使用 TrueType字體渲染該邏輯時(shí),關(guān)閉緩存 |
| other: FONT_OTHER_LCDPORTRAIT | 第四位“P” | FS_OTHER_LCDPORTRAIT | 在使用 TrueType字體渲染該邏輯時(shí), LCD為PORTRAIT模式 |
| underline: FONT_UNDERLINE_NONE | 第五位“n” | FS_UNDERLINE_NONE | 無(wú)下劃線線 |
| underline: FONT_UNDERLINE_LINE | 第五位“u” | FS_UNDERLINE_LINE | 添加下劃線 |
| struckout: FONT_STRUCKOUT_NONE | 第六位“n” | FS_STRUCKOUT_NONE | 無(wú)刪除線 |
| struckout: FONT_STRUCKOUT_LINE | 第六位“s” | FS_STRUCKOUT_LINE | 添加刪除線 |
14 Mginit專用函數(shù)
函數(shù)含義
| JoinLayer | 將自己添加到一個(gè)層中 |
| GetLayerInfo | 可以得到層的信息 |
| SetTopmostLayer | 將指定的層設(shè)置為最頂層 |
| DeleteLayer | 刪除層 |
| ServerStartup | 創(chuàng)建監(jiān)聽(tīng)套接字 |
| ServerSetTopmostLayer | 將把指定的層切換到最上面 |
| ServerCreateLayer | 將在系統(tǒng)中創(chuàng)建指定的層 |
| ServerDeleteLayer | 從系統(tǒng)中刪除指定的層 |
| GetClientByPID | 根據(jù)客戶的進(jìn)程標(biāo)識(shí)號(hào)返回客戶標(biāo)識(shí)號(hào) |
| SetTopmostClient | 通過(guò)指定的客戶標(biāo)識(shí)號(hào)來(lái)設(shè)置頂層,它將把客戶所在的層切換到最上面 |
| SetServerEventHook | 在mginit中設(shè)置底層事件的鉤子,在鉤子函數(shù)返回零給MiniGUI時(shí),MiniGUI將繼續(xù)事件的處理,并最終將事件發(fā)送到當(dāng)前活動(dòng)客戶;反之將終止事件的處理 |
| Send2Client | 服務(wù)器可利用該消息將指定的消息發(fā)送到某個(gè)客戶 |
| ServerGetNextZNode | 用于遍歷所有的Z序節(jié)點(diǎn) |
| ServerGetZNodeInfo | 用于獲得某個(gè)特定Z序節(jié)點(diǎn)的信息 |
| ServerDoZNodeOperation | 用于完成切換主窗口Z序和/或設(shè)置某主窗口為當(dāng)前活動(dòng)窗口 |
事件類型含義
| LCO_NEW_LAYER | 系統(tǒng)創(chuàng)建了新的層 |
| LCO_DEL_LAYER | 系統(tǒng)刪除了一個(gè)層 |
| LCO_JOIN_CLIENT | 某個(gè)層中加入了一個(gè)客戶 |
| LCO_REMOVE_CLIENT | 某個(gè)客戶從所在的層中刪除 |
| LCO_TOPMOST_CHANGED | 最上面的層改變了,即發(fā)生了層的切換 |
| ZNOP_ALLOCATE | z-node被創(chuàng)建 |
| ZNOP_FREE | z-node被銷毀 |
| ZNOP_MOVE2TOP | z-node被移為TopMost結(jié)點(diǎn) |
| ZNOP_SHOW | z-node已被顯示 |
| ZNOP_HIDE | z-node已被隱藏 |
| ZNOP_MOVEWIN | z-node已被移動(dòng)或其大小已改變 |
| ZNOP_SETACTIVE | z-node已被設(shè)置為活動(dòng)態(tài) |
| ZNOP_ENABLEWINDOW | z-node被disabled或enabled |
| ZNOP_STARTDRAG | 開(kāi)始對(duì)z-node的拖拽 |
| ZNOP_CANCELDRAG | 取消對(duì)z-node的拖拽 |
| ZNOP_CHANGECAPTION | z-node的名稱已改變 |
總結(jié)
以上是生活随笔為你收集整理的转:MiniGUI编程速查表的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。