- 博客(75)
- 资源 (5)
- 收藏
- 关注
原创 QT链接库设置
改完.pro 文件后,执行清除->qmake->重新构建即可重新生成。因为如果没有执行这个步骤,可能QT Creator 不会以最新得文件生成目标。LIBS += -L<库目录路径> -l<库得名字>INCLUDEPATH += <头文件路径>DEPENDPATH += <头文件路径>3 设置MT、MTD、MD、MDD运行时库。DEFINES += <自定义宏>
2023-05-30 13:12:06 1070
原创 windows edit控件设置背景颜色和文本颜色
在父窗口中响应:WM_CTLCOLOREDIT消息,{…HWND edit = GetDlgItem(ID_EDIT); //获取edit 的句柄if(edit == (HWND)lParam ){HDC hdc = (HDC)wParam;CDC dc(hdc);dc.SetTextColor(0x888888); //设置文本色bHandled = TRUE;dc.Detach();return 0; //返回句柄画刷时,背景颜色变为对应的背景颜色}...
2022-01-12 20:41:18 668
原创 gdi+在分层窗口输出文字时,会出现透明的洞。
日前遇到一个问题,在分层窗口上使用gdi+ 绘制文本的时候,在绘制的文字区域,文字产生了透明的洞,鼠标会穿透。通过现象分析,应该是文字区域的透明度直接干成了0,所以产生了一个洞。因为分层窗口透明度为0的地方直接会穿透,所以鼠标也会穿透。解决方法:1 将要绘制的文本先绘制在内存位图上2 位图的句柄选入到内存dc上3 使用AlphaBlend 将内存dc 上的图绘制到窗口上。如果绘制结果在边缘出现了杂色,那么需要在调用AlphaBlend函数前进行预乘处理。预乘大概算法如下:for(int i
2022-01-08 17:32:48 510
原创 通过类名和窗口名查找指定窗口
通过类名和窗口名查找指定窗口BOOL CALLBACK MyEnumProc(HWND hwnd, LPARAM lParam);class CFindHWND{public: CFindHWND(); ~CFindHWND(); HWND FindWindow(HWND parent, CString wnd_class, CString wnd_name); BOOL EnumProc(HWND, LPARAM);protected: BOOL IsEqual(HWND h
2021-12-24 19:55:27 1038
原创 c++ 标准库分割字符串
void Split(std::string str, char delim, std::vector<std::string>& vec) { std::istringstream is(str); std::string tmp; while (std::getline(is, tmp, delim)) { vec.push_back(tmp); }}void TestStringSplit() { std::vector<std::strin
2021-11-27 19:13:46 642
原创 c++标准库获取随机数
void TestDefaultRandom() { std::default_random_engine engine(time(NULL)); std::uniform_int_distribution distribution(1, 10); std::cout << distribution(engine) << std::endl; //生成1-10(包含1、10)的随机数}void TestLiner_random() { s
2021-11-27 15:37:48 477
原创 c++ 标准库格式化时间戳(既将时间戳转字符串,字符串转时间戳)
//时间戳转字符串std::string Time_t2String(__time64_t stamp) { tm* stamp_tm = localtime(&stamp); std::ostringstream os; os << std::put_time(stamp_tm, "%Y:%m:%d %H:%M:%S"); return os.str();}//字符串转时间戳__time64_t String2Time_t(std::string time_
2021-11-23 02:06:59 2368
原创 vs调试参考
vs调试技巧参见:https://www.cnblogs.com/lazycoding/archive/2012/10/03/2710738.html
2021-10-13 17:05:10 61
原创 c# BinaryFormatter 更换了命名空间反序列化遇到的问题
解决方案:sealed class AllowAllAssemblyVersionsDeserializationBinder : System.Runtime.Serialization.SerializationBinder { public override Type BindToType(string assemblyName, string typeName) { Type typeToDeseria
2021-09-24 00:08:48 1315 3
原创 基数排序算法LSD实现
基数排序算法的实质是用的分类的方式。LSD 按低位开始分类,其实在按各位进行分类的时候就已经注定了 相同位数的数的相对大小关系了。lsd实现如下:#include <iostream>#include <windows.h>#include <algorithm>#include <cmath>int GetMaxValue(int* array, int length){ int maxValue = array[0]; for
2021-07-14 19:28:39 475
原创 堆排序算法得实现
堆排序算法得核心思想是:1 将待排序序列构造成堆得形式2 每次将堆顶和末尾空间交换值,然后再重新调整被破坏得堆结构。大致实现步骤:1 先从最后的非叶子节点开始构建最小得堆,然后再从下向上构建整个堆结构2 交换并调整堆结构代码实现如下:void Swap(int* param1, int* param2){ int tmpValue = *param1; *param1 = *param2; *param2 = tmpValue;}//将子树构造成堆void ChildTr
2021-07-14 15:09:27 237
原创 计数算法排序实现
计数排序的核心思想是:1 以待排序的数作为count序列的下标,以该下标出现的次数作为值。2 线性的检测count序列的不为0的项,将此项的值 放在result序列的当前index下标项中,count序列中该计数减一。代码实现如下:int GetMaxValue(int* array,int length){ int maxValue = array[0]; for(int i =1;i < length;i++) { i
2021-07-13 18:47:18 133
原创 快速排序的实现
快速排序的核心思路是:1 找一个基本的数,做到每次排序时,基数左边的数都比基本数小,基数右边的数都比基本数大。依次再对左右序列重复此操作。具体操作步骤大致如下:1)设置两个变量I、J,排序开始的时候I:=1,J:=N;2)以第一个数组元素作为关键数据,赋值给X,即X:=A[1];3)从J开始向前搜索,即由后开始向前搜索(J:=J-1),找到第一个小于X的值,两者交换;4)从I开始向后搜索,即由前开始向后搜索(I:=I+1),找到第一个大于X的值,两者交换;5)重复第3、4步,直到I=J;代码
2021-07-13 13:49:53 172
原创 归并算法实现
归并算法得核心思路是:1将一个序列一直对半分,直到序列得个数为12合并相邻得两个有序序列实现得方式是采用递归得方式。具体实现如下:void MergeSort(int* array,int length){ if(array != NULL && length > 0) { if(length == 1) { //递归结束条件 return; }
2021-07-12 17:15:28 199
原创 希尔排序算法实现
希尔算法的核心思想是:将一组数据划分为多个组分别进行插入排序。希尔排序提出了一个增量的概念,以间隔一定值进行分组,这个一定值就是 增量通常增量的值采用上一次的增量值除以2,第一次为n/2(n为数组个数)譬如:{12,54,22,11,8,10,7,8,58,3}第一次增量为n/2,这里n 为10 所以增量为10/2=5所以第一次分组后:下标关系为:{0,5}{1,6}{2,7}{3,8}{4,9}即:{12,10}{54,7}{22,8}{11,58}{8,3}第二次
2021-07-12 15:40:42 645
原创 插入排序算法
插入排序的核心思想是:1 向一个已有序的队列中插入数据,n个数,那么只需要插入n-1次实现如下:将第一个数看作一个自然有序的队列.#include <iostream>#include <algorithm>using namespace std;void InsertSoft(int* a,int length){ if(a != NULL && length > 0) { for(int i = 1;i &l
2021-07-06 22:53:11 165 2
原创 选择排序算法
选择排序,核心思想:1 每次选择一个最小的数排在前面,n个数,只需选择n-1次,剩余的数自然有序。实现:#include <iostream>#include <algorithm>using namespace std;void SelectSort(int a[],int length){ if(a != NULL && length) { for(int i =0;i < length -1;i++)
2021-07-06 01:02:32 71
原创 冒泡算法实现
冒泡算法的核心思想为:1 每1次循环,1个大数沉底;待比较数减12 比较相邻的2个元素,然后重复向后比较复杂度:当数组自然有序时为O(n)当出现自然反序时,极端最差情况时O(n2)。实现:#include <iostream>#include <algorithm>using namespace std;void BulldingSort(int* a,int length){ int nCount = 0; if(a != NULL &&a
2021-07-06 00:34:25 204
原创 2021-07-05
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar
2021-07-05 23:45:26 35
原创 linux shell面试题(一)
统计文件得行数题目描述:写一个 bash脚本以输出一个文本文件 nowcoder.txt中的行数cat nowcoder.txt | wc -l打印文件的最后5行题目描述:经常查看日志的时候,会从文件的末尾往前查看,于是请你写一个 bash脚本以输出一个文本文件 nowcoder.txt中的最后5行tail -n 5 nowcoder.txt输出7的倍数题目描述:写一个 bash脚本以输出数字 0 到 500 中 7 的倍数(0 7 14 21…)的命令#!/bin/bash#输出数
2021-06-21 16:17:02 252
原创 duilib 显示内存图片
CControlUI* pCtrl=NULL;CDuiString sCtrlKey = _T(“your_key_name”);HBITMAP hBmp; // GDI方式获得图片句柄if(pCtrl){ m_PaintManager.RemoveImage(sCtrlKey); m_PaintManager.AddImage(sCtrlKey, hBmp, w, h, false); pCtrl->SetBkImage(sCtrlKey);}参考:https://bl
2021-06-03 15:38:36 776
原创 timer使用备注
timer使用备注windows 平台:CreateWaitableTimerSetWaitableTimerboost库:timerprogress_timerprogress_displaytimer相当于一个计时器(毫秒级),同时提供相关的操作函数供程序员使用。//引入头文件,.hpp为.h+cpp,这样的文件不需要预先编译#include<boost/timer.hpp>#include<iostream>using namespace std;//
2021-04-28 17:34:26 107
原创 chrono 使用备注
chrono 使用备注chrono 是一个命名空间,用于时间相关的库。包括Durations:时长类Durations 的实现类有如下:hours 时minutes 分seconds 秒milliseconds 毫秒microseconds 微秒nanoseconds 纳秒Time points 时间点,记录某个时刻Clocks将时间点与实际物理时间相关联的框架。该库至少提供三个时钟,它们提供了将当前时间表示为时间点的方法:system_
2021-04-28 17:14:34 260
原创 日期、时间库使用备注
日期、时间库c/c++ 标准库clock():返回程序消耗处理器时间示例:/* clock example: frequency of primes */#include <stdio.h> /* printf */#include <time.h> /* clock_t, clock, CLOCKS_PER_SEC */#include <math.h> /* sqrt */int frequency_of_prime
2021-04-28 17:11:51 227
原创 智能指针备注
智能指针备注c++标准库memoryshared_ptrweak_ptrunique_ptrshared_ptr:共享指针对象。采用引用计数得方式,决定指向得内存是否释放掉。其中包括_uses计数和_weaks计数。当新建一个 shared_ptr对象时,_uses和_weaks都为1.将shared_ptr对象 赋值给 weak_ptr 时,_uses计数不变,_weaks 加1.当将weak_ptr对象赋值给shared_ptr 时,_uses计数加1,_weaks计数不变。sha
2021-04-28 14:36:46 85
VA_X_Setup2358_0.rar
2020-02-21
duilib_include_duiDesigner.zip
2020-01-14
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人