![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
MFC编程
seven407
这个作者很懒,什么都没留下…
展开
-
windows屏幕捕捉BitBlt函数鼠标闪烁问题
windows屏幕捕捉鼠标闪烁问题 2009-12-02 21:17:39| 分类: 默认分类|举报|字号 订阅我们在用BitBlt函数进行屏幕捕捉时,若传递了CAPTUREBLT(捕捉alpha blending,即半透明窗口)标志,鼠标就会闪烁,这是为什么呢? 下文是本人阅读英文解释后的个人理解: 在windows2000及以转载 2014-07-14 17:31:10 · 3669 阅读 · 0 评论 -
CListCtrl 图标列表用法
public:CListCtrl m_listQueue; pImageList = new CImageList; pImageList->Create(24,24,ILC_COLOR24,0,1); pImageList->Add(AfxGetApp()->LoadIcon(IDI_ICON1));//如果我加载的是ICON则不存在这个问题原创 2012-04-23 17:40:32 · 1145 阅读 · 0 评论 -
CFile和CStdioFile的文件读写使用方法
转自:http://www.cnblogs.com/buffer/archive/2009/03/17/1414766.htmlCFile//创建/打开文件CFile file;file.Open(_T("test.txt"),CFile::modeCreate|CFile::modeNoTruncate|CFile::modeReadWrite);文件打开转载 2012-04-23 14:38:31 · 587 阅读 · 0 评论 -
MFC的Picture控件使用
1. 首先添加一个Picture控件,Type选Bitmap,ID为IDC_STATIC_LOGO;2. 添加一个图片资源,ID为IDB_BITMAP_LOGO;3. 在初始化中添加代码: //加logoCBitmap bmp; bmp.LoadBitmap(IDB_BITMAP_LOGO); ((CStatic *)GetDlgItem(IDC_STATIC原创 2012-04-23 12:31:15 · 1083 阅读 · 0 评论 -
CDC::DrawText垂直居中
转自:http://hi.baidu.com/ypxmaomao/blog/item/85facb12fa29aec6c2fd78ac.htmlDT_SINGLELINE|DT_VCENTER垂直居中必须与单行一起才有效果CDC::DrawTextvirtual int DrawText(LPCTSTR lpszString, int nCount, L转载 2012-04-19 18:14:59 · 3109 阅读 · 0 评论 -
MFC图象闪烁的解决办法http://blog.csdn.net/tiaotiaoyly/article/details/2516235
转自: http://blog.csdn.net/tiaotiaoyly/article/details/2516235转载网上找到的一篇双缓冲的文章,很好用。_______________________________________________________________________显示图形如何避免闪烁,如何提高显示效率是问得比较多的问题。而且多数人认为M转载 2012-04-19 18:44:25 · 1078 阅读 · 0 评论 -
vs2005中GB2312字符串和UTF-8之间的转换
转载:http://hi.baidu.com/wowemu/blog/item/dc08caf105c7f6a7a40f528e.html在中国使用VS(VS2005以上版本)开发基本都是使用Gb2312的Unicode字符集,所以当在编程过程中就需要进行字符转换,这样才能兼容游戏,否则就是乱码。而在控制台显示字符串时,真好相反需要将UTF-8的字符串转换成Gb2312才能正常显示转载 2012-03-27 11:23:52 · 1585 阅读 · 0 评论 -
MFC写FTP客户端程序
参考:http://blog.sina.com.cn/s/blog_5cf5e7c40100vc9p.html第一步 在你的头文件中添加以下表达式. #include 第二步 在你的头文件中,添加以下变量 CFtpConnection *m_pFtpConnection; CInternetSession m_Session;原创 2012-01-04 18:40:12 · 1910 阅读 · 0 评论 -
MFC中CListCtrl的使用
声明CListCtrl m_userList;绑定DDX_Control(pDX, IDC_LIST1, m_userList);新建DWORD dwStyle = GetWindowLong(m_userList.m_hWnd, GWL_STYLE);SetWindowLong(m_userList.m_hWnd, GWL_STYLE, d原创 2011-11-07 16:11:57 · 846 阅读 · 0 评论 -
MFC中对话框全屏(非最大化)实现方法
参照:http://topic.csdn.net/t/20040903/15/3337695.htmlOnInitDlg中,加入如下代码: ModifyStyleEx(0, WS_EX_APPWINDOW | WS_EX_CONTROLPARENT, SWP_NOSIZE); ModifyStyle(WS_BORDER | WS_DLGFRAME转载 2011-12-05 13:41:59 · 1160 阅读 · 0 评论 -
VS2005 MFC 简单内存泄漏检测方法,解决Detected memory leaks!问题
最近一个项目中,程序退出后,每次都出现内存泄漏,每次退出的时候泄露的内存块都是1654,1650。Detected memory leaks!Dumping objects ->{1654} normal block at 0x01CC1B28, 40 bytes long.Data: 54 00 69 00 63 00 6B 00 65 00 74 00 20 00转载 2012-06-06 15:17:32 · 990 阅读 · 0 评论 -
如何在使用VS2005的MFC编写ActiveX控件时,为控件添加属性、方法?
切换到类视图,比如说我的工程名为:ClientOCX,那么展开ClientOCXLib,在下面的_DClientOCX上面点击右键,就可以添加属性和方法了,下面的那个_DClientOCXEvents上也可以点右键添加。添加事件,可以直接在CClientOCXCtrl类上点右键添加。参考:VS2005/2008中ActiveX的使用 http://www.cnblogs.com/ac转载 2012-06-11 14:58:09 · 819 阅读 · 0 评论 -
VC回车键窗口消失问题处理及使用方法
VC刚设计出来的对话框在build并debug的时候会出现个问题就是不管操作什么一按回车就会关闭对话框,这是VC默认的调用onok()这个函数,而默认的这个函数就是关闭功能,解决这种一按回车和ESC键就关闭工程的正确处理方法是:触发PreTranslateMessage消息,截获ENTER和ESC对对话框的消息。可,具体代码如下:代码如下:代码BOOL CX转载 2012-10-15 14:10:55 · 3817 阅读 · 0 评论 -
标题栏修改背景色或背景图
.h中://标题栏修改void DrawTitleBar(CDC *pDC);LRESULT DefWindowProc(UINT message, WPARAM wParam, LPARAM lParam);void ShowBitmap(CDC *pDC, int x, int y, int nW, int nH, CBitmap &m_bitmap);转载 2012-09-20 17:11:11 · 2758 阅读 · 0 评论 -
CEdit 背景色设置
1) 在其父窗口中来处理CEdit 响应其父窗口的WM_CTRLCOLOR消息,然后通过其响应函数 OnCtlColor()来实现改变CEdit背景色的目的: 代码如下: HBRUSH CMulEditView::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) { HBRUSH转载 2012-09-19 18:13:24 · 3360 阅读 · 0 评论 -
CTreeCtrl遍历和checkBox使用及初始化时SetCheck无效解决办法
CTreeCtrl遍历某一节点以下的全部节点。递归遍历方法://函数说明:返回值:与strId对应的节点. 参数: hItem 查找的起始节点, strId 待查找的数据的标识符,开始用SetItemData设置 ITEMDATA为自定义的数据结构HTREEITEM CMyTree::TreeVisit(HTREEITEM转载 2012-10-10 14:55:14 · 3317 阅读 · 2 评论 -
MFC按钮 自绘 鼠标滑过
MFC自绘按钮的实现 : http://blog.csdn.net/znsky/article/details/3119522MFC中Button控件的重绘 :http://fengyongbing2008.blog.163.com/blog/static/117523529201010282525585/MFC 按钮重绘 http://blog.sina.com.cn转载 2012-09-18 17:09:05 · 1144 阅读 · 0 评论 -
MFC初始化时隐藏对话框(无闪烁)
MFC初始化时隐藏对话框--《VC编程知识总结》之二前面我讲了如何将MFC最小化到系统托盘,这次讲一下怎么能在最小化到系统托盘之前,将对话框隐藏。关于隐藏对话框,我参考了http://www.qqgb.com/Program/VC/VCJM/Program_55005.html上的不绘制窗口方法,具体方法如下:第一步,声明一个响应函数afx_msg void OnNcPai转载 2012-08-23 12:02:52 · 1381 阅读 · 0 评论 -
MFC子窗口中退出程序
MFC子窗口中退出程序在子窗口中退出程序应使用PostQuitMessage(0);函数实现。函数GetMessage里是使用一个循环不断地检测消息,周止复始的,是不可能出现死亡的,但它会检测到消息WM_QUIT就退出来。那现在问题是谁发送WM_QUIT消息出来呢?这就是PostQuitMessage函数所做的工作。当你点击窗口右上角的关闭时,Windows就会把窗口从系统转载 2012-08-23 13:35:56 · 5483 阅读 · 1 评论 -
c/c++中 char与十六进制转换
long int strtol(const char *nptr,char **endptr,int base); 例如:char destdata[20];char *dest = destdata;char src="00d43a0195"; //mac地址//mac转16进制strtol(src,&dest ,16);itoa并不是一个标准的原创 2012-07-20 16:44:44 · 15546 阅读 · 0 评论 -
MFC中 GB2312、UTF-8、unicode 之间转换
//GB2312到UTF-8的转换static int GB2312ToUtf8(const char* gb2312, char* utf8){int len = MultiByteToWideChar(CP_ACP, 0, gb2312, -1, NULL, 0);wchar_t* wstr = new wchar_t[len+1];memset(wstr, 0, len+原创 2012-07-03 18:41:55 · 3956 阅读 · 0 评论 -
SkinMagic使用及破解
美化您的程序——SkinMagic使用方法完美总结http://blog.csdn.net/qzmguy/article/details/2164750SkinMagic Toolkitn2.3 的使用与破解:http://www.360doc.com/content/10/0611/18/659556_32557213.shtml微软是个很大度的公司,至少目前转载 2011-12-01 17:39:22 · 1979 阅读 · 1 评论 -
MFC 控件具有XP风格
vc和vs2003上:转载:http://hi.baidu.com/xyooo/blog/item/b380fe166ff8d81d962b43ac.html如果你想让VS6, VS2003,的MFC程序拥有XP风格那么就学习下面的方法吧方法一: 1.首先确认你在Windows XP下,因为如果在98或2K下,那除非自己重画画所有界面,要不基本上是无法实现XP风格的。转载 2011-11-07 16:10:24 · 720 阅读 · 0 评论 -
GetWindowRect,GetClientRect,ScreenToClient MoveWindow SetWindowPos 用法
本文转自:http://www.cppblog.com/Lee7/archive/2009/05/29/86070.htmlGetWindowRect() 得到的是在屏幕坐标系下的RECT(即以屏幕左上角为原点)GetClientRect() 得到的是在客户区坐标系下的RECT(即以所在窗口左上角为原点,去掉了标题栏计算,仅仅是个大小,返回值的左上角永远为0,0)Scr转载 2010-03-22 11:02:00 · 1027 阅读 · 0 评论 -
转:MFC消息大全(不知道全不全,反正挺多)
消息,就是指Windows发出的一个通知,告诉应用程序某个事情发生了。例如,单击鼠标、改变窗口尺寸、按下键盘上的一个键都会使Windows发送一个消息给应用程序。消息本身是作为一个记录传递给应用程序的,这个记录中包含了消息的类型以及其他信息。例如,对于单击鼠标所产生的消息来说,这个记录中包含了单击鼠标时的坐标。这个记录类型叫做TMsg,它在Windows单元中是这样声明的:转载 2010-03-22 10:57:00 · 827 阅读 · 0 评论 -
MFC 对话框粘连的实现
1.子对话框出现在主对话框的右侧CRect rect;this->GetWindowRect(&rect);rect.OffsetRect(rect.Width(), 0);his->MoveWindow(rect, true);//his->SetWindowPos();his->ShowWindow(SW_SHOW);2.主对话框移动时跟随移动重原创 2010-03-22 10:50:00 · 643 阅读 · 0 评论 -
用VC设计托盘图标程序
Windows95/98/NT/2000中,任务栏的右边(托盘)常驻几个图标,如输入法切换图标、音量控制图标等,此外我们还经常遇到拥有托盘图标的软件,如金山词霸、有实时监测功能的杀毒软件等。这些软件在后台运行,通常不占用太多的屏幕资源,只在通知栏上放一个小小的标志。必要时我们可以通过用鼠标点击图标对其进行菜单操作或激活其主窗口。有时我们自己编写的程序也希望有类似的原创 2010-02-27 17:36:00 · 965 阅读 · 0 评论 -
MFC中位图按钮的实现方法:( 位图必须用.bmp 格式的)
MFC中位图按钮的实现方法:( 位图必须用.bmp 格式的) 首先,我们创建一个基于对话框的应用程序CmyDialog ; Ι.MFC的CBitmapButton类,这也是最简单的功能最强的位图按钮。我们可以采取如下的步骤: 需定义CBitmapButton 对象与CButton一一对应. 1. 在原创 2010-02-25 17:16:00 · 3345 阅读 · 5 评论 -
使用Windows混音器MIXER的API开发音频控制面板【参考文章】
混音器原理及Mixer API函数介绍 转自:<a href= "http://blog.csdn.net/nolatin/archive/2008/06/25/2585274.aspx">http://blog.csdn.net/nolatin/archive/2008/06/25/2585274.aspx Windows混音器API使用转载 2010-02-25 16:58:00 · 1294 阅读 · 0 评论 -
VC 如何获取对话框中控件的坐标
VC如何获取对话框中控件的坐标 GetWindowRect是取得窗口在屏幕坐标系下的RECT坐标(包括客户区和非客户区),这样可以得到窗口的大小和相对屏幕左上角(0,0)的位置。 GetClientRect取得窗口客户区(不包括非客户区)在客户区坐标系下的RECT坐标,可以得到窗口的大小,而不能得到相对屏幕的位置,它的top和left都为0,rig原创 2010-02-26 17:04:00 · 3689 阅读 · 1 评论 -
封装好的vc音量调节类, 可用于声音和麦克风音量调节的编程
封装好的vc音量调节类, 可用于声音和麦克风音量调节的编程 源代码: VolumControl.h: // CVolumControl.h: interface for the CVolumControl class. // ////////////////////////////////////////原创 2010-02-26 16:34:00 · 1492 阅读 · 1 评论 -
关于调整“录音”麦克风音量而不是“播放”中麦克风音量的问题
一般情况下如下代码用来调节录音"麦克风音量 代码: // 打开Mixer设备 mixerOpen( &m_hMixer, 0, 0, 0, MIXER_OBJECTF_MIXER ); MIXERLINE MixerLine; // 结构体的大小 MixerLine.cbStruct原创 2010-02-25 16:53:00 · 2230 阅读 · 0 评论 -
VC录音机程序开发过程
转自:http://www.cnblogs.com/linbc/archive/2009/03/18/1415936.htmlwindow下面声音的编程主要有三种方式,MCI,这种方式很简单,但是不够灵活waveXXXX等低阶的声音API还有就是DirectSound个人感觉使用waveXXX函数应该是最方便和最灵活的,也是比较简单的,随便创建一个MFC基于对话转载 2010-03-26 15:36:00 · 1592 阅读 · 0 评论 -
vc 应用程序间传递参数即进程间通信 笔记
一、 使用WM_COPYDATA消息通信转自:http://book.csdn.net/bookfiles/212/10021210209.shtml对于少量数据可以用WM_COPYDATA方便地实现通信。由于SendMessage()是阻塞的,只有接收方响应了消息,SendMessage()才能返回,否则一直阻塞。所以,对于大量数据来说,用SendMessage()就容易造成窗口假死。1.通过WM_COPYDATA消息实现进程间通信的方法:在Win32中,WM_COPYDATA消息主要目的转载 2010-06-26 11:29:00 · 1570 阅读 · 0 评论 -
MFC中按钮背景色设置
转载自:http://blog.sina.com.cn/s/blog_4b44e1c0010090q0.html一个继承于CButton的按钮控件类,实现Button背景色与文字的共存与改变,可以自行设计背景色。 头文件:CMyButton.h 如下:#pragma once#include "afxwin.h"class CMyButton : publi转载 2011-11-21 16:50:08 · 6865 阅读 · 1 评论 -
vc弹屏的两种方法(调用外部程序)
第一种:// IE打开网页void openHtml(char * sURL){ShellExecute(NULL, "open", sURL, NULL, NULL, SW_SHOWNORMAL); }第二种:注册表中默认浏览器打开void openHtml(char * sURL){HKEY hkRoot,hSubKey; //定义注册表根关键字及子关键字char ValueName[256];unsigned char DataVal原创 2010-08-17 17:02:00 · 699 阅读 · 0 评论 -
vc中打开网页函数
void openHtml(char * sURL){HKEY hkRoot,hSubKey; //定义注册表根关键字及子关键字char ValueName[256];unsigned char DataValue[256];unsigned long cbValueName=256;unsigned long cbDataValue=256;char ShellChar[256]; //定义命令行DWORD dwType;//打开原创 2010-08-10 10:33:00 · 1098 阅读 · 0 评论 -
VC中操作INI文件的API函数使用说明
转自:http://www.cnblogs.com/my-blog/archive/2008/11/14/1333470.htmlVC中操作INI文件的函数主要有:函数名 功能 备注GetPrivateProfileInt 读取INI文件指定块中的键名对应的整数值。GetPrivateProfileSection 记取INI文件指定块中的所有键名及其对应值。GetPrivateProfileSectionNames 读取一INI文件中所有的块名。GetPrivat原创 2010-08-10 10:31:00 · 846 阅读 · 0 评论 -
MFC通讯录类
头文件contact.h:#pragma once#include "Resource.h"#include #include #include #include #include "../sqlite3_lib/sqlite3.h"using namespace std;class CCRow{public:CStringArray * _row;public:CCRow(CStringArray * row)原创 2010-08-06 16:53:00 · 2127 阅读 · 1 评论 -
vc中使用SendMessage正确发送自定义消息
vc中使用SendMessage正确发送自定义消息的方法最近在用VC2008做开发,后来由于要用到消息的发送,而且需要自定义消息,在网上查找了很多例子,根据他们所说的,虽然大致都差不多,但是基本上没有一个能完全做出来的。要知道VC编程有一个小地方出错,都可能是个让你头晕脑胀的事情。经过我后来不但探索,经过改进之后,一点错误都没有,现在贴出来供大家参考。1. 先来个基本知识介绍SendMessage的基本结构如下:SendMessage(HWND hWnd, //消息传递的目标窗口或线转载 2010-07-19 16:45:00 · 2198 阅读 · 0 评论