VS++2010如何使用自定义图标

这是我创建好项目之后,请从这里详细讲解好吗。。在书本里是用这条语句调用的:wndclass.hIcon=LoadIcon(hInstance,MAKEINTRESOURC... 这是我创建好项目之后,请从这里详细讲解好吗。。
在书本里是用这条语句调用的:wndclass.hIcon = LoadIcon (hInstance, MAKEINTRESOURCE (IDI_ICON)) ;IDI_ICON是自定义的图标ID。
书中用的是其他的编辑软件,不是VS++2010。

谢谢
展开
 我来答
未来需努力点缀
推荐于2018-03-19 · TA获得超过4679个赞
知道大有可为答主
回答量:850
采纳率:50%
帮助的人:529万
展开全部

lz 你好


具体步骤如下:

(1)右键"资源文件" ->“添加”->"新建项"


(2)选择"资源"->"资源文件.rc"->命名为"resource"


(3)菜单栏选择"视图"->"资源视图", 右键"resource.rc"->"添加资源"


(4)选择"Icon"->"导入"  选择你要加入的图标


(5)右键添加好的图标,选择"属性",修改ID


(6)修改源代码,如下:

//IconDemo.c
#include<windows.h>
#include"resource.h"//添加资源头文件

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

int WINAPI WinMain(HINSTANCE hInstance,
   HINSTANCE hPrevInstance,
                   PSTR szCmdLine,
   int iCmdShow)
{
static TCHAR szAppName[] = TEXT("IconDemo");
HWND hwnd;
MSG msg;
WNDCLASS wndclass;
int cxScreen, cyScreen;

wndclass.style = CS_HREDRAW | CS_VREDRAW;
wndclass.lpfnWndProc = WndProc;
wndclass.cbClsExtra = 0;
wndclass.cbWndExtra = 0;
wndclass.hInstance = hInstance;
wndclass.hIcon = LoadIcon(hInstance, MAKEINTRESOURCE(IDI_ICON));//加载图标
wndclass.hCursor = LoadCursor(NULL, IDC_ARROW);
wndclass.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH);
wndclass.lpszMenuName = NULL;
wndclass.lpszClassName = szAppName;

if(!RegisterClass(&wndclass))
{
MessageBox(NULL, TEXT("This program requires Windows NT!"),
szAppName, MB_ICONERROR);
return 0;
}

cxScreen = GetSystemMetrics(SM_CXSCREEN);
cyScreen = GetSystemMetrics(SM_CYSCREEN);
hwnd = CreateWindow(szAppName,
TEXT("IconDemo"),
WS_OVERLAPPEDWINDOW,
cxScreen * 7 / 20,
cyScreen / 4,
cxScreen * 3 / 10,
cyScreen / 2,
NULL,
NULL,
hInstance,
NULL);

ShowWindow(hwnd, iCmdShow);

while(GetMessage(&msg, NULL, 0, 0))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}

return msg.wParam;
}

LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
{
switch(message)
{
case WM_DESTROY:
PostQuitMessage(0);
return 0;
}
return DefWindowProc(hwnd, message, wParam, lParam);
}


(7)运行效果如下:




希望能帮助你哈

百度网友3a37bfb
2016-03-10 · TA获得超过6953个赞
知道大有可为答主
回答量:1万
采纳率:95%
帮助的人:5113万
展开全部
一般情况下,在VS2010等版本的IDE中会将你的自定义控件自动加载到你的工具箱,但是也有些时候,VS不会自动加载,但是再程序中控件是可用的。这就会对使用自定义控件造成一定的麻烦,原因是自定义控件没有自动加载,需要手动载入。
手动载入方法: 在工具箱新建一个选项卡,右键-选择项(I)(英文:choose items)选择浏览,找到自定义控件的dll 文件,加载,即可!

在设计自定义控件时,系统默认生成的图标比较单一难看,如何为控件设计自己的图标呢,这里给出了一种基于ToolBoxBitmap 属性设置自定义控件工具箱图标的方法。
1)首先将图标文件名改为自定义控件名,如自定义控件类为
public partial class UserDefindControl: UserControl
{
}
那么就要将图标图片文件更名为UserDefindControl,如UserDefindControl.bmp
2)然后将图标图片复制到程序根目录下,在解决方案管理器中在项目名称右键选择“添加”—>“添加现有项”,将图标图片加入到项目中,对图片资源的属性进行修改,将“生成操作”一栏该为“嵌入的资源”。
3)添加代码。在类头部添加如下代码
[ToolboxBitmap(typeof(UserDefindControl),"UserDefindControl.bmp")]//新添加的代码
public partial class UserDefindControl: UserControl
{
}
需要注意的是,使用ToolboxBitmap时需要添加using System.Drawing引用。
如果图标图片不是放在程序根目录下,就要调整以上代码。比如图片放在程序根目录的下一级目录文件夹Icons下时,代码就要修改为:
[ToolboxBitmap(typeof(UserDefindControl),"Icons.UserDefindControl.bmp")]
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
某年Y
2015-12-12 · 超过17用户采纳过TA的回答
知道答主
回答量:44
采纳率:0%
帮助的人:18.7万
展开全部
在属性那设置icon不行吗
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式