<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[beibaoke910的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/beibaoke910</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; beibaoke910]]></copyright><item><title><![CDATA[【GDI+】C++截长图]]></title><link>https://blog.youkuaiyun.com/beibaoke910/article/details/141395364</link><guid>https://blog.youkuaiyun.com/beibaoke910/article/details/141395364</guid><author>beibaoke910</author><pubDate>Wed, 21 Aug 2024 16:06:28 +0800</pubDate><description><![CDATA[使用BitBlt来进行截图。先计算出长图的总高度，然后创建该高度的兼容位图并写入内存DC
拷贝屏幕内容到设备上下文（内存DC）;然后翻页，继续拷贝当前页码的屏幕内容到设备上下文（挨着上次内存DC拷贝后位置的底部放），直到翻页到最后。
最后保存为.png或者.bmp格式]]></description><category></category></item><item><title><![CDATA[c++窗口立即刷新重绘]]></title><link>https://blog.youkuaiyun.com/beibaoke910/article/details/141216468</link><guid>https://blog.youkuaiyun.com/beibaoke910/article/details/141216468</guid><author>beibaoke910</author><pubDate>Thu, 15 Aug 2024 11:01:08 +0800</pubDate><description><![CDATA[当窗体需要更新内容或是重绘外观背景的时候，应用程序通常会发送一条WM_PAINT消息，通知窗体进行重新绘制。]]></description><category></category></item><item><title><![CDATA[【GDI+】C++屏幕截图]]></title><link>https://blog.youkuaiyun.com/beibaoke910/article/details/141197525</link><guid>https://blog.youkuaiyun.com/beibaoke910/article/details/141197525</guid><author>beibaoke910</author><pubDate>Wed, 14 Aug 2024 18:27:34 +0800</pubDate><description><![CDATA[保存为.bmp格式和保存为.png格式。]]></description><category></category></item><item><title><![CDATA[【Duilib基础控件】Duilib中关于富文本中无法换行的问题]]></title><link>https://blog.youkuaiyun.com/beibaoke910/article/details/137683164</link><guid>https://blog.youkuaiyun.com/beibaoke910/article/details/137683164</guid><author>beibaoke910</author><pubDate>Fri, 12 Apr 2024 15:51:01 +0800</pubDate><description><![CDATA[Label中showhtml属性为true,使用富文本，但是其中{n}换行一直不生效。用Text控件替代Label控件。增加属性wordbreak即可。]]></description><category></category></item><item><title><![CDATA[【GDI+】旋转文本/斜体字]]></title><link>https://blog.youkuaiyun.com/beibaoke910/article/details/130766168</link><guid>https://blog.youkuaiyun.com/beibaoke910/article/details/130766168</guid><author>beibaoke910</author><pubDate>Fri, 19 May 2023 14:46:51 +0800</pubDate><description><![CDATA[的，即就算图片旋转了一定的角度后，再调用 translatetransform 方法，它还是沿着x,y轴平移。于是通过以下三个步骤即可实现图片中心旋转。，所以直接单单用这个方法不能满足我们的需求。此外， Graphics类还有个。方法可以改变坐标的原点，而且这个方法是沿着矩形的x,y轴。想要绘制如下所示的斜体字，45度。但是这个方法的旋转中心是画板的。方法，可以传入任意角度的值来。Graphics类有个。【GDI+】旋转文本。]]></description><category></category></item><item><title><![CDATA[【Duilib基础控件】滚动条CScrollBarUI设置]]></title><link>https://blog.youkuaiyun.com/beibaoke910/article/details/130584830</link><guid>https://blog.youkuaiyun.com/beibaoke910/article/details/130584830</guid><author>beibaoke910</author><pubDate>Tue, 09 May 2023 17:37:51 +0800</pubDate><description><![CDATA[2.滚动条长度/显示区域的长度= 显示区域的长度/所有显示内容的长度。1.当要显示的内容不大于显示区域，这时候不需要显示滚动条。二、duilib中的CScrollBarUI。一、关于滚动条的一些说明。]]></description><category></category></item><item><title><![CDATA[输出文件流格式控制]]></title><link>https://blog.youkuaiyun.com/beibaoke910/article/details/129798242</link><guid>https://blog.youkuaiyun.com/beibaoke910/article/details/129798242</guid><author>beibaoke910</author><pubDate>Mon, 27 Mar 2023 16:40:43 +0800</pubDate><description><![CDATA[使用setw操纵符指定宽度，setw()默认填充为" "(空格),可以通过setfill（）命令更改填充字符。setiosflags(ios::left)左对齐。]]></description><category></category></item><item><title><![CDATA[Vs2008在高DPI下显示模糊的解决办法]]></title><link>https://blog.youkuaiyun.com/beibaoke910/article/details/127963867</link><guid>https://blog.youkuaiyun.com/beibaoke910/article/details/127963867</guid><author>beibaoke910</author><pubDate>Mon, 21 Nov 2022 14:19:06 +0800</pubDate><description><![CDATA[vs2008不清晰]]></description><category></category></item><item><title><![CDATA[DuiLib消息处理剖析]]></title><link>https://blog.youkuaiyun.com/beibaoke910/article/details/97391680</link><guid>https://blog.youkuaiyun.com/beibaoke910/article/details/97391680</guid><author>beibaoke910</author><pubDate>Thu, 25 Aug 2022 15:16:48 +0800</pubDate><description><![CDATA[转载链接：https://www.zhaokeli.com/article/8480.html

DuiLib核心的大体结构图如下：



分为几个大部分：


	控件
	
	
	容器（本质也是控件）
	
	
	UI构建解析器（XML解析）
	
	
	窗体管理器（消息循环，消息映射，消息处理，窗口管理等）
	
	
	渲染引擎
	
DuiLib 消息循环剖析

DuiLib的消息循环非常灵活，但不熟...]]></description><category></category></item><item><title><![CDATA[【Duilib窗口相关】禁止窗口最大化问题&创建图标在任务栏显示的窗口&任务栏闪烁]]></title><link>https://blog.youkuaiyun.com/beibaoke910/article/details/125283734</link><guid>https://blog.youkuaiyun.com/beibaoke910/article/details/125283734</guid><author>beibaoke910</author><pubDate>Wed, 15 Jun 2022 20:00:25 +0800</pubDate><description><![CDATA[目录一、关于禁止窗口最大化问题二、创建一个窗口图标在任务栏显示的窗口1.窗口显示在任务栏2.设置图标1）右键添加资源，导入.ico文件即可2）设置任务栏图标三、窗口最小化四、有新消息时，任务栏闪烁1.FlashWindowEx2.FlashWindow.........]]></description><category></category></item><item><title><![CDATA[NSIS中设置安装包的版本信息]]></title><link>https://blog.youkuaiyun.com/beibaoke910/article/details/118385429</link><guid>https://blog.youkuaiyun.com/beibaoke910/article/details/118385429</guid><author>beibaoke910</author><pubDate>Thu, 01 Jul 2021 14:15:17 +0800</pubDate><description><![CDATA[# ====================== 自定义宏 ==============================
!define PRODUCT_VERSION "1.0.0"
!define PRODUCT_NAME "***软件"
!define PRODUCT_PUBLISHER "***有限公司"


#=======================版本信息==================================
VIProductVersion "${PRODUCT_VERS.]]></description><category></category></item><item><title><![CDATA[ANGLE Display::initialize error 5: DXGI 1.2 required to present to HWNDs owned by another process.]]></title><link>https://blog.youkuaiyun.com/beibaoke910/article/details/116190033</link><guid>https://blog.youkuaiyun.com/beibaoke910/article/details/116190033</guid><author>beibaoke910</author><pubDate>Tue, 27 Apr 2021 09:31:17 +0800</pubDate><description><![CDATA[[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 ]]></description><category></category></item><item><title><![CDATA[C++删除目录，包括该目录下所有子目录和文件]]></title><link>https://blog.youkuaiyun.com/beibaoke910/article/details/116021797</link><guid>https://blog.youkuaiyun.com/beibaoke910/article/details/116021797</guid><author>beibaoke910</author><pubDate>Sun, 25 Apr 2021 15:49:30 +0800</pubDate><description><![CDATA[void RemoveAllFiles(wstring wstrDir)
{
	if (wstrDir.empty())
	{
		return;
	}
	HANDLE hFind;
	WIN32_FIND_DATA findData;
	wstring wstrTempDir = wstrDir + (L"\\*.*");;
	hFind = FindFirstFile(wstrTempDir.c_str(), &amp;findData);
	if (hFind == INVALID_HANDLE_V.]]></description><category></category></item><item><title><![CDATA[vector中的push_back（涉及到动态分配）,resize,reserve,swap方法解析]]></title><link>https://blog.youkuaiyun.com/beibaoke910/article/details/115062728</link><guid>https://blog.youkuaiyun.com/beibaoke910/article/details/115062728</guid><author>beibaoke910</author><pubDate>Tue, 23 Mar 2021 10:58:23 +0800</pubDate><description><![CDATA[size capacity

size :vector中元素个数
	capacity :vector的容量，即开辟空间大小。
	当像vector中放入元素时，若size ==capacity,此时vector会重新申请一段内存是之前内存的2倍，然后将原来的元素拷贝到新的里边，此时指向原来vector的迭代器也会失效。而不断的push_back，会导致不断的拷贝操作，影响效率。
	resize(n)， 改变size 的大小（改变vector中元素的数目），并给新的元素赋值
	reserve（n）,只是改变c.]]></description><category></category></item><item><title><![CDATA[关于迭代器失效]]></title><link>https://blog.youkuaiyun.com/beibaoke910/article/details/115000052</link><guid>https://blog.youkuaiyun.com/beibaoke910/article/details/115000052</guid><author>beibaoke910</author><pubDate>Fri, 19 Mar 2021 14:57:03 +0800</pubDate><description><![CDATA[vector，内存连续，类似数组，当删除其中一个元素时，后边的每一个元素都要往前移动，导致迭代器失效，所以不能用earse(it++)。vector的earse返回新的迭代器。

map，红黑树，删除时，只是删除的失效，所以可以用earse(iter++),相当于 tmpIter = iter;it++;earse(iter);

顺序容器vector

vector是一个线性顺序机构，连续存储空间，相当于数组，可以自动扩展，可以将其看成动态数组。

早创建一个vector后，会自动在内存中分配一块连续的内]]></description><category></category></item><item><title><![CDATA[无法打开预编译头文件: Release\xxx.pch”: No such file or directory]]></title><link>https://blog.youkuaiyun.com/beibaoke910/article/details/114878548</link><guid>https://blog.youkuaiyun.com/beibaoke910/article/details/114878548</guid><author>beibaoke910</author><pubDate>Tue, 16 Mar 2021 13:44:46 +0800</pubDate><description><![CDATA[stdafx.cpp右键——属性，预编译头选“创建”，其它cpp选“使用”。




]]></description><category></category></item><item><title><![CDATA[工具类总结]]></title><link>https://blog.youkuaiyun.com/beibaoke910/article/details/114633303</link><guid>https://blog.youkuaiyun.com/beibaoke910/article/details/114633303</guid><author>beibaoke910</author><pubDate>Wed, 10 Mar 2021 13:56:20 +0800</pubDate><description><![CDATA[目录



一、替换Replace

二、分割Split

代码举例：

一、替换Replace


std::string Replace(const std::string&amp; strSrc, const std::string&amp; strRaw, const std::string&amp; strReplace)
{
	if (strSrc.empty())
	{
		return strSrc;
	}
	std::string strRet;
	std::string strToBe.]]></description><category></category></item><item><title><![CDATA[python读取txt文件]]></title><link>https://blog.youkuaiyun.com/beibaoke910/article/details/114098503</link><guid>https://blog.youkuaiyun.com/beibaoke910/article/details/114098503</guid><author>beibaoke910</author><pubDate>Fri, 26 Feb 2021 13:09:56 +0800</pubDate><description><![CDATA[在磁盘上读写文件的功能都是由操作系统提供的，现代操作系统不允许普通的程序直接操作磁盘，所以，读写文件就是请求操作系统打开一个文件对象（通常称为文件描述符），然后，通过操作系统提供的接口从这个文件对象中读取数据（读文件），或者把数据写入这个文件对象（写文件）。



1.读文件

要以读文件的模式打开一个文件对象，使用Python内置的open()函数，传入文件名和标示符：


f = open('test.txt', 'r')

标示符'r'表示以只读方式打开文件，这样，我们就成功地打开了一个文件。

如果]]></description><category></category></item><item><title><![CDATA[【Duilib事件响应】区分鼠标单击和双击事件]]></title><link>https://blog.youkuaiyun.com/beibaoke910/article/details/107634026</link><guid>https://blog.youkuaiyun.com/beibaoke910/article/details/107634026</guid><author>beibaoke910</author><pubDate>Tue, 28 Jul 2020 13:54:23 +0800</pubDate><description><![CDATA[双击鼠标后。窗口过程会接收到如下消息：


WM_LBUTTONDOWN
WM_LBUTTONUP
WM_LBUTTONDBLCLK
WM_LBUTTONUP

两次单击会产生四个鼠标点击消息，如果第三个消息（第二次按下）和第二个消息（第一次弹起引发的WM_LBUTTONUP）间隔短于指定值，则把第三个消息处理成WM_LBUTTONDBLCLK消息；第四个消息照旧，WM_LBUTTONUP。



如果双击的第一次点击和鼠标单击所执行的功能一致，那么处理双击消息就要容易很多。这时，第二次单击（WM_LBU.]]></description><category></category></item><item><title><![CDATA[【Duilib基础控件】showhtml属性:类html富文本绘制（可在同一个Label中显示不同颜色不同大小字体）]]></title><link>https://blog.youkuaiyun.com/beibaoke910/article/details/107487214</link><guid>https://blog.youkuaiyun.com/beibaoke910/article/details/107487214</guid><author>beibaoke910</author><pubDate>Tue, 21 Jul 2020 14:41:06 +0800</pubDate><description><![CDATA[&lt;Attribute name="showhtml" default="false" type="BOOL" comment="是否使用类html富文本绘制,如(false)"/&gt;


// 考虑到在xml编辑器中使用&lt;&gt;符号不方便，可以使用{}符号代替
// 支持标签嵌套（如&lt;l&gt;&lt;b&gt;text&lt;/b&gt;&lt;/l&gt;），但是交叉嵌套是应该避免的（如&lt;l&gt;&lt;b&gt;text&lt;/l&gt;&lt;/b&gt;）...]]></description><category></category></item></channel></rss>