MFC 選單和工具欄

2021-08-02 14:23:20 字數 1915 閱讀 9071

(1)建立乙個單文件應用程式mousepos。在「檢視」選單下新增乙個子選單「滑鼠位置」,id為id_view_mouse,當選擇該選單命令後,滑鼠當前的位置顯示到使用者區,同時該選單項呈選中狀態。再次選擇該選單命令,使用者區不再顯示當前滑鼠位置,同時該選單項的選中狀態被去除。

(2)在工具欄上新增並設計乙個工具按鈕圖示,使該按鈕和id_view_mouse選單命令聯動,並新增乙個快捷鍵ctrl+1和該選單命令聯動。

(3)在視窗使用者區中右擊滑鼠,彈出快捷選單,顯示主選單「檢視」中的選單命令。結果如圖:

1、通過mfc應用程式嚮導建立單文件應用程式。

2、切換到資源檢視,編輯menu中的idr_mainframe,在「檢視」中新增「滑鼠位置」選單。caption為「滑鼠位置[&m]\tctrl+1」,id為「id_view_mouse」。

3、在類cmouseposview中新增public變數:

cstring m_strshow; //用於顯示滑鼠位置的字串

bool m_bshow; //控制是否顯示滑鼠位置的bool值

4、切換到選單編輯檢視,為「滑鼠位置」選單新增事件處理程式,訊息型別為command。

void cmouseposview::onviewmouse()

5、再次切換到選單編輯檢視,為「滑鼠位置」選單新增事件處理程式,訊息型別為update_command_ui。

void cmouseposview::onupdateviewmouse(ccmdui *pcmdui)

6、新增狀態列位置,在mainfrm.cpp中的static uint indicators改為:

static

uint indicators =

;

7、在cmouseposview類的ondraw(cdc* pdc)函式中新增介面初始化**,實現滑鼠位置的顯示。

// todo: 在此處為本機資料新增繪製**

cpoint point;

getcursorpos(&point);

m_strshow.format("%d,%d", point.x, point.y);

if (m_bshow)

8、在類嚮導中為cmouseposview類新增對訊息wm_mousemove(指示滑鼠游標的移動)的訊息響應函式。

void cmouseposview::onmousemove(uint nflags, cpoint point)

9、實現右鍵快捷選單,在類嚮導中為cmainframe類新增對訊息wm_contextmenu的訊息響應函式。(注:此訊息指示使用者右擊視窗)

void cmainframe::oncontextmenu(cwnd* pwnd, cpoint point)

10、切換到資源檢視,開啟toobar中的idr_mainframe,新增一工具欄圖示,將其id設定為id_view_mouse(即與選單欄中「滑鼠位置」選單一致),即可完成兩者關聯。

11、設定快捷鍵(加速鍵),切換到資源檢視,開啟accelerator中的idr_mainframe,新增一行:

id修飾符鍵型別

id_view_mouse

ctrl

1virtkey

完成。

選單和工具欄

1.contextmenustrip右鍵選單 控制項 窗體屬性中的行為屬性中contextmenustrip來進行選擇使用 2.menustrip可以自己編輯的的選單欄 每乙個選項都有自己的屬性 屬性中外觀屬性image設定每個選項前面的小圖示 作為分割線,也可以右鍵選擇插入,裡面也有分割線 右鍵插...

MFC選單欄及工具欄實現

mfc選單欄實現 在資源檢視中,右鍵工程名.rc 新增資源,選擇menu。對menu設定id,並對menu選單進行設定 即新增選單欄的名字 在c dlg.h中,新增cmenu m menu 在c dlg.c的初始化中,新增m menu.loadmenu idr menu1 idr menu1 set...

C WinForm 選單和工具欄

通用屬性 enabled 指示是否啟用該控制項。visiable 確定該控制項是啟用還是隱藏的。checked 指示元件是否處於選中狀態。點選事件。工具箱 選單和工具欄 1 contextmenustrip 右鍵快捷選單 填寫選項點選事件 常用屬性 items 在 toolstrip 上顯示的項的集...