Windows编程(3)|SDK自定义图标

来源:互联网 发布:ubuntu如何复制文件夹 编辑:程序博客网 时间:2024/06/05 06:16

       在资源那右键选择添加资源,选择图标,然后自己绘制图标,这时图标会有个ID号,在设计窗口类时MAKEINTRESOURCE()对ID号转换为资源后

使用LoadIcon()加载资源,

我绘制的图标

 

设计窗口类的代码:

//设计窗口类,该窗口类并不是C++中的类,只是表示窗口特征的结构体WNDCLASS MyWndClass; //WNDCLASS是个结构体,该结构体中的成员是指定窗口特征的数据   //WNDCLASS结构体/*typedef struct _WNDCLASS { UINT       style; WNDPROC    lpfnWndProc; int        cbClsExtra; int        cbWndExtra; HINSTANCE  hInstance; HICON      hIcon; HCURSOR    hCursor; HBRUSH     hbrBackground; LPCTSTR    lpszMenuName; LPCTSTR    lpszClassName; } WNDCLASS, *PWNDCLASS; Members*///这两个变量允许用户请求Windows内部提供额外的空间以便额外数据与窗口//实例发生联系,通常不分配空间MyWndClass.cbClsExtra = NULL;MyWndClass.cbWndExtra = NULL;    //背景颜色,这里有两种方法//GetStockObject()返回的句柄是HGDIOBJ类型,需要转换,//可以加载画刷,也可以加载画笔,//GetStockObject()参数的值有(看MSDN)//BLACK_BRUSH     黑色画刷//DKGRAY_BRUSH    深灰色画刷//GRAY_BRUSH      灰色画刷//WHITE_BRUSH     白色画刷//MyWndClass.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH);MyWndClass.hbrBackground = (HBRUSH)(COLOR_WINDOW+1);//窗口的图标,如果为NULL,系统将提供一个默认的图标//LoadIcon()加载图标资源,返回图标句柄,//如果加载系统标准的图标第一个参数必须为NULL,第二个参数值为//IDI_ERROR        错误图标//IDI_APPLICATION  默认应用程序图标//IDI_QUESTION     问号图标 //IDI_EXCLAMATION  感叹号图标 //IDI_ASTERISK     星号图标//IDI_WARNING      警告图标//IDI_WINLOGO      Windows图标//IDI_HAND         与IDI_ERROR相同//IDI_INFORMATION  消息图标//还有很多.....//MyWndClass.hIcon  = LoadIcon(NULL,IDI_WINLOGO); //使用系统图标        MyWndClass.hIcon   = LoadIcon(hInstance,MAKEINTRESOURCE(IDI_ICON1));//使用自定义图标        //光标,LoadCursor()的使用与LoadIcon()相同        MyWndClass.hCursor = LoadCursor(NULL,IDC_APPSTARTING);MyWndClass.hInstance = hInstance; //当前实例的句柄        MyWndClass.lpfnWndProc = MyWindowProc; //窗口函数(消息处理函数),lpfnWndProc是个函数指针MyWndClass.lpszClassName = szWindowClass; //窗口类名        MyWndClass.lpszMenuName  = NULL ;// 菜单,指定菜单资源的名字,NULL是表示没有菜单,//MyWndClass.lpszMenuName  = MAKEINTRESOURCE(IDR_MENU1);//一种,MAKEINTRESOURCE()加载菜单        MyWndClass.style = CS_HREDRAW|CS_VREDRAW; //使用|把多种窗口样式连接在一起//窗口的样式        //CS_HREDRAW  表示当水平方向宽度发生变化时重绘整个窗口        //CS_VREDRAW  表示当垂直方向高度发生变化时重绘整个窗口//CS_NOCLOSE  禁用系统菜单中的Close命令,既是没有关闭按钮//CS_DBLCLKS  当用户双击鼠标时向窗口过程函数发送鼠标双击消息    


效果:

 

原创粉丝点击