文档章节

WM_COMMAND产生的条件

Amamatthew
 Amamatthew
发布于 2014/06/23 18:09
字数 329
阅读 9
收藏 0
1
#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,"打开模板图像");
   AppendMenu(haddmenu,HF_ENABLED,IDM_EXIT,"退出");
  }*/
 case WM_DESTROY:
  PostQuitMessage(0);
  break;
 default:
  return DefWindowProc(hwnd,message,wParam,lParam);
 }
 return 0;
}
//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=LoadMenu(hInstance,"hmenu");

 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.lpszClassName=lpszClassName;

 if(!RegisterClass(&wndclass)){
  MessageBeep(0);
  return false;
 }
 //创建窗口
 hwnd=CreateWindow(
  lpszClassName,
  lpszTitle,
  WS_OVERLAPPEDWINDOW,
  CW_USEDEFAULT,
  CW_USEDEFAULT,
  CW_USEDEFAULT,
  CW_USEDEFAULT,
  NULL,
  hmenu,
  hInstance,
  NULL
  );
 ShowWindow(hwnd,nCmdShow);
 UpdateWindow(hwnd);
 while(GetMessage(&Msg,NULL,0,0)){
  TranslateMessage(&Msg);
  DispatchMessage(&Msg);
 }

 return Msg.wParam;
}
//allmenu.h文件

#define MYMENU 10
#define IDM_OPENSMALL 11

#define IDM_OPENBIG 12
#define IDM_CLOSE 13
#define IDM_EXIT 14

© 著作权归作者所有

共有 人打赏支持
Amamatthew
粉丝 67
博文 1050
码字总数 76443
作品 0
厦门
后端工程师
私信 提问

暂无文章

iOS切面编程

aop编程(面向切面编程),其原理也就是在不更改正常的业务处理流程的前提下,通过生成一个动态代理类,从而实现对目标对象嵌入附加的操作。在iOS中,要想实现相似的效果也很简单,利用OC的动态性,...

RainOrz
25分钟前
1
0
0006-Zookeeper指标分析

1. 问题描述 通过CDH管理平台,进入Zookeeper管理界面,Zookeeper的平均请求延迟、最小请求延迟、最大请求延迟指标趋势图维持不变,指标数据异常。 2.问题复现 登录CDH平台,进入Zookeeper管...

Hadoop实操
33分钟前
1
0
PAT(Basic Level) 乙级练习题 ------ 1047 编程团体赛 java

1047.编程团体赛 题目: 编程团体赛的规则为:每个参赛队由若干队员组成;所有队员独立比赛;参赛队的成绩为所有队员的成绩和;成绩最高的队获胜。 现给定所有队员的比赛成绩,请你编写程序找...

Carol998
37分钟前
1
0
抓包

1、下载 2、 tcpdump -i em1 host 目标域名 -n -X -s0 -w 写入文件名

HenryZhou2
39分钟前
1
0
axios 实现下载excel文件的说明~~~~遇到一个大坑,还是没有熟悉源码的罪过

本来下载文件直接用a标签,非常easy,但是如果数据量巨大的话,没有loading效果,用户体验非常差。优化项目的时候领导要求必须修改。因此只能用axios来下载了。 a标签下载: <a :href="dow...

YJ_
39分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部