CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VC/MFC >  基础类

Windows SDK学习过程中的问题

楼主pangdu(只想做程序)2005-04-03 17:02:29 在 VC/MFC / 基础类 提问

有个问题我一直搞不懂。  
  SDK程序的EXE图标是怎么来的,程序中又没有设置EXE文件图标动作。  
   
  在普通的一个程序中如果没有ICON资源,则生成的EXE图标是系统默认的;  
  如果有一个ICON资源,则生成的EXE图标和这个ICON一致;  
  但是一个程序中如果有几个ICON资源,则生成的EXE图标就好像和这些ICON的ID值有关。  
   
  在程序中上面是我的猜想,请各位帮忙解释下,TKS。  
  问题点数:50、回复次数:12Top

1 楼jronald(深白色)回复于 2005-04-03 17:09:26 得分 0

在我的电脑中显示的图标是资源文件中第一个定义的图标Top

2 楼pangdu(只想做程序)回复于 2005-04-03 17:18:26 得分 0

你手动把那些ICON的ID值大小顺序改变一下不会变吗?  
  另外ICON的ID是改成字符串形式呢?Top

3 楼jronald(深白色)回复于 2005-04-03 17:20:56 得分 40

我以前试过,没错,书上也是这么说的  
  手头没这种程序,你可以试试,反正不是用最先定义的图标就是用id最小的图标Top

4 楼jronald(深白色)回复于 2005-04-03 17:21:31 得分 0

用字符串也需要ID的吧Top

5 楼xuzheng318(忧郁王子)回复于 2005-04-03 17:31:34 得分 0

用资源文件自己定义!Top

6 楼pangdu(只想做程序)回复于 2005-04-03 17:42:00 得分 0

我也觉得是用id最小的图标,但是字符串标识符形式的id在RESOURCE.H中并没有#define叙述。  
  这样的话和数值标识符形式的id大小怎么比呀?  
   
  to   jronald(深白色)   :  
                  哪本书上有提到?Top

7 楼Mackz(在相互)回复于 2005-04-03 17:44:59 得分 10

创建窗口前,一般都要注册一下的吧,以下是标准的代码:  
  WNDCLASSEX   wcex;  
   
  wcex.cbSize   =   sizeof(WNDCLASSEX);    
   
  wcex.style =   CS_HREDRAW   |   CS_VREDRAW;  
  wcex.lpfnWndProc =   (WNDPROC)WndProc;  
  wcex.cbClsExtra =   0;  
  wcex.cbWndExtra =   0;  
  wcex.hInstance =   hInstance;  
  wcex.hIcon =   LoadIcon(hInstance,   (LPCTSTR)IDI_SD);     //加载大图标  
  wcex.hCursor =   LoadCursor(NULL,   IDC_ARROW);  
  wcex.hbrBackground =   (HBRUSH)(COLOR_WINDOW+1);  
  wcex.lpszMenuName =   (LPCTSTR)IDC_SD;  
  wcex.lpszClassName =   szWindowClass;  
  wcex.hIconSm =   LoadIcon(wcex.hInstance,   (LPCTSTR)IDI_SMALL);   //加载小图标  
   
  RegisterClassEx(&wcex);  
  Top

8 楼jronald(深白色)回复于 2005-04-03 17:48:08 得分 0

罗云彬的win32汇编书上资源那一章Top

9 楼jronald(深白色)回复于 2005-04-03 17:50:09 得分 0

你试试Top

10 楼pangdu(只想做程序)回复于 2005-04-03 17:53:45 得分 0

to   Mackz(在相互)   :  
          wcex.hIcon =   LoadIcon(hInstance,   (LPCTSTR)IDI_SD);     //加载大图标  
   
  如果资源文件中只有IDI_SD这么一个图标的话,是没问题:生成的EXE文件图标和这个图标一样。  
   
  但是你再向资源文件中添加一个ID值比这小的图标的话,生成的EXE文件图标就变成这个新加的了,不管你有没有用LoadIcon函数把这个图标Load进去,只要程序有这个资源就可以。Top

11 楼pangdu(只想做程序)回复于 2005-04-03 17:55:40 得分 0

to   jronald(深白色)   :  
           
        寒,手头没这本书,我去找找。  
  Top

12 楼jronald(深白色)回复于 2005-04-03 17:58:36 得分 0

不骗你   P146Top

相关问题

  • 怎样学习SDK??
  • 如何学习SDK?
  • 送分了,学习windows编程是不是一定要学习sdk,请高手赐教!
  • 学习Windows Media Format SDK中的问题,有经验的高手请帮帮忙!
  • 请教!!如何学习SDK??
  • [学习] 求存储过程
  • 请教:j2ee学习过程
  • 我想学习windows SDK编程,用《Windows 95 系统程式设计大奥秘 》合适吗?
  • windows编程初学者:请大家介绍一下如何学习SDK编程,介绍几本好书……
  • windows sdk 编程

关键词

  • 文件
  • 图标
  • wcex
  • 程序
  • 加载
  • 资源
  • idi
  • loadicon
  • icon
  • hinstance

得分解答快速导航

  • 帖主:pangdu
  • jronald
  • Mackz

相关链接

  • Visual C++类图书
  • Visual C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo