GetSystemMenu

GetSystemMenu

GetSystemMenu,函式名。該函式允許應用程式為複製或修改而訪問視窗選單(系統選單或控制選單)。

系統選單是指我們點擊窗體左上角的小圖示時所彈出的選單,其中好象有“恢復”.“移動”.“最大化”.“最小化”.“關閉”這么幾個按鈕.

這個選單用普通的方法是不能編輯與改變的,但是我們可以通過api函式getsystemmenu來得到它的句柄,然後通過選單相關的api函式就能改變它了。

基本介紹

  • 中文名:GetSystemMenu
  • 外文名:GetSystemMenu
  • 函式功能:允許應用程式為複製或修改而訪問
  • 函式原型:GetSystemMenu(BOOL bRevert)
  • 參數:hWnd
函式原型,參數,

函式原型

HMENU GetSystemMenu(HWND hWnd,BOOL bRevert);或者,HMENU GetSystemMenu(BOOL bRevert);

參數

hWnd:擁有視窗選單拷貝的視窗的句柄。
bRevert:標誌位,指定將執行的操作。
如果此參數為FALSE,GetSystemMenu返回當前使用視窗選單的拷貝的句柄。該拷貝初始時與視窗選單相同,但可以被修改。
如果此參數為TRUE,GetSystemMenu重置視窗選單到預設狀態。如果存在先前的視窗選單,將被銷毀。
返回值:如果參數bRevert為FALSE,返回值是視窗選單的拷貝的句柄:如果參數bRevert為TRUE,返回值是NULL。
備註:任何沒有用GetSystemMenu函式來生成自己的視窗選單拷貝的視窗將接受標準視窗選單。
視窗選單最初包含的選單項有多種標識符值,如SC_CLOSE,SC_MOVE和SC_SIZE。
視窗選單上的選單項傳送WM_SYSCOMMAND訊息。
所有預定義的視窗選單項的標識符數大於0xF000。如果一個應用程式增加命令到視窗選單,應該使用小於0xF000的標識符數。
系統根據狀態自動變灰標準視窗選單上的選單項。應用程式通過回響在任何某單顯示之前傳送的WM_INITMENU訊息來實現選取和變灰。
Windows CE環境下,不支持系統選單,但GetSyemMenu以宏的方式實現,以保持和已存在代碼的兼容性。可以使用該宏的返回選單句柄使關閉框無效,與在Windows桌面平台上一樣。Windows CE下的返回值沒有其他用處。參數bRevert無用。
用下面的代碼使關閉按鈕無效:
EnableMenultem(GetSystemMenu(hwnd,FALSE),SC_CLOSE,MF_BYCOMMAND I MF_GRAYED);
速查:Windows NT:3.1及以上版本;Windows:95及以上版本;Windows CE:1.0及以上版本;頭檔案:winuser.h;輸入庫:user32.lib。
注意:以上介紹的是API函式,在MFC中作為class CWnd的成員函式聲明為 CMenu* GetSystemMenu(BOOL bRevert) const; 只有一個參數。

相關詞條

熱門詞條

聯絡我們