Win32设计图标、光标样式和窗口标题(简单易懂)
一、准备知识:
一、图标:(文件格式为 .ico)
图标有两种,分别是大图标(wc.hIcon)和小图标(wc.hIconSm)。
大图标:任务栏中程序图标
小图标:窗口上的图标
图标文件格式.ioc的转换:
1.可通过格式转换软件,比如格式工厂。
2.在线网站转换,在线版PDF转换器
二、光标:(静态光标文件格式.cur)、(动态光标文件格式 .ani)
就是在运行窗口上的光标。
光标文件.cur和.ani的获得:
1.使用Axialis CursorWorkshop软件可以自己制作,也可转换,然后保存即可。
2…可通过其他格式转换软件。
二、窗口创建前设计
步骤:
1.添加资源。(以下有详细操作)
2.加载图标和光标。(使用LoadCursor函数或LoadImage函数)
1.添加资源步骤:
右击资源文件----添加----资源----添加图标点击Icon、添加光标点击Cursor----然后点导入
有几点说明一下:
1.在添加第一个资源后,会自动生成一个resource.h个头文件,此时需要添加头文件 “#includeresource.h”
2.在添加第一个资源后,也会在资源文件里生成一个.rc的文件,点击后会有如下图,也可在这添加资源文件,IDC_CURSOR1,IDC_CURSOR2这些是文件名。
2.加载图标光标:
通过使用LoadCursor函数或LoadImage函数加载
// 加载大图标
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"头文件。
窗口标题设计:
窗口标题的设计很简单,只需要在窗口创建CreateWindowEx函数中设计就行。
hwnd = CreateWindowEx(WS_EX_CLIENTEDGE, TEXT("Windows"),TEXT("奇怪的大冒险"), // 设计窗口标题WS_VISIBLE | WS_OVERLAPPEDWINDOW,CW_USEDEFAULT, CW_USEDEFAULT,640, 480, // 设计窗口大小NULL, NULL, hInstance, NULL);
三、窗口创建后设置
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));
作者说:
我还有好多未完成的梦,没有理由停下前进的脚步!
Win32设计图标、光标样式和窗口标题(简单易懂)相关推荐
- css指针光标样式小手图标
css指针光标样式小手图标: 适用于各浏览器使用的标准大小:32px*32px,右键保存图片可用 PS:找了好一会儿,才找到这样的指针光标小手图片,分享下
- UI设计图标素材|如何应用合适图标
①尽量使用通用的图标.用户已经习惯的图标,我们就不要去试图更改,使用通用图标会让用户更容易使用,也更容易让用户对界面产生亲切感.一个陌生的界面的接受程度远不如一个被大众熟悉的界面. ②图标的设计能够体 ...
- kde 配置桌面_在KDE桌面中为GTK应用程序配置鼠标光标样式
kde 配置桌面 Update on Jan. 7, 2012: The package for the gtk application style setting on KDE 4.7 is kcm ...
- 设计漂亮的样式表是一门艺术(译)
作者:珊瑚 大家好, 我是珊瑚. 和66一样工作2+年了,在经过第一年的PHP开发之后, 对前端开发的喜爱被挖掘出来,并且一发不可收拾. 同时也迷恋平面设计, 可用性设计. 在CssRain这个平台上 ...
- 【Flutter】Icons 组件 ( 加载 Flutter 内置的图标 | 材料设计图标完整展示 )
文章目录 一.加载 Flutter 内置的图标 三.完整代码示例 三.相关资源 四.Icons 图标参考 ( 超长截图 | 材料设计图标完整展示 ) 一.加载 Flutter 内置的图标 Flutte ...
- 网页设计的css样式,网页设计引入CSS样式的五种方式_css
一.使用STYLE属性 将STYLE属性直接加在个别的元件标签里,<元件(标签) STYLE="性质(属性)1: 设定值1; 性质(属性)2: 设定值2; -} 例如: <TD ...
- 矩形法_字体设计 | 新手必学,超简单的矩形造字法!!
点击蓝字关注,创智助你长姿势 作为一个刚刚踏入设计界的"萌新"来说,字体设计可能是除了版式设计之外最简单的功课了,那么今天教学内容就是最简单的字体设计:矩形造字法. 矩形造字法是以 ...
- android EditText光标位置,光标样式,EditText限制输入内容,软键盘遮挡的EditText,搜索框,限制输入表情
显示在软键盘上 android:windowSoftInputMode="adjustPan|stateHidden" 1.光标位置 homesosoedit.setSelecti ...
- HTML+CSS---定位(相对定位--绝对定位--固定定位--设置元素的层叠顺序)---表单---设置光标样式---透明度(opacity属性定义元素的不透明度--IE的半透明滤镜)---外边线
文章目录 定位 静态定位(static) 相对定位(relative) 绝对定位(absolute) 固定定位(fixed) 设置元素的层叠顺序 表单 设置光标样式 透明度 opacity属性定义元素 ...
最新文章
- 大师兄科研网vasp_【回顾】第三临床学院2020年新生科研交流会
- linux cacti安装教程,Linux下cacti的安装与配置
- Centos 配置Red5流媒体服务器
- vue-cli 打包部署
- mysql datetime timestamp 索引_MYSQL中时间类型底层存储,DATETIME ,TIMESTAMP,INT 如何选择?...
- java tcp 仿真工具_MODBUS-TCP Client Tester(免费从站仿真工具)V1.01 最新版
- 《『若水新闻』客户端开发教程》——13.代码编写(5)
- 一看就懂的Android APP开发入门教程
- 将图片转换成url链接
- BP神经网络分类算法
- ecu故障现象_发动机各传感器故障现象总结
- 【AI视野·今日NLP 自然语言处理论文速览 第六期】Fri, 11 Jun 2021
- 777 权限 android,Android linux系统644、755、777权限详解
- 比Gmail更强悍:超大3GB免费邮箱申请!
- Matlab App Designer自学笔记(九):容器及图窗控件
- 诺亚方舟售票系统V4版本了
- Oracle ASM存储Spfile解析
- Placeholder_2:0 is both fed and fetched
- 关于Sun公司的SCJP认证
- 鸿蒙系统 新闻,首款鸿蒙系统终端新闻 华为正式发布鸿蒙系统