VS++2010如何使用自定义图标
这是我创建好项目之后,请从这里详细讲解好吗。。在书本里是用这条语句调用的:wndclass.hIcon=LoadIcon(hInstance,MAKEINTRESOURC...
这是我创建好项目之后,请从这里详细讲解好吗。。
在书本里是用这条语句调用的:wndclass.hIcon = LoadIcon (hInstance, MAKEINTRESOURCE (IDI_ICON)) ;IDI_ICON是自定义的图标ID。
书中用的是其他的编辑软件,不是VS++2010。
谢谢 展开
在书本里是用这条语句调用的:wndclass.hIcon = LoadIcon (hInstance, MAKEINTRESOURCE (IDI_ICON)) ;IDI_ICON是自定义的图标ID。
书中用的是其他的编辑软件,不是VS++2010。
谢谢 展开
3个回答
展开全部
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)运行效果如下:
希望能帮助你哈
展开全部
一般情况下,在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")]
手动载入方法: 在工具箱新建一个选项卡,右键-选择项(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")]
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在属性那设置icon不行吗
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询