使用CFree 5.0 來看一下Win32 菜單基本編程;
新建一個窗口工程;
生成的文件如下;一個基本窗口程序;main.c中包含WinMain和窗口過程函數;.h是頭文件;.rc是資源文件;
main.c包含resource.h;
程序運行起來,有窗口,有菜單,這些是自己生成的;
下面來添加一個菜單項,和處理函數;
資源文件是文本格式;如下圖;含義比較好理解;找到菜單部分;添加一個menuitem,“菜單測試”,其標識爲IDM_test;
在resource.h中爲新加菜單定義一個值;自定義的一般從40001開始,隨意;不佔用已定義值即可;
定位代碼到窗口過程函數;如下圖;
switch(message)這個switch處理過程是處理髮送給主窗口的消息,每個分支處理一個消息;
裏面的 case WM_COMMAND 分支,是處理菜單單擊的;switch(LOWORD(wParam)),此switch是處理菜單單擊,每個分支對應一個菜單;已有的2個case,IDM_ABOUT和IDM_EXIT,是自己生成的,功能分別是彈出關於對話框和退出程序;
把新加菜單的處理分支加進來;
case IDM_test,在此彈出一個對話框;
運行程序,結果如下;
添加更多菜單,如此重複即可;