我定义了以下这样的rc资源文件:
#include <resource.h>
#define ico_main 0x1000
#define menu_main 0x2000
#define ida_main 0x3000
#define menu_open 0x4000
ico_main icon "main.ico"
menu_main menu discardable
begin
popup "文件(&f)"
begin
menuitem "打开文件(&o)....",menu_open
end
end
然后,用rc资源编译后得到个res文件,并用vb的资源编辑器加载,最后得到这样的结果:
----菜单
8192[英语(美国))
我的工程文件中只包括一个标准模块,其中就是注册窗口类,创建窗口,消息循环等代码,因为要使创建的窗口有菜单,我采用的一种方法是call
loadmenu从资源文件中得到菜单句柄,然后把菜单句柄作为参数传递给CreateWindowEx来创建带菜单的窗口,不知道是不是vb不支持这种方式,
我call loadmenu后,返回值总是0,具体应该怎么做呢,最好有代码详解,谢谢
#include <resource.h>
#define ico_main 0x1000
#define menu_main 0x2000
#define ida_main 0x3000
#define menu_open 0x4000
ico_main icon "main.ico"
menu_main menu discardable
begin
popup "文件(&f)"
begin
menuitem "打开文件(&o)....",menu_open
end
end
然后,用rc资源编译后得到个res文件,并用vb的资源编辑器加载,最后得到这样的结果:
----菜单
8192[英语(美国))
我的工程文件中只包括一个标准模块,其中就是注册窗口类,创建窗口,消息循环等代码,因为要使创建的窗口有菜单,我采用的一种方法是call
loadmenu从资源文件中得到菜单句柄,然后把菜单句柄作为参数传递给CreateWindowEx来创建带菜单的窗口,不知道是不是vb不支持这种方式,
我call loadmenu后,返回值总是0,具体应该怎么做呢,最好有代码详解,谢谢
BEGIN
8001, "这是来自 resource.res 资源文件编号 8001 的文字"
8002, "编号 8002 的文字第一行\x0d\x0a这是第二行\x0d\x0a这是第三行"
END wanglogo BITMAP wanglogo.bmpearth ICON earth.ico
moon01 ICON moon01.ico
moon02 ICON moon02.ico
moon03 ICON moon03.ico
moon04 ICON moon04.ico
moon05 ICON moon05.ico
moon06 ICON moon06.ico
moon07 ICON moon07.ico
moon08 ICON moon08.icobigpoint CURSOR bigpoint.curChimes WAVE Chimes.wav
Chord WAVE Chord.wav
Ding WAVE Ding.wav
Tada WAVE Tada.wav
然后创建菜单的方法吗?我的意思是先定义菜单资源,然后调用findresource,
loadmenu等一些api函数来创建菜单(即纯粹调用API和使用资源文件来创建菜单)
,这个问题困扰我几天了。
好象这个函数需要一个结构的指针,那我试试,不知道是否能行。
Finally, you can use menu resource in VB. Let you use resource menu + accelerator keys without VB menu limits.
都不甚清楚,基本上这个问题,我明白了,谢谢你的解答。
icon格式和光标资源ani格式,在vb中好象没办法使用!
也不是我想要的,如果是set me.icon=loadrespicture(101,3)的话很简单,可是
我是想得到从res资源文件加载图标(即hicon=loadicon(App.hInstance,idm_ico),
可是返回值是0,我想出错了,最后一个参数应该怎样给出呢?对于loadmenuindirect
最后一个参数为byval varptr(array(0))则能成功加载菜单资源,还是希望你继续
关注。
过这本书的,看到第5章就是使用资源,实在是学得困难。对于上面的问题,难道
就没有转机了吗?我使用自定义资源的方式:调用findresource,loadresource等
函数能求得icon图标的句柄,但是就是不知道怎么使用loadicon这个函数。
简单一句话,就是怎样用loadicon来加载资源文件的图标资源?
如果确实不能使用这个函数,我就放弃了。
获得图标,并且通过sendmessage hwnd,WM_SETICON,ICON_SMALL,hicon
语句来修改图标,就达到目的了
不过学习了。
罗云彬用汇编写了一个clock
我把他改成对应的vb代码了
vbcolckvb调试这类直接调用资源文件的程序比较麻烦
因为IDE环境没有生成exe 是附加在vb6.EXE里面的 App.hInstance也不是你的程序的,是vb6的所以
hicon=loadicon(App.hInstance,idm_ico)类似这种 在vbIDE环境只可能返回 0
必须生成exe来调试然后才能考虑其他代码是否有问题
权威的解释了,希望VB的闹钟程序能给我启发。