自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

转载 在有循环嵌套时, 要把大循环写在内, 小循环写在外, 原因在此

以前不理解为什么有循环嵌套时, 要把大循环写在内, 小循环写在外.看了>后, 找到一个原因.如下图

2015-03-04 09:58:02 11691 1

原创 GDI+旋转图片的几种方法

1. 使用旋转矩阵POINT imgRotateCenterPos={10,10}; //旋转中心在图片坐标(相对于图片本身)CRect rcShow(imgShowRect); //图片要绘制的位置区域.//把 相对于图片的旋转中心坐标  转换为  绘制区域的坐标PointF centerPos(imgRotateCenterPos.x+rcShow.

2014-11-10 13:17:22 13557

原创 GDI+ 绘图时,相同分辨率, DPI不同时图片显示的问题.

最后在VC中使用GDI+作图片处理时, 突然发现有几张图片显示不正常,未按实际像素大小显示.代码很简单:void CTransBmpDlg::OnBnClickedImgTest(){ CString strFilter=TEXT("图片文件(*.gif,*.jpg,*.bmp)|*.gif;*.jpg;*.bmp||"); CFileDialog dlg(TRUE,NULL,N

2012-08-21 12:41:11 3671 4

原创 动态修改CMFCMenuBar及CMFCToolBar的文字及Prompt,ToolTip文字.

动态修改CMFCMenuBar及CMFCToolBar的文字及Prompt,ToolTip文字.1. 修改CMFCMenuBar菜单项的文字,分两种.  A. 修改顶层有POP_UP属性的菜单文字,即类型单文档中的" 文件" ,"编辑","视图"等这类一直显示着的.    因为CMFCMenuBar基类是CMFCToolBar,所以有有如下代码:   (特别注意: 在单文档中,此函

2012-06-21 16:53:21 10331 10

原创 进程方式执行CMD命令及使用CMD命令一次创建多级录

void exceCmd(LPCTSTR cmdLines){ STARTUPINFO si; PROCESS_INFORMATION pi; ZeroMemory( &si, sizeof(si) ); si.cb = sizeof(STARTUPINFO); ZeroMemory( &pi, sizeof(pi) ); //这两句一定要,否则会显示出黑框框. si.wSho

2012-06-16 11:35:55 1502

原创 CMFCMenuBar和CMFCToolBar相同ID,在显示不同标签文字

由于要使用多国语言动态切换, 而CMFCMenuBar 和 CMFCToolBar又比较难用.1. CMFCMenuBar菜单栏中的菜单项文字修改可没有普通的菜单那么简单,它其实是由CMFCToolBar派生而来.所以能直接调用此类的对象修改的文字,就只有第一级菜单了.如果放到单文档中,即是像单文档主菜单的  "文件","编辑"这一层一直显示在窗口上的菜单项. 而这一级菜单是没有ID的,其属性

2012-06-15 18:23:31 3049 5

转载 MFC在单文档程序中添加最近打开文件.

默认的MFC单文档程序可以支持最近的文件列表,但是它却不一定是我们需要的,因此我在这里总结出手动控制的方法,以备不时之需。默认的最近文件列表是通过MRU file list来实现的,它通过将最近打开的文件写入注册表,然后读取到菜单上实现的。这一切默认都是通过打开和保存这些菜单操作来实现。当你选择一个列表时,就会调用相应的事件响应函数。下面是默认的操作内容:BOOL CW

2012-05-27 17:26:51 5348 3

原创 STL 结构体排序及查找 使用sort及find_if

//网上大多例子都只是基本数据类型,或者简单的只有一个成员的进行排序的例子或者查找的例子.struct MY_NODE {    int x;    int y;     //大小比较,这里是按 y从小到大,在y相等是按x从小到大排序.    bool operator <(const MY_NODE &e) const    {        if(y==e.y)

2012-05-24 18:59:36 3351

转载 How to: Display Command Information in the Status Bar在状态栏中显示命令信息

When you run the Application Wizard to create the skeleton of your application, you can easily support a toolbar and a status bar. A single option in the Application Wizard supports both. When a statu

2012-04-26 11:13:55 891

转载 内存泄漏检测和隔离----MSDN

启用内存泄漏检测检测内存泄漏的主要工具是调试器和 C 运行时库 (CRT) 调试堆函数。若要启用调试堆函数,请在程序中包括以下语句:  #define _CRTDBG_MAP_ALLOC#include #include 注意:#include 语句必须采用上文所示顺序。如果更改了顺序,

2012-04-26 10:59:11 1022

原创 在VS中添加lib的第三种方法

先说说普通的两种方法:方法1:  通过设置工程配置来添加lib库.转自网上:A、添加工程的头文件目录:工程---属性---配置属性---c/c++---常规---附加包含目录:加上头文件存放目录。B、添加文件引用的lib静态库路径:工程---属性---配置属性---链接器---常规---附加库目录:加上lib文件存放目录。C  然后添加工程引用的lib文件名:工程-

2012-04-19 10:48:02 40513 6

原创 DPI尺寸影响程序界面显示.

如果发现自己的编写的 有固定窗口大小的程序界面中出现了界面显示不全,有部份被遮挡,又或者界面上的控件或者显示区域中原来正常的显示的东西,现在却显示不完全.那就是 DPI 发威了.我们一般使用的都是 96DPI. 而有些用户的为了适合自己的,修改了操作系统中的DPI设置,或放大或缩小.这时,我们的程序就显示不正常了.解决办法当然是动态调整了.具体实现我就没有去研究了. DPI

2012-04-16 11:05:53 1546

原创 字节对齐--指定结构体以多少字节对齐

通过使用宏,指定某些结构体或者类的字节对齐方式.#pragma  pack(push)  //让原字节对齐方式入编译器栈#pragma  pack(1)    //指定新的对齐方式, 1字节对齐.  (数字即几字节对齐)//这里面放置你需要指定1字节对齐的结果体或者类struct {};struct{};#pragma pack(pop)//出栈原来对齐方式

2012-04-16 10:57:16 3494

原创 串口名导致的串口打开失败

今天遇到串口通信不稳定, 拿到别人机子上测试, 却发现他的串口打不开了.     在网上查原因. 网上说了些原因,比如串口被占用,这个被排除了,我没开其它使用串口的程序. 也有说驱动没安装好,也重新安装了下.还是不行.   只有继续看MSDN.发现有说明:   When lpFileName points to a COM port to open, you must include

2012-04-07 11:52:46 14292

原创 比较好用的获得文件大小的方法

int getFileSize(LPCTSTR szFileName){if(szFileName==NULL){return 0;}int fileSize=0;//获得文件大小,方法1/*HANDLE hFile=CreateFile(szFileName,GENERIC_READ,FILE_SHARE_READ,NULL,OPEN_EXISTING,FILE_

2012-03-26 19:41:08 769

原创 关于ExitInstance不执行,导致很多内存泄漏的问题

昨天在编程过程中,突然某一次退出程序时,看了一相DebugView,发现竟然有这么多内存泄漏,大概100把条的样子,吓得我大汗长流.        要看信息.  多出在 strcore.cpp, 还有一些 afxtoolbar.cpp  afxmenubar.cpp等等,全是MFC里的东西. 也有一些指向       IMPLEMENT_DYNCREATE 宏,还有就是InitInstan

2012-03-23 12:33:08 4014

原创 当前不会命中断点,源代码与原始版本不同,解决办法

今天是端午,估计是加班的原因,VS2008给我开了个玩笑.提示:当前不会命中断点。源代码与原始版本不同.为什么会出现呢?原因当前大家都清楚,就是因为编译器生成的符号文件与源代码不同.那我的代码明明已经改变并存档,并且编译了,为什么还是不同呢?1.我想也许是没有被真正的重新生成吧,   这好办,清理解决方案,清理工程,为了更彻底,再关闭解决方案,把debug删掉,ncb文件删

2011-06-06 22:11:00 36113 25

提示
确定要删除当前文章?
取消 删除