(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變數:
4、切換到選單編輯檢視,為「滑鼠位置」選單新增事件處理程式,訊息型別為command。cstring m_strshow; //用於顯示滑鼠位置的字串
bool m_bshow; //控制是否顯示滑鼠位置的bool值
5、再次切換到選單編輯檢視,為「滑鼠位置」選單新增事件處理程式,訊息型別為update_command_ui。void cmouseposview::onviewmouse()
6、新增狀態列位置,在mainfrm.cpp中的void cmouseposview::onupdateviewmouse(ccmdui *pcmdui)
static uint indicators
改為:
7、在static
uint indicators =
;
cmouseposview
類的ondraw(cdc* pdc)
函式中新增介面初始化**,實現滑鼠位置的顯示。
8、在類嚮導中為// todo: 在此處為本機資料新增繪製**
cpoint point;
getcursorpos(&point);
m_strshow.format("%d,%d", point.x, point.y);
if (m_bshow)
cmouseposview
類新增對訊息wm_mousemove
(指示滑鼠游標的移動)的訊息響應函式。
9、實現右鍵快捷選單,在類嚮導中為void cmouseposview::onmousemove(uint nflags, cpoint point)
cmainframe
類新增對訊息wm_contextmenu
的訊息響應函式。(注:此訊息指示使用者右擊視窗)
10、切換到資源檢視,開啟toobar中的idr_mainframe,新增一工具欄圖示,將其id設定為void cmainframe::oncontextmenu(cwnd* pwnd, cpoint point)
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 上顯示的項的集...