![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
MFC
danelumax2
这个作者很懒,什么都没留下…
展开
-
InvalidateRect
在OnPaint中,系统响应WM_PAINT消息,OnPaint将调用CPaintDC dc(this)以得到绘图设备上下文,CPaintDC::CPaintDC(CWnd* pWnd)是CPaint的构造函数,从其中可以看到系统将调用CDC* ::BeginPaint(m_hWnd = pWnd->m_hWnd, &m_ps),其中m_ps是一个LPPAINTSTRUCT结构,它包含有一个r原创 2013-03-07 19:11:35 · 1168 阅读 · 0 评论 -
无法执行添加/移除操作,因为代码元素**是只读的
在vs中,大量添加窗体或者控件后,发现无法由系统IDE自动生成代码,如自动添加按钮响应函数等,rc管理器界面双击按钮添加函数,会出现 提示框 “无法执行添加/移除操作,因为代码元素**是只读的”。开始认为可能是对应的.cpp和.h被加了只读属性,后来发现是工程的ncb文件引起的。解决方案:关闭vs,删除工程对应的.ncb文件,重启vs就好了。问题原因:NCB是no compile原创 2013-10-22 10:59:59 · 598 阅读 · 0 评论 -
VS2005 on_message的问题
VS2005中,添加自定义消息,可是不知道出错的原因DictDlg.hafx_msg LRESULT OnShellNotify(WPARAM wParam,LPARAM lParam);DictDlg.cpp#define WM_SHELLNOTIFY (WM_USER+10);BEGIN_MESSAGE_MAP(CDictDlg, CDialog)ON_原创 2013-10-20 22:49:18 · 769 阅读 · 0 评论 -
Combo Box
Combo Box (组合框)控件很简单,可以节省空间。从用户角度来看,这个控件是由一个文本输入控件和一个下拉菜单组成的。用户可以从一个预先定义的列表里选择一个选项,同时也可以直接在文本框里面输入文本。下面的例子简要说明如何利用 MFC CComboBox Class来操作字符串列表。1、定义控件对应变量假定已经创建了一个Dialog,并且从控件工具箱将 Combo Box 控原创 2013-10-15 10:17:36 · 630 阅读 · 0 评论 -
将CString(Unicode) 转成 char 以下可转中文
//将CString(Unicode) 转成 char 以下可转中文char* CStringToCharArray(CString str){char *ptr;#ifdef _UNICODELONG len;len = WideCharToMultiByte(CP_ACP, 0, str, -1, NULL, 0, NULL, NULL);ptr = new char [le原创 2013-05-30 12:30:39 · 514 阅读 · 0 评论 -
UpdateData和Invalidate 更新
函数使用UpdateData()参数只有一个,默认为TRUE。用于主线程,在多线程内要线程通信UpdateData(TRUE)——刷新控件的值到对应的变量。(外部输入值交给内部变量)即:控件的值—>变量。UpdateData(FALSE)—— 拷贝变量值到控件显示。(变量的最终运算结果值交给外部输出显示)即:变量值—>控件显示。例如,原创 2013-01-30 09:55:07 · 724 阅读 · 0 评论 -
MFC界面刷新方法总结
UpdateData(FALSE);用于主线程UpdateData(TRUE);InvalidateRect(NULL,FALSE);InvalidateRect(NULL,TRUE);PostMessage(WM_PAINT);SendMessage(WM_PAINT,0,0);//这个很给力!UpdateWindow();//这个也很给力原创 2013-03-11 18:15:01 · 8746 阅读 · 0 评论 -
HWND与HDC区别
hWnd就是指向窗口的句柄。hdc(Device Content)就是指向MFC图形设备接口的句柄 。hWnd是窗体句柄hDC是设备场景句柄hWnd与窗口管理有关hDC与绘图API(GDI函数)有关hWnd是windows给窗口发送消息(事件)用的hDC是把窗口绘制在屏幕上用的。假如要在窗口上绘制图形: 有了hWnd,可以使用API的GetDC()函数得到与其原创 2013-03-13 10:38:44 · 1467 阅读 · 0 评论 -
使用WM_COPYDATA消息进程间通信
进程之间通讯的几种方法:在Windows程序中,各个进程之间常常需要交换数据,进行数据通讯。常用的方法有: 使用内存映射文件 通过共享内存DLL共享内存 使用SendMessage向另一进程发送WM_COPYDATA消息比起前两种的复杂实现来,WM_COPYDATA消息无疑是一种经济实惠的一中方法.WM_COPYDATA消息的主要目的是允许在进程间原创 2013-03-13 11:22:20 · 634 阅读 · 0 评论 -
int数字与string数字的相互转换
int转stringint i=2;CString a;a.Format(_T("%d"), i);string转intCString xueya;xueya=“2”;int b = atoi(xueya);原创 2013-03-11 20:33:46 · 559 阅读 · 0 评论 -
VC中CDC与HDC的区别以及二者之间的转换
CDC是MFC的DC的一个类 HDC是DC的句柄,API中的一个类似指针的数据类型. MFC类的前缀都是C开头的 H开头的大多数是句柄 这是为了助记,是编程读\写代码的好的习惯. CDC中所有MFC的DC的基类.常用的CClientDC dc(this);就是CDC的子类(或称派生类). CDC等设备上下分类,都含有一个类的成员变量:m_nHdc;即原创 2013-03-09 10:52:26 · 767 阅读 · 0 评论 -
MFC获得文件大小
方法一m_filesize = yuvfile_in.GetLength();方法二long nFileSize=GetFileSize(hFile,NULL);//GetFileSize获得文件大小。方法三ULONGLONG GetFileSize(LPCTSTR szFileName) { CFileFind原创 2013-03-08 08:57:16 · 1262 阅读 · 0 评论 -
GetWindowRect,GetClientRect的总结
1.获取pWnd在屏幕上的大小和位置,包括边框:CRect rc;pWnd->GetWindowRect(&rc);2.获取pWnd的大小,不包括边框:CRect rc;pWnd->GetClientRect(&rc);3.获取pWnd在父窗体上的大小和位置,包括边框:CRect rc;pWnd->GetWindowRect(&rc);pWnd->Get原创 2013-03-07 18:25:02 · 878 阅读 · 0 评论 -
MFC中的sprintf怎么输出换行回车啊?用\n不管用吗?
sprintf(result_rate, "%d\r\n", Adap_bitrate); result_rate=Adap_bitrate+"\r\n"原创 2013-10-22 22:51:05 · 3896 阅读 · 0 评论