博客
关于我
win32编程 -- 图标资源与光标资源
阅读量:299 次
发布时间:2019-03-03

本文共 2069 字,大约阅读时间需要 6 分钟。

给时间一点时间,让过去过去,让开始开始。。。

----  网易云热评

一、图标资源     

1、注意图标的大小,一个图标文件中,可以有多个不同大小的图标。 

2 加载

HICON LoadIcon(       HINSTANCE hInstance, // handle to application instance       LPCTSTR lpIconName   // name string or resource identifier); 成功返回HICON句柄

 3、从注册窗口设置

wc.hIcon = LoadIcon(g_hInstance,(LPCWSTR)IDI_ICON1);//默认左上角的图标wc.hIconSm = LoadIcon(g_hInstance, (LPCWSTR)IDI_ICON2);

4、 通过消息机制设置,在创建窗口的时候

HICON hicon = LoadIcon(g_hInstance, (LPCWSTR)IDI_ICON1);       SendMessage(hWnd, WM_SETICON, ICON_SMALL, (LPARAM)hicon);

5、绘制图标

case WM_PAINT:     绘制图标(hWnd);     break;void 绘制图标(HWND hWnd){             //创建笔       PAINTSTRUCT p = {};       HDC hdc = BeginPaint(hWnd, &p);       HICON hico = LoadIcon(g_hInstance,(LPCWSTR)IDI_ICON3);       DrawIcon(hdc, 200, 200, hico);       EndPaint(hWnd, &p);}

二、光标资源

1、添加资源

光标的大小默认是32X32像素,每个光标有热点,是当前鼠标的热点

2、在窗口注册时使用资源

wc.hCursor = LoadCursor(g_hInstance,(LPCWSTR)IDC_CURSOR1);

3、设置光标消息

case WM_SETCURSOR:       {                if (LOWORD(lParam)==HTCLIENT)//当鼠标在客户区              {                       HCURSOR hCur = LoadCursor(g_hInstance, (LPCWSTR)IDC_CURSOR1);                     SetCursor(hCur);                     return 0;//不让系统默认处理所以直接跳过              }else if (LOWORD(lParam)==HTCAPTION)              {                       HCURSOR hCur = LoadCursor(g_hInstance, (LPCWSTR)IDC_CURSOR2);                     SetCursor(hCur);                     return 0;//不让系统默认处理所以直接跳过              }       }              break;

三、不同客户区,显示不同内容

case WM_SETCURSOR:       {                if (LOWORD(lParam)==HTCLIENT)//当鼠标在客户区              {                       HCURSOR hCur = LoadCursor(g_hInstance, (LPCWSTR)IDC_CURSOR1);                     HCURSOR hCur2 = LoadCursor(g_hInstance,  (LPCWSTR)IDC_CURSOR2);                     RECT rcCli = {0};                     //获取客户区大小                     GetClientRect(hWnd, &rcCli);                     POINT pt = { 0 };                     //获取屏幕坐标                     GetCursorPos(&pt);                     //屏幕区转为客户区                     ScreenToClient(hWnd, &pt);                     if (pt.x

欢迎关注公众号:顺便编点程

 

转载地址:http://avnl.baihongyu.com/

你可能感兴趣的文章
Nhibernate的第一个实例
查看>>
NHibernate示例
查看>>
nid修改oracle11gR2数据库名
查看>>
NIFI1.21.0/NIFI1.22.0/NIFI1.24.0/NIFI1.26.0_2024-06-11最新版本安装_采用HTTP方式_搭建集群_实际操作---大数据之Nifi工作笔记0050
查看>>
NIFI1.21.0_java.net.SocketException:_Too many open files 打开的文件太多_实际操作---大数据之Nifi工作笔记0051
查看>>
NIFI1.21.0_Mysql到Mysql增量CDC同步中_日期类型_以及null数据同步处理补充---大数据之Nifi工作笔记0057
查看>>
NIFI1.21.0_Mysql到Mysql增量CDC同步中_补充_插入时如果目标表中已存在该数据则自动改为更新数据_Postgresql_Hbase也适用---大数据之Nifi工作笔记0058
查看>>
NIFI1.21.0_Mysql到Mysql增量CDC同步中_补充_更新时如果目标表中不存在记录就改为插入数据_Postgresql_Hbase也适用---大数据之Nifi工作笔记0059
查看>>
NIFI1.21.0_NIFI和hadoop蹦了_200G集群磁盘又满了_Jps看不到进程了_Unable to write in /tmp. Aborting----大数据之Nifi工作笔记0052
查看>>
NIFI1.21.0_Postgresql和Mysql同时指定库_指定多表_全量同步到Mysql数据库以及Hbase数据库中---大数据之Nifi工作笔记0060
查看>>
NIFI1.21.0最新版本安装_连接phoenix_单机版_Https登录_什么都没改换了最新版本的NIFI可以连接了_气人_实现插入数据到Hbase_实际操作---大数据之Nifi工作笔记0050
查看>>
NIFI1.21.0最新版本安装_配置使用HTTP登录_默认是用HTTPS登录的_Https登录需要输入用户名密码_HTTP不需要---大数据之Nifi工作笔记0051
查看>>
NIFI1.21.0通过Postgresql11的CDC逻辑复制槽实现_指定表多表增量同步_增删改数据分发及删除数据实时同步_通过分页解决变更记录过大问题_02----大数据之Nifi工作笔记0054
查看>>
NIFI1.21.0通过Postgresql11的CDC逻辑复制槽实现_指定表多表增量同步_增加修改实时同步_使用JsonPath及自定义Python脚本_03---大数据之Nifi工作笔记0055
查看>>
NIFI1.21.0通过Postgresql11的CDC逻辑复制槽实现_指定表多表增量同步_插入修改删除增量数据实时同步_通过分页解决变更记录过大问题_01----大数据之Nifi工作笔记0053
查看>>
NIFI1.21.0通过Postgresql11的CDC逻辑复制槽实现_指定表或全表增量同步_实现指定整库同步_或指定数据表同步配置_04---大数据之Nifi工作笔记0056
查看>>
NIFI1.23.2_最新版_性能优化通用_技巧积累_使用NIFI表达式过滤表_随时更新---大数据之Nifi工作笔记0063
查看>>
NIFI从MySql中增量同步数据_通过Mysql的binlog功能_实时同步mysql数据_根据binlog实现update数据实时同步_实际操作05---大数据之Nifi工作笔记0044
查看>>
NIFI从MySql中增量同步数据_通过Mysql的binlog功能_实时同步mysql数据_根据binlog实现数据实时delete同步_实际操作04---大数据之Nifi工作笔记0043
查看>>
NIFI从MySql中增量同步数据_通过Mysql的binlog功能_实时同步mysql数据_配置binlog_使用处理器抓取binlog数据_实际操作01---大数据之Nifi工作笔记0040
查看>>