Windows C/C++ 语言菜单基本编程

使用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,在此弹出一个对话框;

运行程序,结果如下;

添加更多菜单,如此重复即可;