自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(13)
  • 资源 (38)
  • 问答 (1)
  • 收藏
  • 关注

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

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

2014-11-10 13:17:22 15833

原创 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 4399 4

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

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

2012-06-21 16:53:21 11577 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 1673

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

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

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

原创 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 3676

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

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

2012-04-19 10:48:02 45754 7

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

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

2012-04-16 11:05:53 1751

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

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

2012-04-16 10:57:16 3934

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

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

2012-04-07 11:52:46 18159

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

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 874

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

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

2012-03-23 12:33:08 4849

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

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

2011-06-06 22:11:00 41358 28

重载(文件对话框)CFileDialog类并自定义控件

这个工程用VS2008生成,实现了对文件对话框(CFileDialog)类的派生,可以在自己的文件对话框中加入自己想要的控件,并可定位原文件对话框位置(用ID为stc32的控件定位). 这样就可以方便地实现文件预览:比如文件预览,文本内容预览等等.

2010-10-13

在MFC对话框程序中使用工具栏(工具条)和菜单栏

本例在实现了在MFC对话框中使用工具栏(工具条)和菜单栏.并能较好响应ON_UPDATE_COMMAND_UI消息.同时能在响应函数中用SetCheck和Enable有效.里面也有能同时改变菜单ID相关联的工具栏按钮状态的能力,只是方法和在CMainFrame中不同.

2010-09-15

VC++对话框注入到其它进程并可HOME键呼出窗口

这个例子演示了如何把一个对话框(MFC dll)注入到另一个进程中去,并呼出.

2010-09-14

VC++实现CMD命令执行与获得返回信息

VC++6.0实现CMD命令执行与获得返回信息,用CreateProcess执行CMD命令,用命名管道来获得返回的数据.基本上可以执行所有CMD命令.

2010-09-09

VC++(VS2008)读取CR2(佳能canon raw图)文件读取

利用佳能canon提供的EDSDK 可以读取 EOS-500D 的文件.特别说明:这个需要EDSDK

2010-09-09

VC++(VS2008)"橡皮筋"CRectTracker类实现有调整边框的矩形框

用Vc++(VS2008)中的"橡皮筋"CRectTracker类实现 可移动,有8个调整点,可8方向调整大小的矩形框,可以对其它图形调整大小.

2010-09-09

VC++(VS2008)鼠标穿透窗口+自定义鼠标指针形状

里面实现了鼠标穿透效果,类似于QQ音乐放屏幕歌词时锁定歌词的效果. 其中也有窗口透明,但是文字不透明的窗口实现 还有自定义鼠标指针的形状. (注:透明窗口是可以拖动的,只是鼠标左键要放在透明对话框的文字上按下,文字有点小,不容易选中^_^,可以自己改下

2010-09-09

VC++(VS2008)鼠标跟随窗口+屏幕坐标+屏幕颜色

实现程序窗口外鼠标坐标的捕捉,鼠标跟随显示鼠标位置和对应点屏幕颜色.其中显示是在一个窗口透明,文字不透明的 窗口中显示的,并且对窗口的任务栏按钮(图标)进行的隐藏.

2010-09-09

VC++(VS2008)文件遍历同时进行文件过滤

实现了两种文件遍历方式 一种是用API遍历,一种是用CFileFind类开实现. 同时还实现了一个遍历(枚举)指定类型组合的文件 比如想遍历txt文件和bmp文件就可以"*.txt;*.bmp"来指定只遍历(枚举)这两种类型文件. 其中还有文件对话框及默认目录的设置方法, 目录对话框及默认目录的设置方法.

2010-09-09

VC++6.0窗口绑架(强行改变父窗口)

实现了两种绑架不属于同进程的窗口的方法,如果同进程则没有什么限制,直接用SetParent而没有什么问题.

2010-09-09

VC++6.0遍历磁盘信息

遍历(枚举)磁盘的相磁信息,包括磁盘类型 磁盘容量 磁盘盘符名字 DVD/CD是否有盘等

2010-09-09

vc++6.0DES加密算法+数据加密+文件加密(下载后修改优化的程序)

实现DES算法,数据加密解密,文件加密解密

2010-09-09

VC++ 读取网卡信息,物理地址(MAC),IP等的类及应用

工程用VS2008生成.用到iphlpapi sensapi wininet 能获得主机名,域名,网卡名,网卡机器名,网卡描述串,IP 物理地址(MAC),网关,子网掩码,主DNS,备用DNS....

2010-09-09

图形的对称变换,旋转变换,缩放变换演示

图形的对称变换,旋转变换,缩放变换的演示 程序是用vc6.0 MFC编写

2009-10-19

用种子+扫描线的区域填充算法演示

种子填充 扫描线填充 区域填充算法演示 是用vc6.0, MFC 编写

2009-10-19

用VC6.0写的分段插值法求方程组

分段插值法求方程组 这个程序的源代码是用vc6.0编写

2009-10-19

LagrangeInsert 拉格朗日插入算法

LagrangeInsert 拉格朗日插入算法 程序是用VC6.0编与

2009-10-19

Jacobi迭代法求解方程组

Jacobi 迭代法 求解方程组 详程序请打开程序看,是用VC++6.0编写的

2009-10-19

GaussMain高斯列主元消去法求方程组

Gauss 高斯 消去法 求解方程组 用高斯列主元消去法求解方程组

2009-10-19

圆和椭圆的生成算法演示

里面有圆和椭圆的生成算法演示 (注:黑点是由算法生成的,实线是用来作对比的标准 用vc6.0编写

2009-10-19

各个方向直线生成算法演示

该直线生成算法包含了从各个角度的生成算法; 以4个像限来说: 1->3 3->1 1->2 2->1 1->4 4->1 2->4 4->2 还包括了<45度角和大于45度角

2009-10-19

Beizier+B样条曲线算法演示

Beizier+B样条曲线算法演示 程序里面包含了Beizier B样条的曲线算法

2009-10-19

VC6.0下MFC对系统信息及硬件信息的读取

VC6.0下MFC对系统信息及硬件信息的读取

2009-10-17

VC6.0 MFC--access数据库访问,学生管理系统

是在VC6.0下用的MFC自动加载数据源的access数据库应用程序. 下面有另外个例子 VC6.0写的用户账号管理: http://download.csdn.net/source/2848883 VS2008写的用户账号管理 http://download.csdn.net/source/2886243

2009-10-17

基于TCP的用MFC局域网聊天工具源码

一个用vc6.0编写的MFC的基于TCP的局域网聊天工具,是源码。

2009-03-18

Vfw + GDI屏幕录像

使用Vfw中的AVIFile相关函数 和 GDI的BitBlt实现屏幕录像 由于没有压缩, AVI文件会很大.

2012-10-19

屏幕取色及其应用.

屏幕取色及其应用,使用屏幕取色,内存DC,设备无关位图的快速访问.

2012-06-20

用VC在XP及Win7下显示模式切换

在XP下能切换扩展模式和单显示器模式和切换主显示器. 在Win7下调用SetDisplayConfig能实现复制,扩展,单显示器的切换,主显示器切换暂时没研究出怎么用.

2011-07-29

VC 多国语言动态切换 资源dll版

一般来说,用资源dll来解决多国语言问题的话,都是重启生效,但是dll就真的不能动态切换吗? 答案是:当然能动态切换... 具体看代码. XP_SP3 VS2008编译通过

2011-06-22

VC++阳历(公历)到阴历(农历)转换

VC++ VC6.0下源代码.不知道是不是每年每天都正确,但我测试过的数据都是正确的

2011-01-13

VC++操作access数据库(用户账号管理,并有des数据加密)

用VC在VS2008环境写的一个VC操作访问access数据库的小程序,作入门之用.望对大家有点点抛砖引玉的作用.

2010-12-06

VC进程ID获得主窗口句柄获得进程名

VC获得进程ID获得主线程ID获得窗口句柄获得主窗口获得进程名 1.窗口类名 窗口句柄 窗口标题 窗口句柄 HWND FindWindow( LPCTSTR lpClassName, //窗口类名 可用 VC或者VS自带的Spy++查看 LPCTSTR lpWindowName //窗口标题 ); 举例: 以 记事本为例, 记事本 窗口类名 为:NotePad, 窗口标题 视按具体情况而定,假设为"新建 文本文档.txt - 记事本" 窗口类名 窗口句柄 TCHAR lpClassName[]=TEXT("NotePad"); HWND hWnd=::FindWindow(lpClassName,NULL); if(hWnd && IsWindow(hWnd)) ::ShowWindow(hWnd,SW_HIDE); 窗口标题 窗口句柄 TCHAR lpWindowName[]=TEXT("新建 文本文档.txt - 记事本"); HWND hWnd=::FindWindow(NULL,lpWindowName); if(hWnd && IsWindow(hWnd)) ::ShowWindow(hWnd,SW_HIDE); 2.窗口句柄 进程ID 窗口句柄 主线程ID 要使用到的函数: DWORD GetWindowThreadProcessId( HWND hWnd, //目标窗口句柄 LPDWORD lpdwProcessId //返回目标窗口对应进程ID ); 例子: DWORD dwProcId=0;//存放返回的进程ID DWORD dwThreadId=0;//存放返回的主线程ID HWND hWnd=XXXX;//这里省略,可能用任务方式得到一个窗口的句柄.比如用1中的方法. dwThreadId=GetWindowThreadProcessId(hWnd,&dwProcId);//同时得到进程ID和主线程ID. 3.窗口HAND CWnd 用CWnd::FromHandle(HWND hWnd)函数.很多类都有这个函数. 4.进程名 进程ID (注:进程名,即在"任务管理器"中看到的名字) 用CCheckObject类(详细实现源文件); 例子: 以记事本为例,进程名为 NOTEPAD.EXE (不一定是大写哦,得到任务管理器是显示而定); CCheckObject ch; TCHAR Name[]=TEXT("NOTEPAD.EXE"); DWORD dwProcId=ch.GetProcessId(Name); 5. 进程名 主线程ID 例子: CCheckObject ch; TCHAR Name[]=TEXT("NOTEPAD.EXE"); DWORD dwThreadId=ch.GetThreadId(Name); 6. 进程名 主窗口句柄 CCheckObject ch; TCHAR Name[]=TEXT("NOTEPAD.EXE"); HWND hWnd=ch.GetTargetWindowHanle(Name); 7. 其它说明 从CCheckObject类和上面的源码中,不难写出从 进程ID 主线程ID 进程ID 主窗口句柄 主线程ID--->主窗口句柄 等等其它类似转换. 对于主窗口,特点如下: A. 不能用进程ID,要用线程ID,因为一个进程可能有多个线程,每个线程都可能会有主窗口. B. 主窗口不会有WS_CHILD属性 C. 主窗口没有父窗口 D. 主窗口一般都有子窗口(这个不是一定的,但是具有普遍性)

2010-12-03

VC操作access数据库

采用ADO或者ODBC方式访问access数据库 程序里实现了用户管理模块和对用户数据的DES加密

2010-11-21

VC程序自动启动和快捷方式和计划任务

里面实现注册表的操作,包括 遍历,添加,删除项;遍历,添加,删除键, 用注册表功能 实现了程序开机自动启动. 以向"启动"文件夹添加程序快捷方式,实现程序开机自动启动. 用计划任务方式实现程序每天定时启动.

2010-11-18

VC在VS2008下注册表操作

用VC在VS2008环境下,利用操作注册表的API实现注册表的读写删除操作,可以遍历注册表项和键值,也可以添加和删除注册表项和键值. 还实现了一个程序随系统自动启动

2010-11-13

VC6.0环境GDI实现图片播放特效

VC6.0下GDI实现的各种图片播放特效(特技),类似PPT中播放的样子. 实现了百叶窗,马塞克,渐变,移动,旋转切换....

2010-10-26

仿QQ截屏+CRectTracker类(修改版)

在网上找的一个仿得比较可以的QQ截屏VC程序.分享给大家.

2010-10-17

VS2008改造和使用"橡皮筋"CRectTracter类

"橡皮筋"CRectTracker为进行了改造. CMyTracker a. 可改变调整边框粗细和颜色 b. 可改变8个调整点的大小和颜色 c. 加入了resizeMiddle模式 d. 在类中解决"静态MFC库"中不显示光标问题. CMyTrackerEx a. 可改变调整边框粗细和颜色 b. 可改变8个调整点的大小和颜色 c. 需要在OnMouseMove中自已加载光标.(函数在程序中有)

2010-10-11

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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