`
coolsooner
  • 浏览: 1311553 次
文章分类
社区版块
存档分类
最新评论

Win32程序中如何添加菜单?

 
阅读更多

我想问各位高手一个问题,现在我创建了一个win32 Application的程序并编写了主窗口的代码,然后想在我显示的主窗口中添加一个菜单,怎么加也显示不了,是什么原因啊?已经困惑我好几天了。谢谢指教!!!
(我先用insert/resource/Menu/new创建了一个新的菜单,然后在主程序中添加代码)
#include <windows.h>
#include <string.h>
#include"Simpwin.h"
#include"resource.h" //菜单资源的头文件

#pragma comment( linker, "/subsystem:/"windows/" /entry:/"WinMainCRTStartup/"" )


HINSTANCE hInst;
HWND hWndMain;

int APIENTRY WinMain(
HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int nCmdShow)
{
MSG msg;
if(!InitApplicaion(hInstance))
return (FALSE);

if(!InitInstance(hInstance,nCmdShow))
return FALSE;

while(GetMessage(
&msg,
NULL,
0,
0))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}

return msg.wParam;
}

BOOL InitApplicaion(HINSTANCE hInstance)//当前实例句柄
{
WNDCLASS wcSimpwin;

wcSimpwin.style = CS_HREDRAW | CS_VREDRAW;
wcSimpwin.lpfnWndProc = (WNDPROC)MainWndProc;
wcSimpwin.cbClsExtra = 0;
wcSimpwin.cbWndExtra = 0;
wcSimpwin.hInstance = hInstance;
wcSimpwin.hIcon = LoadIcon(NULL, IDI_APPLICATION);
wcSimpwin.hCursor = LoadCursor(NULL, IDC_ARROW);
wcSimpwin.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH);
wcSimpwin.lpszMenuName = "IDR_MENU1";
wcSimpwin.lpszClassName = "SimpwinWClass";

return RegisterClass(&wcSimpwin);

}

//保存实例句柄,并创建主窗口
BOOL InitInstance(
HINSTANCE hInstance,
int nCmdShow)
{
hInst = hInstance;
HMENU hMenu; //菜单句柄
hMenu=LoadMenu(hInstance,(LPCSTR)IDR_MENU1); //在resource.h中有:#define IDR_MENU1 101
hWndMain = CreateWindow(
"SimpwinWClass",
"我得窗口",
WS_OVERLAPPEDWINDOW,
CW_USEDEFAULT,
CW_USEDEFAULT,
CW_USEDEFAULT,
CW_USEDEFAULT,
NULL,
hMenu,
hInstance,
NULL);
if(!hWndMain)
return FALSE;
ShowWindow(hWndMain, nCmdShow);
UpdateWindow(hWndMain);

return TRUE;
}

//处理主窗口消息
LRESULT CALLBACK MainWndProc(
HWND hWnd,
UINT message,
WPARAM wParam,
LPARAM lParam)
{
HDC hdc;
PAINTSTRUCT ps;

switch(message)
{
case WM_PAINT:
hdc = BeginPaint(hWnd,&ps);
TextOut(hdc, 20, 10, hello, lstrlen(hello));
EndPaint(hWnd, &ps);
break;
case WM_DESTROY:
PostQuitMessage(0);
break;

default:
return DefWindowProc(hWnd, message, wParam, lParam);
}

return 0;
}

红色的代码就是我为了显示菜单而添加的代码,为什么添加了这些代码还是无法显示我插入的菜单呢?是不是哪里漏了什么了啊?

我用的就是VC6.0么。
不过谢谢各位指点!我总算解决了,原来只要从Project/Add To Project/Files中把我的资源Script4.rc加载一下就能显示菜单了。

分享到:
评论

相关推荐

    如何将常用程序添加到win8电脑的右键菜单中?.docx

    如何将常用程序添加到win8电脑的右键菜单中?.docx

    WIN8仿WIN7程序菜单

    WIN8仿WIN7程序菜单,习惯WIN7的程序界面!!WIN8仿WIN7程序菜单破解版

    用C++编写的Win32围棋程序

    以前编写的Win32围棋对棋程序,生成一个exe文件,运行菜单中有自己建立服务端,其它人可以观战。先一个程序建立棋局,第二个人输入地址加入到对棋,再是其他人加入到观战,是客户/服务方式,程序有点老。主要是对局...

    WIN32关机小程序

    这是我用WIN32API写的一个多功能关机小程序,程序只有一个托盘图标,托盘图标上有一个右键菜单,程序的全部功能都在这个右键菜单里。里面的大部分功能都已经注册成了Windows热键,方便大家日常使用。有兴趣学习WIN32...

    C# 通过Win32的API来调用系统菜单

    C# 通过Win32的API来调用系统菜单 C# 通过调用Win32的API来控制系统操作菜单,单就菜单来说,没有什么可借鉴的,但是实现的方法是学习重点,如上图示,通过程序可以复位系统菜单等操作。

    [纯C语言 + Win32 API]一步一步写个围棋程序之五:工具栏之一

    [纯C语言 + Win32 API]一步一步写个围棋程序之五:工具栏之一

    win10切换win7经典菜单

    安装了WIN10系统,看到了win10切换win7经典菜单的操作界面,网上找来了这个小软件,使用下来感觉不错,分享给有需要的人,Stardock_Start10_v1.94 win10切换win7经典菜单 默认安装即可

    恢复win8开始菜单的小程序

    恢复win8开始菜单的小程序,非常的不错的一个程序,亲测可用

    基于Win32桌面应用程序和OpenCV的画中画效果播放器。

    能够通过文件选择对话框...能通过菜单选择画中画效果,即在播放某一个视频时,同时把另外一个视频缩小至前一个视频画面的右上角一同播放。在画中画播放过程中,任意视频如果播放到结尾,该视频就从头重播,周而复始。

    my-first-menu.zip_win32菜单

    菜单 初学者对于菜单的应用窗口设计 win32程序中的菜单设计以及应用

    win8 win10 经典开始菜单

    win8 win10 经典开始菜单,很实用的工具。

    [纯C语言 + Win32 API]一步一步写个围棋程序之三:加个菜单

    [纯C语言 + Win32 API]一步一步写个围棋程序之三:加个菜单

    VisualC++程序设计教程例10_1(MFC下创建带菜单的程序)

    创建一个包含有“代码操作”菜单的应用程序,在“代码操作”菜单中包含有“显示ASCII”,“显示256色”等功能,其中选择“显示ASCII”选项时,在编辑框中显示0——255的ASCII字符,当选择“显示256色”时,在窗口中...

    window32 API大全 win32编程

    一个资源是一些二进制数据,可以添加到Win32应用程序的可执行文件中。资源既可以是标准的,也可以是自己定义的。标准资源中的数据包括图标、光标、菜单、对话框、位图、增强元文件、字体、加速键表、消息表入口、...

    win8经典开始菜单程序

    目前最原汁原味的开始菜单还原程序,占用界面完全win7 绝对不突兀

    WIN32多功能关机小程序

    这是我用WIN32API写的一个多功能关机小程序,程序只有一个托盘图标,一个托盘右键菜单,另外菜单里的所有菜单项都注册成了Windows 热键,另外本程序还可以随操作系统自动启动,占用800多KB的内存,性能优越。...

    win32开发的记事本程序

    模拟XP自带记事本,未实现打印功能,拖放文件功能 richEdit控件未实现右键菜单 实现查找、替换、转到行、等基本功能,添加了工具栏和状态栏,增加颜色功能

    win32编程入门程序

    win32编程入门程序 包括:自定义消息 定时器 使用资源(图标,光标,菜单,对话框) 键盘消息响应 后备缓冲区 说明:需自建工作空间,并在建好之后在属性-&gt;配置属性-&gt;常规-&gt;项目默认值-&gt;字符集 选择"使用Unicode...

    SWT WIN32 Extension

    SWT Win32 Extension提供了一系列的功能使您的应用程序看上去和Win32本机程序别无二致。 窗口装饰功能: 提供窗口置顶,透明,闪动等功能。 自定义窗口: 创建不规则的窗口。 访问Windows注册表。 系统文件夹: 获取...

    Start Menu 8(win8开始菜单)官方中文版.zip

    IObit推出的一款Win8 开始菜单小工具StartMenu 8 v1.1,安装后可以为你的WIN8系统添加开始菜单功能。对于用惯了XP及WIN7的用户而言,很多人安装WIN8后不习惯WIN8系统的Metro,而借助于这个小工具可以帮助你找回...

Global site tag (gtag.js) - Google Analytics