标题:孙鑫的WINMAIN教例中怎么改变程序图标?各位老师指导下,谢谢。
只看楼主
daguos
Rank: 1
等 级:新手上路
帖 子:23
专家分:8
注 册:2010-3-17
结帖率:57.14%
已结贴  问题点数:20 回复次数:2 
孙鑫的WINMAIN教例中怎么改变程序图标?各位老师指导下,谢谢。
#include <windows.h>
 #include <stdio.h>
 
LRESULT CALLBACK WinSunProc(
   HWND hwnd,      // handle to window
   UINT uMsg,      // message identifier
   WPARAM wParam,  // first message parameter
   LPARAM lParam   // second message parameter
 );
 
int WINAPI WinMain(
   HINSTANCE hInstance,  // handle to current instance
   HINSTANCE hPrevInstance,  // handle to previous instance
   LPSTR lpCmdLine,      // pointer to command line
   int nCmdShow          // show state of window
 )
 {
     WNDCLASS wndcls;
     wndcls.cbClsExtra=0;
     wndcls.cbWndExtra=0;
     wndcls.hbrBackground=(HBRUSH)GetStockObject(BLACK_BRUSH);
     wndcls.hCursor=LoadCursor(NULL,IDC_CROSS);
     wndcls.hIcon=LoadIcon(NULL,IDI_ERROR);
     wndcls.hInstance=hInstance;
     wndcls.lpfnWndProc=WinSunProc;
     wndcls.lpszClassName="weixin";
     wndcls.lpszMenuName=NULL;
     wndcls.style=CS_HREDRAW|CS_VREDRAW;
     RegisterClass(&wndcls);
 
    HWND hwnd;
     hwnd=CreateWindow("weixin", "中国人民很行", WS_OVERLAPPEDWINDOW,
         0,0,600,400,NULL,NULL,hInstance,NULL);
 
    ShowWindow(hwnd,SW_SHOWNORMAL);
     UpdateWindow(hwnd);
 
    MSG msg;
     while(GetMessage(&msg,NULL,0,0))
     {
         TranslateMessage(&msg);
         DispatchMessage(&msg);
     
    }
     return 0;
 }
 
LRESULT CALLBACK WinSunProc(
   HWND hwnd,      // handle to window
   UINT uMsg,      // message identifier
   WPARAM wParam,  // first message parameter
   LPARAM lParam   // second message parameter
 )
 {
     switch(uMsg)
     {
     case WM_CHAR:
         char szChar[20];
         sprintf(szChar,"char is %d", wParam);
         MessageBox(hwnd,szChar,"weixin",0);
         break;
     //case WM_LBUTTONDOWN:
     //    MessageBox(hwnd,"mouse clicked","weixin",0);
     //    break;
     case WM_PAINT:
         HDC hdc;
         PAINTSTRUCT ps;
         hdc=BeginPaint(hwnd,&ps);
         TextOut(hdc,0,0,"window painted",strlen("window painted"));
         break;
     case WM_CLOSE:
         if(IDYES==MessageBox(hwnd,"是否真的结束?","weixin",MB_YESNO))
         {
             DestroyWindow(hwnd);
         };
         break;
     case WM_DESTROY:
         PostQuitMessage(0);
         break;
     default:
         return DefWindowProc(hwnd,uMsg,wParam,lParam);
     }
     return 0;
 }

SDK下怎么修改窗口图标为自定义的图标,我是初学者,请老师指导下。谢谢。
搜索更多相关主题的帖子: previous message command current include 
2013-09-23 23:35
blueskiner
Rank: 8Rank: 8
等 级:蝙蝠侠
帖 子:227
专家分:707
注 册:2008-9-22
得分:20 
这个跟项目的工程配置环境有关系的,先导入自定义的图标,然后有个类似loadicon的API,具体请参照MSDN这个很好的工具;还有,孙鑫的书是以VC6.0作为教学环境的,老掉牙了,新版VS很多自动化的项目配置方式,非常方便。
另外,请移步VC教室咨询,那边的老师更专业。
2013-09-24 06:22
daguos
Rank: 1
等 级:新手上路
帖 子:23
专家分:8
注 册:2010-3-17
得分:0 
谢谢指导。
2013-09-24 08:56



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-420971-1-1.html




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

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