用C++ Builder來定製系統選單(轉)
用C++ Builder來定製系統選單(轉)[@more@]通常在應用程式的主窗體中,利用滑鼠左鍵點選左上角的圖示,會彈出一個選單,稱之為“系統選單”。在窗體中並沒有系統選單對應的元件,所以有時我們需要定製系統選單時就比較麻煩。具體可以能過下面的步驟實現:
在系統選單上新增所需的選單項。
為新新增的選單項定義OnClick事件的處理過程。
下面的例程中,在系統選單中新增了一個“前端顯示(A)”選單項,透過該選單項,可以使窗體始終顯示在最前端或為普通窗體模式。具體實現過程如下:
1)透過選單File|New Application建立一個新的工程。
2)新增窗體Form1的OnClick事件的處理過程如下:
void _fastcall TForm1::FormCreate(Tobject *Sender)
{
//設定系統選單
AppendMenu(GetSystemMenu(Handle,false),MF_SEPARATOR,0,"");
AppendMenu(GetSystemMenu(Handle,false),MF_STRING,200,"前端顯示(&A)");
}
3)在檔案Unit1.h標頭檔案中增加如下語句:
...
#include
...
4)在TForm1的型別定義中,新增系統選單中新建選單項的OnClick事件的處理過程的宣告:
...
public://User declarations
__fastcall TForm1(TComponent *Owner);
MESSAGE void __fastcall SystemMenuCommand(TWMMenuSelect &Msg);
BEGIN_MESSAGE_MAP
MESSAGE_HANDLER(WM_SYSCOMMAND,TWMMenuSelect,SysteMenuCommand);
END_MESSAGE_MAP(TForm);
};
5)手工新增系統選單中新建選單項的OnClick事件的處理過程如下:
void __fastcall TForm1::SystemMenuCommand(TWMMenuSelect &Msg)
{
TForm::Dispatch(&Msg);
if(Msg.IDItem==200)
{
if(Form1->FormStyle==fsNormal)
{
//將窗體設定為總在前端顯示
Form1->FormStyle=fsStayOnTop;
//重新設定系統選單
AppendMenu(GetSystemMenu(Handle,false),MF_SEPARATOR,0,"");
AppendMenu(GetSystemMenu(Handle,false),MF_STRING,200,"前端顯示(&A)");
//在新新增的選單項前增加一個選中標誌
ModifyMenu(GetSystemMenu(Handle,false),200,MF_CHECKED,200,"前端顯示(&A)");
}
}
else
{
//將窗體設定為普通模式
Form1->FormStyle=fsNormal;
重新設定系統選單
AppendMenu(GetSystemMenu(Handle,false),MF_SEPARATOR,0,"");
AppendMenu(GetSystemMenu(Handle,false),MF_STRING,200,"前端顯示(&A)");
{
}
在系統選單上新增所需的選單項。
為新新增的選單項定義OnClick事件的處理過程。
下面的例程中,在系統選單中新增了一個“前端顯示(A)”選單項,透過該選單項,可以使窗體始終顯示在最前端或為普通窗體模式。具體實現過程如下:
1)透過選單File|New Application建立一個新的工程。
2)新增窗體Form1的OnClick事件的處理過程如下:
void _fastcall TForm1::FormCreate(Tobject *Sender)
{
//設定系統選單
AppendMenu(GetSystemMenu(Handle,false),MF_SEPARATOR,0,"");
AppendMenu(GetSystemMenu(Handle,false),MF_STRING,200,"前端顯示(&A)");
}
3)在檔案Unit1.h標頭檔案中增加如下語句:
...
#include
...
4)在TForm1的型別定義中,新增系統選單中新建選單項的OnClick事件的處理過程的宣告:
...
public://User declarations
__fastcall TForm1(TComponent *Owner);
MESSAGE void __fastcall SystemMenuCommand(TWMMenuSelect &Msg);
BEGIN_MESSAGE_MAP
MESSAGE_HANDLER(WM_SYSCOMMAND,TWMMenuSelect,SysteMenuCommand);
END_MESSAGE_MAP(TForm);
};
5)手工新增系統選單中新建選單項的OnClick事件的處理過程如下:
void __fastcall TForm1::SystemMenuCommand(TWMMenuSelect &Msg)
{
TForm::Dispatch(&Msg);
if(Msg.IDItem==200)
{
if(Form1->FormStyle==fsNormal)
{
//將窗體設定為總在前端顯示
Form1->FormStyle=fsStayOnTop;
//重新設定系統選單
AppendMenu(GetSystemMenu(Handle,false),MF_SEPARATOR,0,"");
AppendMenu(GetSystemMenu(Handle,false),MF_STRING,200,"前端顯示(&A)");
//在新新增的選單項前增加一個選中標誌
ModifyMenu(GetSystemMenu(Handle,false),200,MF_CHECKED,200,"前端顯示(&A)");
}
}
else
{
//將窗體設定為普通模式
Form1->FormStyle=fsNormal;
重新設定系統選單
AppendMenu(GetSystemMenu(Handle,false),MF_SEPARATOR,0,"");
AppendMenu(GetSystemMenu(Handle,false),MF_STRING,200,"前端顯示(&A)");
{
}
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10617731/viewspace-957399/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 定製多系統啟動選單
- 澳創優選系統開發,澳創優選系統定製
- (轉貼) C++ Builder 2007六月上市 (C/C++) (News)C++UI
- 直播系統定製開發選擇開原始碼已成折中之選原始碼
- Centos系統設定GRUB開機選單的密碼CentOS密碼
- C/C++ Qt ToolBar 選單元件應用C++QT元件
- 利用純 CSS3 定製單選/多選框樣式CSSS3
- 定製CRM系統需要多少錢
- 直播系統定製開發的步驟分享,如何進行直播系統定製開發
- 將About加入系統選單
- 製造業如何選擇CRM系統
- scrm 商城系統定製開發模式模式
- 定義製造業操作(定義 MES/MOM 系統)
- Airtool for Mac(系統選單欄網路工具) 2.5.3啟用版AIMac
- C++ Builder XE10 關於Panel1屬性的設定C++UI
- 用C++編寫一個簡單的員工工資管理系統~C++
- 使用 Dockerfile 定製映象【轉】Docker
- Linux系統如何定製History輸出格式Linux
- 如何定製Linux外圍檔案系統?Linux
- 定製的CRM系統都有哪些步驟
- 倉儲配送管理系統採購-製造業倉儲物流管理系統定製
- C/C++ 構建系統,我用 xmakeC++
- win10系統下開始選單設定打不開如何解決Win10
- C++:用棧實現反轉連結串列,超簡單!C++
- Linux 檢視設定系統語言(轉)Linux
- 系統選單欄網路工具:Airtool for Mac v2.5.3啟用版AIMac
- Airtool for Mac(系統選單欄網路工具) v2.1啟用版AIMac
- 健身房定製會員管理系統,分享最簡單的方法建立健身房會員管理系統
- 最簡單的定製openwrt,用線上編譯來做一個不怕恢復出廠設定的rom編譯
- 多使用者商城系統定製開發
- 企業定製CRM系統的5步流程
- 現貨合約跟單交易所app系統開發原始碼定製功能APP原始碼
- 直播商城原始碼,AlertDialog.Builder 設定點選不關閉彈框原始碼UI
- 移動端禁用系統預設選單
- 系統選單欄網路工具:Airtool for MacAIMac
- Stats for mac - 選單欄系統監視器Mac
- Airtool for Mac系統選單欄網路工具AIMac
- 電商系統最小單元——概念定義
- win10系統coreldraw選單白色如何解決_win10系統coreldraw選單白色的修復方法Win10