C语言怎么添加资源,vc6.0中一个空工程添加菜单资源解决办法

vc6.0中一个空工程添加菜单资源

// testagain.cpp : Defines the entry point for the application.

//

#include

#include"resource.h"

LRESULT CALLBACK WndProc(HWND,UINT,WPARAM,LPARAM);

int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine,int nCmdShow)

{

// 填充窗口类

static TCHAR szAppName[] =TEXT("Hello");

HWND hwnd;

MSG msg;

WNDCLASS wc;

wc.cbClsExtra= 0;

wc.cbWndExtra= 0;

wc.hbrBackground= (HBRUSH)GetStockObject(WHITE_BRUSH);

wc.hCursor= LoadCursor(NULL,IDC_ARROW);

wc.hIcon= LoadIcon(NULL,IDI_APPLICATION);

wc.hInstance =hInstance;

wc.lpfnWndProc =WndProc;

wc.lpszClassName =szAppName;

wc.lpszMenuName= "Hello";              // 这里我添加了菜单名

wc.style =CS_HREDRAW|CS_VREDRAW;

// 判断注册窗口类成功与否

if(!::RegisterClass(&wc))

{

MessageBox(NULL,TEXT("this program needs windows NT!"),szAppName,MB_ICONERROR);

return 0;

}

// 创建窗口

hwnd=::CreateWindow(szAppName,

TEXT("欢迎!"),

WS_OVERLAPPEDWINDOW,

700,//CW_USEDEFAULT,

180,//CW_USEDEFAULT,

500,//CW_USEDEFAULT,

500,//CW_USEDEFAULT,

NULL,

NULL,          // 想知道这里应该怎么来确定菜单句柄应该怎么写

hInstance,

NULL

);

// 显示并更新窗口

ShowWindow(hwnd,SW_SHOW);

UpdateWindow(hwnd);

// 消息循环

int bset;

while((bset=GetMessage(&msg,hwnd,0,0))!=0)

{

if(bset==-1)

{

MessageBox(NULL,TEXT("exit error!"),szAppName,MB_OK);

break;

}

else

{

::TranslateMessage(&msg);

::DispatchMessage(&msg);

}

}

return msg.wParam;

}

// 窗口过程处理函数

LRESULT CALLBACK WndProc(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam)

{

HDC hdc;

PAINTSTRUCT ps;

RECT rt;

int wmparam;

switch(message)

{

case WM_COMMAND:

wmparam=LOWORD(wParam);

switch(wmparam)

{

case IDM_EXIT:

DestroyWindow(hwnd);

return 0;

case IDM_DISP:

MessageBox(hwnd,"这是一个测试!","Dialog",MB_OK);

return 0;

}

case WM_PAINT:

hdc =BeginPaint(hwnd,&ps);

GetClientRect(hwnd,&rt);

DrawText(hdc,TEXT("欢迎来到VC!"),-1,&rt, DT_SINGLELINE | DT_CENTER | DT_VCENTER);           // TextOut(hdc,10,10,"Good!",sizeof("Good!"));//different with textout

EndPaint(hwnd,&ps);

return 0;

case WM_DESTROY:

PostQuitMessage(0);

return 0;

}

return DefWindowProc(hwnd,message,wParam,lParam);

}

我在该工程下添加了菜单资源并添加进工程了但是编译连接时不显示菜单 猜想是创建窗口是那还有个参数没改

但是我有点不会还请指教

------解决方案--------------------

这种问题,找本书或网上代码搜搜看看

------解决方案--------------------

/* 变量声明处 */

HMENU main_menu = NULL;

......

/* 加载菜单 */

main_menu = LoadMenu(hInstance, TEXT("Hello"));

/* 如果的你的菜单是用ID形式而不是字符串形式 ,请这样写*/

main_menu = LoadMenu(hInstance,  MAKEINTRESOURCE(菜单ID));

...............

hwnd =::CreateWindow(szAppName,

TEXT("欢迎!"),

WS_OVERLAPPEDWINDOW,

700,//CW_USEDEFAULT,

180,//CW_USEDEFAULT,

500,//CW_USEDEFAULT,

500,//CW_USEDEFAULT,

NULL,

main_menu, /* 菜单句柄 */

hInstance,

NULL

);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值