1、准备知识:
1、图标:(文件格式为 .ico)
图标有两种,分别是大图标(wc.hIcon)和小图标(wc.hIconSm)。web
大图标:任务栏中程序图标
小图标:窗口上的图标
app
图标文件格式.ioc的转换:
1.可经过格式转换软件,好比格式工厂。
2.在线网站转换,在线版PDF转换器svg
2、光标:(静态光标文件格式.cur)、(动态光标文件格式 .ani)
就是在运行窗口上的光标。
函数
光标文件.cur和.ani的得到:
1.使用Axialis CursorWorkshop软件能够本身制做,也可转换,而后保存便可。
2…可经过其余格式转换软件。网站
2、窗口建立前设计
步骤:
1.添加资源。(如下有详细操做)
2.加载图标和光标。(使用LoadCursor函数或LoadImage函数)spa
1.添加资源步骤:
右击资源文件----添加----资源----添加图标点击Icon、添加光标点击Cursor----而后点导入.net
有几点说明一下:
1.在添加第一个资源后,会自动生成一个resource.h个头文件,此时须要添加头文件 “#includeresource.h”
2.在添加第一个资源后,也会在资源文件里生成一个.rc的文件,点击后会有以下图,也可在这添加资源文件,IDC_CURSOR1,IDC_CURSOR2这些是文件名。
设计
2.加载图标光标:
经过使用LoadCursor函数或LoadImage函数加载code
// 加载大图标 wc.hIcon = LoadIcon(hInstance, (LPCTSTR)IDI_ICON1); 或wc.hIcon = (HICON)LoadImage(hInstance, (LPCTSTR)IDI_ICON1, IMAGE_ICON, 0, 0, LR_CREATEDIBSECTION); // 加载小图标 wc.hIconSm = LoadIcon(hInstance, IDI_APPLICATION); 或wc.hIconSm = (HICON)LoadImage(hInstance, (LPCTSTR)IDI_ICON1, IMAGE_ICON, 0, 0, LR_CREATEDIBSECTION); // 加载光标 wc.hCursor = LoadCursor(hInstance, (LPCTSTR)IDC_CURSOR1); 或wc.hCursor = (HICON)LoadImage(hInstance, (LPCTSTR)IDC_CURSOR1, IMAGE_CURSOR, 0, 0, LR_CREATEDIBSECTION);
补充:代码(LPCTSTR)IDI_ICON1可用MAKEINTRESOURCE(IDI_ICON1)代替。必定记得加上"#includeresource.h"头文件。xml
窗口标题设计:
窗口标题的设计很简单,只须要在窗口建立CreateWindowEx函数中设计就行。
hwnd = CreateWindowEx(WS_EX_CLIENTEDGE, TEXT("Windows"), TEXT("奇怪的大冒险"), // 设计窗口标题 WS_VISIBLE | WS_OVERLAPPEDWINDOW,CW_USEDEFAULT, CW_USEDEFAULT, 640, 480, // 设计窗口大小 NULL, NULL, hInstance, NULL);
3、窗口建立后设置
API函数:
1. 从新指定窗口所属窗口类的WNDCLASSEX结构体成员的值 :SetClassLong
2. 设置光标:SetCursor
1.SetClassLong函数:图标、光标、标题等都能改
函数的功能:它会替换存储空间中指定偏移量处的32位长整型值,或替换指定窗口所属类的WNDCLASSEX结构(应该是替换这个结构体中的值,并无把结构体给换了)。
DWORD SetClassLong(HWND hWnd, // 窗口句柄及间接给出的窗口所属的类 int nlndex, // 须要背修改替换的值 LONG dwNewLong) // 新的值 --注意结构类型的转化 // 实例:修改光标 SetClassLong(hwnd, GCL_HCURSOR , (LONG)LoadCursor(NULL, IDC_CROSS));
nlndex的值 | 说明 |
---|---|
GCL_CBCLSEXTRA | 设置与类相关的尺寸的字节大小。设定该值不改变己分配的额外字节数。 |
GCL_CBWNDEXTRA | 设置与类中的每个窗口相关的尺寸的字节大小。设定该值不改变已分配额外字节数。查看如何进入该内存,参看SetWindowLOng。 |
GCL_HBRBACKGROUND | 替换与类有关的背景刷子的句柄。 |
GCL_HCURSOR | 替换与类有关的光标的句柄。 |
GCL_HICON | 替换与类有关的图标的句柄。 |
GCL_HMODULE | 替换注册类的模块的句柄。 |
GCL_STYLE | 替换窗口类的风格位。 |
GCL_MENUNAME | 替换菜单名字符串的地址。该字符串标识与类有关的菜单资源。 |
GCL_WNDPROC | 替换与窗口类有关的窗口过程的地址。 |
2.SetCursor函数:设置光标
// 函数原型: HCURSOR SetCursor(HCURSOR hCursor);// 光标句柄 // 实例: SetCursor(LoadCursor(NULL, IDC_CROSS));
做者说:
我还有好多未完成的梦,没有理由停下前进的脚步!
本文同步分享在 博客“战 胜”(CSDN)。
若有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一块儿分享。