MENUITEMINFO結構體說明

2021-04-21 03:57:05 字數 3126 閱讀 9880

menuiteminfo結構包含關於乙個選單項資訊

typedef struct tagmenuiteminfo menuiteminfo, far *lpmenuiteminfo;

成員cbsize

結構的大小,位元組

fmask

重新獲取或設定成員,這個成員可以使用乙個或多個這些值

miim_checkmarks 重新獲取或設定hbmpchecked和hbmpunchecked成員

miim_data 重新獲取或設定dwitemdata成員 

miim_id 重新獲取或設定wid成員

miim_state 重新獲取或設定fstate成員

miim_submenu 重新獲取或設定hsubmenu成員

miim_type 重新獲取或設定ftype和dwtypedata成員

ftype

選單項型別.這個成員可以使用乙個或多個這些值

mft_bitmap  使用乙個位圖顯示選單項.dwtypedata低次序的字是成員的點陣圖控制代碼.cch是忽視的.

mft_menubarbreak  選單項位置在新行上(適用於選單欄)或在新列內(適用於下拉列表,子選單,

快捷選單).適用於下拉列表,子選單,或快捷選單,垂直線以前的列中隔離新的列

mft_menubreak   選單項位置在新行上(適用於選單欄)或在新列內(適用於下拉列表,子選單,快

捷選單).適用於下拉列表,子選單,或快捷選單,這個列不被垂直線分開  

mft_ownerdraw  分配責任到那個窗體選單繪製自己的選單項.在選單顯示之前第一時間窗體收到

一條wm_measureitem訊息,和一條無論何時選單項的外觀都必須更新的wm_drawitem訊息

mft_radiocheck  如果hbmpchecked成員是null 顯示選中的選單項使用乙個單選按鈕來代替乙個複選標記

mft_rightjustify  權利證明選單項和所有後來的項,如果選單項在選單欄內這個值才是唯一有效的

mft_rightorder windows 95, windows nt 5.0,和隨後的:指定那個層疊選單右至左(預設的是左

至右).這是支援習慣右至左的語言,這樣的人是阿拉伯的和希伯來人

mft_separator 指定那個選單項是乙個隔離物(線條).乙個選單隔離物看起來是水平分劃的線條.

dwtypedate和cch成員忽視. 這個值在乙個下拉列表,子選單,或快捷選單才是唯一有效的

mft_string     顯示使用選單項的乙個文字字串.dwtypedata成員指示乙個空終止的字串,和cch

成員是字串的長度

mft_bitmap, mft_separator, and mft_string 任何乙個值都不能相互組合使用

fstate

選單項的狀態.這個成員可以是乙個或多個的這些值:

mfs_checked 複選的選單項.至於更多關於選單項選中的資訊,看hbmpchecked成員.

mfs_default  指定那個是預設的選單項。乙個選單僅僅只可以包含乙個預設的選單項,粗體顯示那個。

mfs_disabled 禁止選單項所以它不能被選擇.但是不使它變灰.

mfs_enabled  啟用選單項所以它可以被選擇。這是預設的狀態.

mfs_grayed 禁止選單項和變灰它,所以它不可以被選擇.

mfs_hilite 加亮選單項

mfs_unchecked 取消複選選單項.至於更多關於選單項unchecked資訊,看hbmpunchecked成員變數

mfs_unhilite 移除來自選單項的加亮區.這是預設狀態.

wid

應用程式定義16位的值來識別那個選單項.

hsubmenu

下拉列表或相關聯的子選單的選單項的控制代碼。如果選單項不是乙個開啟的下拉列表或子選單,那這個成員是null

hbmpchecked

如果條目被選中,這個顯示項是點陣圖的控制代碼.如果這個成員是null,使用乙個預設的點陣圖.如查

mft_radiocheck型別值是被指定的.這個預設的是子彈一樣的。否則它是複選標記

hbmpunchecked 如果條目沒有被選中,這個顯示項是點陣圖的控制代碼,如果成員是null,不能使用位圖

dwitemdata

應用程式定義的選單項相關聯的值

dwtypedata

選單項的內容.如果fmask成員設定了miim_type標記這個成員才能被使用;

在呼叫getmenuiteminfo之前.應用程式必須為這個成員設定乙個指定的緩衝區.長度是cch成員指

定.如果取回的選單項的型別是mft_string,那麼getmenuiteminfo 拷貝選單項的文字到緩衝區.如果取回

的選單項是其它型別,那麼getmenuiteminfo設定dwtypedate乙個值,是ftype成員指定的

在使用setmenuiteminfo函式的時候,誰包含這個成員型別的乙個值,是ftype成員指定.

cch

選單項文字的長度息,就在乙個選單項的型別是mft_string資訊時.如果fmask成員設定

miim_type標記和沒有其它方面的這個成員是唯一可以使用的.在呼叫setmenuiteminfo設定選單項的內容

時這個成員忽略.在呼叫getmenuiteminfo前,應用程式必須為dwtypedate成員設定乙個指定長度的緩衝區.如果取回的選單

項型別是mft_string(ftype成員被指定),那麼getmenuiteminfo設定cch為取回字串的長度.如果取回的選單項

是其它型別,getmenuiteminfo把cch設定為0

說明menuiteminfo 結構體可以被getmenuiteminfo, insertmenuitem, and setmenuiteminfo 函式使用

結構體型別 結構體變數 結構體陣列 結構體指標

問題1 一元錢換為1 2 5分的硬幣,有多少種兌換方?本題要點分析及參 對各種可能情況進行一一測試。這是實現迴圈的一種方式 窮舉法 但實際上只有只有餘額才能兌換成其它面值的硬幣 main 注意換行的控制和每列的對齊 問題3 某鐵路線上有10個站,需要準備多少種客票?main b a 0 p prin...

結構體 結構體陣列

void test 函式遞迴呼叫 允許函式體裡再次呼叫函式本身 使用遞迴一定要有出口 long fact int n return n fact n 1 定義乙個新的資料型別 struct mypoint 結構體型別所占用的記憶體空間是最大資料型別的整數倍。因為結構體型別的變數在分配記憶體時有記憶體...

結構體 結構體陣列

struct 結構體型別名 型別名 成員名 型別名 成員名 先宣告結構體型別,再定義結構體變數名 宣告結構體型別,不分配空間 定義結構體型別變數,就要分配記憶體空間 作 者 hh 完成日期 2018年8月15日 版本號 v1.0 問題描述 結構體巢狀 賦值 輸出 輸入描述 程式輸出 include ...