C_and_CPP 板


LINE

小弟最近在研究用C写windows API 我用的编译器是dev C 写一些简单的API程式都可以 但是 到後面像要做menu的部份 书上说要用资源档去做 我也试了Dev里的*.rc档 但是失败了 //我的书是用Visual C++当编译器的 但是我没有,我只有Dev 请问各位大大有没有方法能在Dev C里加入资源档?? //=============================================== C程式部分的源码 #include <windows.h> #include "resource.rc" LRESULT CALLBACK WndProc (HWND, UINT, WPARAM, LPARAM); ATOM InitApp(HINSTANCE); BOOL InitInstance(HINSTANCE ,int ); char szClassName[ ] = "Windows01"; //视窗类型 int WINAPI WinMain (HINSTANCE hCurInst, HINSTANCE hPrevInst, LPSTR lpsCmdLine, int nCmdShow) { MSG msg; BOOL bRet; WNDCLASSEX wc; HWND hWnd; ATOM atom; wc.cbSize = sizeof(WNDCLASSEX); wc.style = CS_HREDRAW | CS_VREDRAW; wc.lpfnWndProc = WndProc; wc.cbClsExtra = 0; wc.cbWndExtra = 0; wc.hInstance = hCurInst; wc.hIcon = (HICON)LoadImage(NULL, MAKEINTRESOURCE (IDI_APPLICATION), IMAGE_ICON, 0, 0, LR_DEFAULTSIZE | LR_SHARED ); wc.hCursor = (HCURSOR)LoadImage (NULL, MAKEINTRESOURCE(IDC_ARROW), IMAGE_CURSOR, 0, 0, LR_DEFAULTSIZE | LR_SHARED); wc.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH); wc.lpszMenuName = "MYMENU"; wc.lpszClassName = (LPCSTR)szClassName; wc.hIconSm = (HICON)LoadImage( NULL, MAKEINTRESOURCE(IDI_APPLICATION), IMAGE_ICON, 0, 0, LR_DEFAULTSIZE | LR_SHARED); if ((atom = RegisterClassEx(&wc))==0) return FALSE; hWnd = CreateWindow( szClassName, "Xatier API", WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, NULL, NULL, hCurInst, NULL); if(!hWnd) return FALSE; ShowWindow(hWnd, nCmdShow); UpdateWindow(hWnd); while (bRet = GetMessage (&msg, NULL, 0, 0) !=0 ){ if(bRet == -1){ break; }else{ TranslateMessage(&msg); DispatchMessage(&msg); } } return (int)msg.wParam; } LRESULT CALLBACK WndProc (HWND hWnd, UINT msg, WPARAM wp, LPARAM lp) { int id; switch (msg){ case WM_COMMAND: switch (LOWORD(wp)){ case IDM_END: SendMessage(hWnd, WM_CLOSE, 0, 0); break; case IDM_HELP: MessageBox(hWnd, "CopyRight(c)2009 Xatier\n功能表", "about", MB_OK); break; default: return(DefWindowProc (hWnd, msg, wp, lp)); } break; case WM_CLOSE: id = MessageBox(hWnd, "你确定要结束程式吗?", "确认", MB_YESNO | MB_ICONQUESTION); if(id == IDYES) DestroyWindow(hWnd); break; case WM_DESTROY: PostQuitMessage (0); break; default: return (DefWindowProc (hWnd, msg, wp, lp)); } return 0; } //======================== 资源档 MYMENU MENU BEGIN POPUP "档案(&F)" BEGIN MENUITEM "结束(&X)", IDM_END END MENUITEM "说明(&H)", IDM_HELP END //======================= 有点乱...... 在Dev C里它在 #include "resource.rc" 这行就挡下来了...囧 对於我这个初学API的新手而言 看了好久还是不知道是哪里出问题 拜托各位大大了 M(_ _)M --



※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 210.60.107.233
1F:推 aecho:menu有其它的方法可以达成,不见得需要用到资源档。 07/28 12:48
2F:→ xatier:参考书名:"猫也会的windows程式设计" 07/28 12:51
4F:→ xatier:10235655 //接 07/28 12:52
5F:推 aecho:http://0rz.tw/PZCwm (msdn上win32 API的menu functions) 07/28 12:56
6F:推 zlw:去下载 Visual Studio 2008 Express,一来你写 Win32 API 需要 07/28 13:24
7F:→ zlw:有 platform sdk (lib,header),dev c++好像不含这个。二来 07/28 13:24
8F:→ zlw:dev c++似乎不能编译 *.rc 档的样子。 07/28 13:25
9F:推 zlw:查了一下dev好像透过mingw32所有有支援win api,不过我想还是 07/28 13:31
10F:→ zlw:微软网站提供的会比较完整,要开发win32程式,还是用微软的好 07/28 13:31
11F:推 lairrol:Visual Studio 2008 还不错用... 07/28 16:11
12F:推 typeotoco:你要用微软的东西, 就用微软的IDE, 这样不是很好 07/28 16:30
13F:推 herman602:楼上是指不要还是要XD 07/28 16:32
14F:推 ofy:Dev C++不支援include rc,而是直接在专案里添加rc file 07/28 16:35
15F:→ ofy:之後在专案选项里设定在编译过程中,会自动调用windres.exe 07/28 16:36
16F:→ ofy:把rc编成res,ld linker就能用了 07/28 16:37
17F:→ ofy:另外有必要在.h里宣告类似这种 #define VERSION_INFO 1 07/28 16:47
18F:→ ofy:在rc里 include .h,并且以VERSION_INFO VERSIONINFO这种方式写 07/28 16:49
19F:→ ofy:前面是自订的名称,後面是rc的类型 07/28 16:51
20F:→ ofy:以你的为例就是 .h里宣告#define MYMENU 9999<任意数 07/28 16:54
21F:→ ofy:这些动作MS的编译器VS会自动指定,但MinGW全都必须手动 07/28 16:58
22F:→ ofy:要把所有需要的资源,全都指定一个不相同的数字 07/28 17:00
23F:→ ofy:有空可以用资源编辑器(中文化工具)去看看,会发现所有项目都 07/28 17:04
24F:→ ofy:有一个不相同的指定数字 07/28 17:04
25F:推 zlw:原来还可以这样。 07/28 19:09
26F:推 elfkiller:可以 用专案 07/29 04:04
27F:→ xatier:哦~小弟在回家研究 M(_ _)M 谢谢各位大大的解答 07/30 17:00







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:Soft_Job站内搜寻

TOP