- 博客(70)
- 资源 (8)
- 收藏
- 关注
原创 【GDI+】C++截长图
使用BitBlt来进行截图。先计算出长图的总高度,然后创建该高度的兼容位图并写入内存DC拷贝屏幕内容到设备上下文(内存DC);然后翻页,继续拷贝当前页码的屏幕内容到设备上下文(挨着上次内存DC拷贝后位置的底部放),直到翻页到最后。最后保存为.png或者.bmp格式
2024-08-21 16:06:28
572
2
原创 【Duilib基础控件】Duilib中关于富文本中无法换行的问题
Label中showhtml属性为true,使用富文本,但是其中{n}换行一直不生效。用Text控件替代Label控件。增加属性wordbreak即可。
2024-04-12 15:51:01
867
1
原创 【GDI+】旋转文本/斜体字
的,即就算图片旋转了一定的角度后,再调用 translatetransform 方法,它还是沿着x,y轴平移。于是通过以下三个步骤即可实现图片中心旋转。,所以直接单单用这个方法不能满足我们的需求。此外, Graphics类还有个。方法可以改变坐标的原点,而且这个方法是沿着矩形的x,y轴。想要绘制如下所示的斜体字,45度。但是这个方法的旋转中心是画板的。方法,可以传入任意角度的值来。Graphics类有个。【GDI+】旋转文本。
2023-05-19 14:46:51
1249
原创 【Duilib基础控件】滚动条CScrollBarUI设置
2.滚动条长度/显示区域的长度= 显示区域的长度/所有显示内容的长度。1.当要显示的内容不大于显示区域,这时候不需要显示滚动条。二、duilib中的CScrollBarUI。一、关于滚动条的一些说明。
2023-05-09 17:37:51
1497
原创 输出文件流格式控制
使用setw操纵符指定宽度,setw()默认填充为" "(空格),可以通过setfill()命令更改填充字符。setiosflags(ios::left)左对齐。
2023-03-27 16:40:43
334
转载 DuiLib消息处理剖析
转载链接:https://www.zhaokeli.com/article/8480.htmlDuiLib核心的大体结构图如下:分为几个大部分: 控件 容器(本质也是控件) UI构建解析器(XML解析) 窗体管理器(消息循环,消息映射,消息处理,窗口管理等) 渲染引擎 DuiLib 消息循环剖析DuiLib的消息循环非常灵活,但不熟...
2022-08-25 15:16:48
351
原创 【Duilib窗口相关】禁止窗口最大化问题&创建图标在任务栏显示的窗口&任务栏闪烁
目录一、关于禁止窗口最大化问题二、创建一个窗口图标在任务栏显示的窗口1.窗口显示在任务栏2.设置图标1)右键添加资源,导入.ico文件即可2)设置任务栏图标三、窗口最小化四、有新消息时,任务栏闪烁1.FlashWindowEx2.FlashWindow.........
2022-06-15 20:00:25
1272
1
原创 NSIS中设置安装包的版本信息
# ====================== 自定义宏 ==============================!define PRODUCT_VERSION "1.0.0"!define PRODUCT_NAME "***软件"!define PRODUCT_PUBLISHER "***有限公司"#=======================版本信息==================================VIProductVersion "${PRODUCT_VERS.
2021-07-01 14:15:17
1433
1
原创 ANGLE Display::initialize error 5: DXGI 1.2 required to present to HWNDs owned by another process.
[0419/150949:ERROR:angle_platform_impl.cc(33)] ANGLE Display::initialize error 5: DXGI 1.2 required to present to HWNDs owned by another process.[1104/150949:ERROR:gl_surface_egl.cc(598)] eglInitialize D3D11 failed with error EGL_NOT_INITIALIZED, trying
2021-04-27 09:31:17
1335
原创 C++删除目录,包括该目录下所有子目录和文件
void RemoveAllFiles(wstring wstrDir){ if (wstrDir.empty()) { return; } HANDLE hFind; WIN32_FIND_DATA findData; wstring wstrTempDir = wstrDir + (L"\\*.*");; hFind = FindFirstFile(wstrTempDir.c_str(), &findData); if (hFind == INVALID_HANDLE_V.
2021-04-25 15:49:30
9886
原创 vector中的push_back(涉及到动态分配),resize,reserve,swap方法解析
size capacitysize :vector中元素个数 capacity :vector的容量,即开辟空间大小。 当像vector中放入元素时,若size ==capacity,此时vector会重新申请一段内存是之前内存的2倍,然后将原来的元素拷贝到新的里边,此时指向原来vector的迭代器也会失效。而不断的push_back,会导致不断的拷贝操作,影响效率。 resize(n), 改变size 的大小(改变vector中元素的数目),并给新的元素赋值 reserve(n),只是改变c.
2021-03-23 10:58:23
20371
原创 关于迭代器失效
vector,内存连续,类似数组,当删除其中一个元素时,后边的每一个元素都要往前移动,导致迭代器失效,所以不能用earse(it++)。vector的earse返回新的迭代器。map,红黑树,删除时,只是删除的失效,所以可以用earse(iter++),相当于 tmpIter = iter;it++;earse(iter);顺序容器vectorvector是一个线性顺序机构,连续存储空间,相当于数组,可以自动扩展,可以将其看成动态数组。早创建一个vector后,会自动在内存中分配一块连续的内
2021-03-19 14:57:03
197
原创 无法打开预编译头文件: Release\xxx.pch”: No such file or directory
stdafx.cpp右键——属性,预编译头选“创建”,其它cpp选“使用”。
2021-03-16 13:44:46
878
原创 工具类总结
目录一、替换Replace二、分割Split代码举例:一、替换Replacestd::string Replace(const std::string& strSrc, const std::string& strRaw, const std::string& strReplace){ if (strSrc.empty()) { return strSrc; } std::string strRet; std::string strToBe.
2021-03-10 13:56:20
205
原创 python读取txt文件
在磁盘上读写文件的功能都是由操作系统提供的,现代操作系统不允许普通的程序直接操作磁盘,所以,读写文件就是请求操作系统打开一个文件对象(通常称为文件描述符),然后,通过操作系统提供的接口从这个文件对象中读取数据(读文件),或者把数据写入这个文件对象(写文件)。1.读文件要以读文件的模式打开一个文件对象,使用Python内置的open()函数,传入文件名和标示符:f = open('test.txt', 'r')标示符'r'表示以只读方式打开文件,这样,我们就成功地打开了一个文件。如果
2021-02-26 13:09:56
966
1
原创 【Duilib事件响应】区分鼠标单击和双击事件
双击鼠标后。窗口过程会接收到如下消息:WM_LBUTTONDOWNWM_LBUTTONUPWM_LBUTTONDBLCLKWM_LBUTTONUP两次单击会产生四个鼠标点击消息,如果第三个消息(第二次按下)和第二个消息(第一次弹起引发的WM_LBUTTONUP)间隔短于指定值,则把第三个消息处理成WM_LBUTTONDBLCLK消息;第四个消息照旧,WM_LBUTTONUP。如果双击的第一次点击和鼠标单击所执行的功能一致,那么处理双击消息就要容易很多。这时,第二次单击(WM_LBU.
2020-07-28 13:54:23
1759
原创 【Duilib基础控件】showhtml属性:类html富文本绘制(可在同一个Label中显示不同颜色不同大小字体)
<Attribute name="showhtml" default="false" type="BOOL" comment="是否使用类html富文本绘制,如(false)"/>// 考虑到在xml编辑器中使用<>符号不方便,可以使用{}符号代替// 支持标签嵌套(如<l><b>text</b></l>),但是交叉嵌套是应该避免的(如<l><b>text</l></b>)...
2020-07-21 14:41:06
2312
转载 【DuiLib入门基础】九宫格corner属性详细解释
技术背景九宫格是用来减少图片缩放拉伸时失真程度的一种常用技术, 如果你做过android开发尤其是手游这块, 你可能很快发现这其实就是android所直接支持的一个特性9patch.对于九宫格图片,渲染引擎在绘制只拉伸图片中心部分,四个边角却不会被拉伸,这样只要图片中心的颜色是或近乎纯色,那么即使拉伸的倍数再大也会基本保持原有的整天效果。(这点可以用来弥补非矢量图的缺陷, 而且避免了矢量图的大计算量), 如图从上图...
2020-07-13 17:22:04
954
原创 Windows图形界面:Windows程序设计笔记——一、第一个Windows程序
1.动态链接早期,windows的主要部分只需在三个动态链接库中实现,代表了windows的三个主要子系统:Kernel(内核) User(用户) GDI。Kernel:内存管理,文件I/O,任务管理等User:用户界面,负责所有的窗口管理GDI:图形设备接口,负责在屏幕或打印机上显示文本和图形在windows程序中,调用windows函数和调用C语言库函数(如strlen),没什么区别。最主要的区别在于C语言库函数的机器代码会直接链接到你的程序代码中,而windows函数则是放在你的程
2020-06-01 11:07:21
1047
原创 【Duilib自定义控件】水平布局的滚动扩展布局,实现菜单的可滑动效果
为了实现如下效果:左侧为固定菜单,右侧为可滑动菜单。当窗口足够大,菜单可全部展显示。窗口变小时,菜单只能显示一部分。滑动到最左侧,左滑按钮灰掉左滑右滑按钮皆可用滑动到最右侧,右滑按钮灰掉。需求:当调整窗口大小,菜单不能完全显示时,右侧出现调整按钮,左键右键可调整切换菜单。1.当只是调整窗口大小时,要显示可显示item的全部,而不是显示item的一部分2.当点击向左向右时,一次调整一个菜单,且是一整个菜单而不是一部分思路:1.调整窗口...
2020-05-25 18:24:41
882
转载 DirectUI介绍
原文见:https://www.jianshu.com/p/ebdacd2343e3关于DirectUI的一些思考目录1. DirectUI的发展历史2. 什么是DirectUI3. DirectUI需要解决的问题4. DirectUI的优势1. DirectUI的发展历史对于传统Win32界面编程来讲,微软提供一整套界面标准,比如窗口、按钮、滚动条、列表等。对于每一个窗口(控件也是一个窗口),其能响应的消息和行为都有规范(通过API提供给开发者)。微软这套界面标准是为通..
2020-05-08 15:01:17
2257
原创 libcurl的使用
一、下载,编译,配置参考博客:https://blog.youkuaiyun.com/DaSo_优快云/article/details/77587916 https://blog.youkuaiyun.com/u012814856/article/details/81638421官方下载地址:https://curl.haxx.se/download.html下载完...
2019-08-30 18:32:05
327
原创 C++中头文件相互包含引发的问题:未定义
有两个头文件a.h和b.ha.h中#pragma once#ifndef _A_H_#define _A_H_#include "b.h"struct AInfo{ int a; int b;};#endifb.h中#pragma once#ifndef _B_H_#define _B_H_#include "a.h"cla...
2019-05-27 14:49:12
2543
1
原创 GDI绘图
刷子和画笔是MFC作图中是使用最多的GUI对象,本节在讲解刷子和画笔使用方法的同时也讲述一写基本作图函数。在画点或画线时系统使用当前DC中的画笔,所以在创建画笔后必须将其选入DC才会在绘图时产生效果。画笔可以通过CPen对象来产生,通过调用CPen::CreatePen( int nPenStyle, int nWidth, COLORREF crColor )来创建刷子是在画封...
2019-04-15 00:13:31
195
原创 快速排序
https://www.jianshu.com/p/5f38dd54b11fhttps://www.cnblogs.com/foreverking/articles/2234225.htmlhttps://www.cnblogs.com/skywang12345/p/3596746.html
2019-04-13 20:54:34
128
原创 【待完善】c++ stl sort的用法
目录1.声明外部比较函数2.声明比较类3.重载类的比较运算符4.Lambda表达式5.笔试题1.声明外部比较函数bool Less(const Student& s1, const Student& s2){ return s1.name < s2.name; //从小到大排序}std::sort(sutVector.begi...
2019-04-13 19:15:11
323
原创 【待完善】数组和指针的区别 指针和引用的区别
(a) 一个整型数(An integer)(b) 一个指向整型数的指针(A pointer to an integer)(c) 一个指向指针的的指针,它指向的指针是指向一个整型数(A pointer to a pointer to an integer)(d) 一个有10个整型数的数组(An array of 10 integers)(e) 一个有10个指针的数组,该指针是指向一个...
2019-04-13 00:12:57
132
原创 【待总结】C/C++中const相关
1.定义常量2.修饰函数形参3.修饰函数返回值4.修饰类的成员函数(1)const修饰的成员函数不能修改任何的成员变量(mutable修饰的变量除外)(2)const成员函数不能调用非onst成员函数,因为非const成员函数可以会修改成员变量参考:http://www.cnblogs.com/yc_sunniwell/archive/2010/07/14/177741...
2019-04-12 22:39:25
136
转载 理解C和C++中的左值和右值
https://blog.youkuaiyun.com/xuwqiang1994/article/details/79924310理解C和C++中的左值和右值https://eli.thegreenplace.net/2011/12/15/understanding-lvalues-and-rvalues-in-c-and-c/Understanding lvalues and rvalues in ...
2019-04-12 22:13:19
190
原创 【待总结】TCP窗口 粘报拆包
1.TCP窗口是啥,原理。2.和socket缓冲区有什么关系3.和拆包解包有啥关系,拆包解包又是啥4.拥塞控制???????发送窗口大小主要由接收端的窗口通告决定,接收端窗口通告由当前接收端剩余多少空闲的剩余缓存决定。借助于滑动窗口能够提高TCP 数据的传输性能。因为TCP 无须对每一数据段进行确认, 只需要对发送一个窗口宽度的段确认一次一个sock...
2019-04-07 12:23:58
155
原创 【待总结】IOCP相关
I/O完成队列(先进先出) q1等待线程队列(后进先出)q2已释放线程列表(活动线程)l1已暂停线程列表(挂起线程)l21.当线程调用GetQueuedCompletionStatus阻塞时,该线程被放入等待线程队列q2中。 IO 完成端口内核对象根据此队列知道有哪些线程在等待处理completion packet。线程等待队列是按照 LIFO 的方式入队的,也就是当有...
2019-04-07 00:53:45
209
原创 【待总结】C++设计一个不能被继承的类
https://www.cnblogs.com/yanenquan/p/4006691.htmlhttps://blog.youkuaiyun.com/wenqiang1208/article/details/70303910https://www.cnblogs.com/luxiaoxun/archive/2013/06/07/3124948.htmlhttps://blog.youkuaiyun.com/...
2019-04-02 21:42:52
146
原创 【待总结】虚继承与虚基类
https://blog.youkuaiyun.com/longlovefilm/article/details/80558879虚继承实现原理(虚基类表指针和虚基类表) --从内存角度https://blog.youkuaiyun.com/m0_37968915/article/details/75206276虚继承与虚基类 --有具体构造函数例子对比http://bdxnote.blog.163...
2019-04-02 21:37:19
151
原创 【待总结】C语言字节对齐问题
https://www.cnblogs.com/ningvsban/p/3940153.html字节对齐问题https://www.cnblogs.com/clover-toeic/p/3853132.html字节对齐问题详解
2019-04-02 20:34:48
149
原创 【待总结】设计模式相关博客
https://www.cnblogs.com/codingmengmeng/category/886251.html设计模式相关博客
2019-03-28 00:01:06
283
原创 【待总结】单例模式
懒汉模式:class Singleton{private: Singleton(){}public: static Singleton* getInstance();private: static Singleton * instance;}Singleton Singleton::instance = NULL;Singleton* Sing...
2019-03-27 23:42:57
125
TortoiseSVN-1.8.5.25224-win32-svn-1.8.8.msi
2014-07-24
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人