| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2402 人关注过本帖
标题:VC++中API的菜单问题
只看楼主 加入收藏
Mycr
Rank: 1
等 级:新手上路
帖 子:203
专家分:0
注 册:2006-9-18
收藏
 问题点数:0 回复次数:10 
VC++中API的菜单问题

看了书上写的密密麻麻的,我是个初学者,不知道从哪里下手,

请大家帮我简单介绍一下,要使用API编写一个菜单程序,要哪几个步聚?帮我简单写一下。

搜索更多相关主题的帖子: API 菜单 编写 
2006-11-15 21:08
radcat
Rank: 3Rank: 3
等 级:论坛游民
威 望:8
帖 子:306
专家分:45
注 册:2006-9-12
收藏
得分:0 

给你两个函数:
1.HMENU CreateMenu(VOID)

返回值:如果函数调用成功,返回值是新创建菜单的句柄。如果函数调用失败,返回值是NULL。

2.HMENU LoadMenu(HINSTANCE hInstance,LPCTSTR lpMenuName);

参数:

hInstance:含有被加载菜单资源的事例模块的句柄。
lpMenuName:指向含有菜单资源名的以空结束的字符串的指针。同时,此参数可由低位字上的资源标识符和高位字上的零组成。要创建此值,用MAKEINTRESOURCE宏。
返回值:如果函数调用成功,返回值是菜单资源句柄;如果函数调用失败,返回值是NULL。若想获得更多的错误信息,请调用GetLastError函数。

实际上创建菜单可以用vc的资源管理器,然后用第二个函数加载,这样就可以实现菜单的动态更换,这样是很方便的.

还有就是像书上写的在头文件中用语句创建,不过个人感觉这种不是很方便实用.


2006-11-16 09:30
Mycr
Rank: 1
等 级:新手上路
帖 子:203
专家分:0
注 册:2006-9-18
收藏
得分:0 

这两个函数我知道,但我不知道,这两个函数要写在哪里。我刚学到Windows应用程序中的键盘与鼠标。
第六章是资源在windows.编程中的应用。

其中有资源文件6_1.rc是不是这样建的?对source files单击鼠标右键,在快捷菜单中选择add files to folder
在弹出的对话框中的文件名输入6_1.rc,按OK按钮。


2006-11-16 18:35
Mycr
Rank: 1
等 级:新手上路
帖 子:203
专家分:0
注 册:2006-9-18
收藏
得分:0 
打开6_1.rc后,我在文件里输入如下代码
#include "windows.h"
Menu MENU DISCARDABLE
BEGIN
POPUP "文件(&F)"
POPUP "计算(&S)"
POPUP "帮助(&H)"
END BEGIN

设WndClass.lpszMenuName="Menu";

运行的时候出错如下错误:
E:\API\menu\6_1.rc (70): error RC2121 : BEGIN expected in menu
E:\API\menu\6_1.rc (70): error RC2122 : unknown menu subtype
Error executing rc.exe.

2006-11-16 18:40
radcat
Rank: 3Rank: 3
等 级:论坛游民
威 望:8
帖 子:306
专家分:45
注 册:2006-9-12
收藏
得分:0 

喂不要这样做.

你是用Win32 AppLication这个向导建的吧.在第二步时不要选择前两个要选择第三个一个Hello World框架

这样的话在程序中rc资源管理器就自动存在了,而且那个一百多行的win32框架M$也给你写好了和书上的大同小异,你只需在在rc中添东西,或在框架中增改,如果以后做工程一定是这样做的,你不会是把书上那个Hello World拷到每个工程去用吧??


2006-11-17 08:54
Mycr
Rank: 1
等 级:新手上路
帖 子:203
专家分:0
注 册:2006-9-18
收藏
得分:0 

谢谢,我已经弄出来是怎么编写菜单的,我想通过学习,了解MFC每一个东西是怎么出来。

所以我在用win32.application这个向导建的时候,在第二步时都是用第一个框架。

我想问是,是不是在windows编程的时候,都是用win32 application这个向导建的,第二步的时候选用第三个框架?


2006-11-17 14:55
radcat
Rank: 3Rank: 3
等 级:论坛游民
威 望:8
帖 子:306
专家分:45
注 册:2006-9-12
收藏
得分:0 
如果你用sdk方式那么是.
如果你用mfc方式那当然不是了

2006-11-17 15:01
cz522321
Rank: 1
等 级:禁止访问
威 望:2
帖 子:569
专家分:5
注 册:2006-3-13
收藏
得分:0 
初学的话,是有一点无从下手!你可以先找一些书籍来试着自己慢慢的弄明白,实在不懂的时候,在问别人也不迟!我自己的学习方法是如此,还可以!

2006-11-17 21:06
Mycr
Rank: 1
等 级:新手上路
帖 子:203
专家分:0
注 册:2006-9-18
收藏
得分:0 
这个东西就是不知道从哪里下手,看了很多书,最后发现,从API学起,可能会容易些。要不然都不知道原理

2006-11-21 15:08
zny165
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2007-1-7
收藏
得分:0 
请问做好的能发上来看看吗?我也不会加菜单
2007-01-20 10:16
快速回复:VC++中API的菜单问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.015915 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved