c语言手工添加菜单

来源:百度知道 编辑:UC知道 时间:2024/05/26 23:53:32
我在编写一个很基本的程序,想从基础做起,不用MFC的自动生成的菜单,而是逐行代码的形式给我的窗口添加菜单.需要您做的有:1.定义一个菜单2.把这个菜单添加到窗口中3.经我实验可以运行4.把我的悬赏分拿走
如果需要的话看看我已经写成的程序框架
#include<windows.h>
#include "allmenu.h"
#include<iostream>
using namespace std;
HMENU hmenu;
HMENU haddmenu;
//窗口函数
LRESULT CALLBACK WndProc(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam){

switch(message){
/* case WM_INIT:
hmenu=GetMenu(hwnd);
haddmenu=CreateMenu();

AppendMenu(haddmenu,MF_ENABLED,IDM_OPENBIG,"打开目标图像");
AppendMenu(haddmenu,HF_ENABLED,IDM_OPENSMALL,"打开模板图像");
AppendMenu(haddmenu,HF_ENABLED,IDM_EXIT,"退出");

/* case WM_COMMAND:
switch(LOWORD(wParam)){
hmenu=GetMenu(hwnd);
haddmenu=CreateMenu();

AppendMenu(haddmenu,MF_ENABLED,IDM_OPENBIG,"打开目标图像");
AppendMenu(haddmenu,HF_ENABLED,IDM_OPENSMALL,"打开模板图像");
AppendM

CreateMenu的函数放在WinMain函数里面就可以了啊
int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInst,LPSTR lpszCmdLine,int nCmdShow){
MSG Msg;
WNDCLASS wndclass;
HWND hwnd;
char lpszClassName[]="我的窗口";
char lpszTitle[]="MyWindows";
char lpszMenuName[]="menu";

hmenu=CreateMenu();

AppendMenu(hmenu,MF_ENABLED,IDM_OPENBIG,"打开目标图像");
AppendMenu(hmenu,MF_ENABLED,IDM_OPENSMALL,"打开模板图像");
AppendMenu(hmenu,MF_ENABLED,IDM_EXIT,"退出");

wndclass.style=0;
wndclass.lpfnWndProc=WndProc;
wndclass.cbClsExtra=0; //窗口类无扩展
wndclass.cbWndExtra=0; //窗口实例无扩展
wndclass.hInstance=hInstance; //当前实例句柄
wndclass.hIcon=LoadIcon(NULL,IDI_APPLICATION); //窗口的最小化图标为默认值
wndclass.hCursor=LoadCursor(NULL,IDC_ARROW);
wndclass.hbrBackground=(HBRUSH)GetStockObject(WHITE_BRUSH);

wndclass.lpszMenuName=lpszMenuName;
wndclass.lpszCl