MFC知识库
文章平均质量分 64
zhang1chao5
若有理解错误,期待您的指正。
随时可以和我交流~
展开
-
MFC产生线程
MFC中,不应该直接调用::CreateThread,可以::AfxBeginThread,或者先生产CWinThread对象,然后调用CWinTHread::CreateTHread()原创 2011-06-25 09:44:00 · 447 阅读 · 0 评论 -
如何更改static控件的字体大小
如何更改static控件的字体大小你用的如果VC是5.0,5.0要从光盘上拷几个dll 如果是6.0,也许要设置一下。在"工作区"相应的对话宽点右键,属性中有"语言"项,选择"Chinese(P.R.C)"就可以了。 更改字体,首先改变你的static控件的ID,然后GetDlgItem(IDC_YOURSTATIC)->SetFont(&font);转载 2012-08-02 14:38:37 · 667 阅读 · 0 评论 -
VC选择文件夹对话框,updata(false)应该是对话框的功能,而不是控件的功能
void CHomeworkCompareDlg::OnBnClickedBtnBrowser(){// TODO: 在此添加控件通知处理程序代码;char szDir[MAX_PATH];BROWSEINFO bi;ITEMIDLIST *pidl;bi.hwndOwner = this->m_hWnd;bi.pidlRoot = NULL; //如果指定转载 2012-03-22 15:00:17 · 914 阅读 · 0 评论 -
MFC方便cout控制台输出函数
void COJServerDlg::EditPrint(char* buf){CString cstr_buf(buf);CString cstr_huanhang("\r\n");m_edit_str_system = m_edit_str_system+cstr_buf+cstr_huanhang;int len = m_edit_ctl_system.GetWindow原创 2012-01-03 18:39:54 · 2821 阅读 · 0 评论 -
绘图知识
创建空白画刷 (使用系统预留画刷,不用删除,不会内存泄漏)画刷用来填充Rect 里面的区域。DrawText要设置背景需要setbkmode,setbkcolor.CBrush *pBrush=CBrush::FromHandle((HBRUSH)GetStockObject(NULL_BRUSH));// 创建透明画刷 ; CBrush *pOldBrush=m_pDC->Sel原创 2012-02-03 19:56:58 · 540 阅读 · 0 评论 -
VC中比较两个文件是否内容相等
#include "stdafx.h"#include #include #include #include #include // 将一个文件与另一个文件相比较, 相同返回TRUE,否则返回FALSE// lpszFilename1表示文件1的绝对路径,lpszFilename2表示文件2的绝对路径BOOL CompareOneFileWithAnot原创 2012-01-05 20:20:20 · 4003 阅读 · 0 评论 -
vector
//排序最近做的东西,要将vector 中的内容输出,结果发现有些文件被交替反复打开,所以就想吧vector 中的元素排序,学习中发现下面这篇文章总结的挺好的,分享一下也~C++中当 vector 中的数据类型为基本类型时我们调用std::sort函数很容易实现 vector中数据成员的升序和降序排序,然而当vector中的数据类型为自定义结构体类型时,我们该怎样实现升序与降序排列呢?原创 2011-06-29 23:35:00 · 400 阅读 · 0 评论 -
操作注册表
ULONG lIndex = 0;ULONG lCount = 0;CString cstCount;TCHAR buffer[MAX_PATH];HKEY hKey;LRESULT lr;lr = RegOpenKey(HKEY_LOCAL_MACHIN原创 2011-08-03 09:24:41 · 336 阅读 · 0 评论 -
子控件相对于父窗口的位置
GetWindowRect(不同于getClientRect,这个肯定获得top==0,left==0) 函数功能:该函数返回指定窗口的边框矩形的尺寸。该尺寸以相对于屏幕坐标左上角的屏幕坐标给出。 BOOL CNeicunDlg::OnInitDialog() { CDial原创 2011-07-12 22:46:41 · 2539 阅读 · 0 评论 -
CTabCtrl
AddPage();用来添加属性页原创 2011-07-06 21:12:43 · 676 阅读 · 0 评论 -
MFC创建,销毁,打开模式对话框,关闭模式对话框等函数调用顺序
MFC应用程序创建窗口的过程1.PreCreateWindow() 该函数是一个重载函数,在窗口被创建前,可以在该重载函数中改变创建参数 (可以设置窗口风格等等)2.PreSubclassWindow() 这也是一个重载函数,允许首先子分类一个窗口3.OnGet原创 2011-07-08 22:35:11 · 6163 阅读 · 0 评论 -
AfxCreateThread
CWinThread* AfxBeginThread( AFX_THREADPROC pfnThreadProc, LPVOID pParam, int nPriority = THREAD_PRIORITY_NORMAL, UINT nStackSize = 0, DWORD dwCreateFlags = 0, LPSECURITY_ATTRIBUTES lpSecur原创 2011-06-25 10:36:00 · 2027 阅读 · 0 评论 -
根据nIDCtl,来绘制相应的控件,等同于win32的WM_DRAWITEM消息。
void CMainFrame::OnDrawItem(int nIDCtl, LPDRAWITEMSTRUCT lpDrawItemStruct) { // TODO: Add your message handler code here and/or call default CDC* pDC = CDC::FromHandle(lpDrawItemStruct->hDC); static n原创 2011-06-25 09:33:00 · 722 阅读 · 0 评论 -
创建进程
进程的概念:进程 进程是当前操作系统下一个被加载到内存的、正在运行的应用程序的实例。每一个进程都是由内核对象和地址空间所组成的,内核对象可以让系统在其内存放有关进程的统计信息并使系统能够以此来管理进程,而地址空间则包括了所有程序模块的代码和数据以及线程堆栈、堆分配空间等动态分配的空间。进程仅仅是一个存在,是不能独自完成任何操作的,必须拥有至少一个在其环境下运行的线程,并由其负责执行在进程地址原创 2011-06-25 21:59:00 · 593 阅读 · 0 评论 -
cedit 模仿printf, 当个调试框,勉强用吧。
void CJumpDlg::AddText(PCTSTR pszFormat, ...) { CEdit* pEditDetails = (CEdit*)GetDlgItem(IDC_EDIT_DETAILS); TCHAR sz[20 * 1024]; pEditDetails->GetWindowText(sz, _countof(sz)); va_list argLi原创 2012-02-02 22:43:16 · 727 阅读 · 0 评论