呵呵今天很是高兴,因自己想写游戏必然要一个洁净的窗口演示3D效果,当然了有些大手可以自己写出win32的窗口应用程序,但是毕竟很是麻烦,很多小手们跟我一样喜欢直接生成出一个win32object程序。窗口上却要生成一行任务栏的东西,上面有菜单file和about,很是烦人,于是上网找找资料怎样把他们解决掉,很是郁闷,没有我想要的答案,于是乎我将程序逐一排查了一变花了一上午的时间弄出了自己想要的效果,还好不用自己写代码只是把原本但代码多处地方进行注释即可,本人使用的编辑器是vs2008是否跟vs2005一样我倒是没有验证。
那任务栏的东西在那?或许昨夜睡的太晚,今天被老妈早早拽起,头痛之余看这东西有点慢.......
首先在Solution Explorer 中 找到文件夹子 Resource Files 再找一个XXXX.rc的文件(XXXX你自己命名的任务名)然后又键选view code(呵呵不要冲动直接去点文件)
在XXXX.rc中找到
//Menu
IDC_GAMETEXT MENU
BEGIN
POPUP "&File"
BEGIN
MENUITEM "E&xit", IDM_EXIT
END
POPUP "&Help"
BEGIN
MENUITEM "&About ...", IDM_ABOUT
END
END
在找到
// Accelerator
//
IDC_GAMETEXT ACCELERATORS
BEGIN
"?", IDM_ABOUT, ASCII, ALT
"/", IDM_ABOUT, ASCII, ALT
END
这两段代码进行进行注释
然后就简单了 只要将程序中的 IDM_EXIT / IDM_ABOUT的东西删掉就OK啦
为了防止大家有所遗漏那么这东西的具体位置在
Resource.h中
注释掉
#define IDD_ABOUTBOX 103
#define IDM_ABOUT 104
#define IDM_EXIT 105
貌似可以忽略,毕竟希望自己的代码严谨些 没用的内存不要开辟 所以还是处理掉比较好
XXXX.cpp中
注释掉INT_PTR CALLBACK About(HWND, UINT, WPARAM, LPARAM);
INT_PTR CALLBACK About(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
{
UNREFERENCED_PARAMETER(lParam);
switch (message)
{
case WM_INITDIALOG:
return (INT_PTR)TRUE;
case WM_COMMAND:
if (LOWORD(wParam) == IDOK || LOWORD(wParam) == IDCANCEL)
{
EndDialog(hDlg, LOWORD(wParam));
return (INT_PTR)TRUE;
}
break;
}
return (INT_PTR)FALSE;
}
LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
case WM_COMMAND:
wmId = LOWORD(wParam);
wmEvent = HIWORD(wParam);
// Parse the menu selections:
switch (wmId)
{
case IDM_ABOUT:
DialogBox(hInst, MAKEINTRESOURCE(IDD_ABOUTBOX), hWnd, About);
break;
case IDM_EXIT:
DestroyWindow(hWnd);
break;
default:
return DefWindowProc(hWnd, message, wParam, lParam);
}
break;
这些就不要了 要注意下编译的时候的warning个数 还可以注释掉
此函数中的int wmId, wmEvent;
然后运行一下 呵呵是不是发现很清洁呢~
牛肉炒饭自行发表,99%都有错误,大家仔细阅读提出疑问!