MFC
MFC
西笑生
西笑生
展开
-
VC2013 配置属性
VC2013 配置属性flyfish不需要多次配置属性菜单 视图-》属性管理器会有Debug,Release,Win32,x64等版本 以Debug|Win32为例右键-》添加新项目属性表 名称可以 是PropertySheetDebug.props在PropertySheetDebug 属性页中 配置附加包含目录 附加库目录 附加依赖项 等等需要配置的选项PropertySheetDe原创 2016-11-02 10:48:16 · 962 阅读 · 0 评论 -
vc实现时间延时
<br />vc实现时间延时<br /> <br />邵盛松2010年11月13日星期六<br /> <br />下载地址http://download.csdn.net/source/2829628<br /> <br />用Sleep函数延时,如何时间太长,程序就像无响应一样,采用消息泵可以解决这个问题<br /> <br />5秒延时<br /> COleDateTimeodtStart = COleDateTime::GetCurrentTime(); <br /> COleDate原创 2010-11-13 16:24:00 · 4883 阅读 · 0 评论 -
VC语法 enum { IDD = IDD_ABOUTBOX };分析
VC语法 enum { IDD = IDD_ABOUTBOX };分析 2008年10月31日 flyfish 利用MFC向导生成一个Dialog程序#define IDD_ABOUTBOX 100IDD_ABOUTBOX是对话框资源的IDenum { IDD = IDD_XX_DIALOG };enum { IDD = IDD_ABOUTBOX };我将上述代码e原创 2008-10-31 15:57:00 · 8554 阅读 · 2 评论 -
扩展组合框的使用
扩展组合框的使用1 向Extended Combo Box中插入图片1)头文件中需要声明CImageList *m_pImageList;2)实现文件如下 m_pImageList = new CImageList(); m_pImageList->Create(16, 16, ILC_COLOR32|ILC_MASK, 4, 4); m_pImageList->Add(LoadIcon(Af原创 2009-12-04 14:01:00 · 1262 阅读 · 0 评论 -
vc++2005 MFC Radio Button
vc++2005 MFC Radio Button 作者:邵盛松 2008年10月18日 1如何定义一组Radio Button在Dialog上添加4个Radio Button,ID分别是IDC_RADIO1,IDC_RADIO2,IDC_RADIO3,IDC_RADIO4首先设置一下Tab键顺序,菜单上"格式"-"Tab键顺序",或者Ctrl+D.由小到大设置(利用鼠标点击原创 2008-10-18 15:59:00 · 5910 阅读 · 3 评论 -
VC中Tree Control的使用
<br />VC中Tree Control的使用<br /><br />邵盛松2010年11月29日星期一<br /><br />下载地址http://download.csdn.net/source/2868628<br />一Tree Control的初始化<br /><br /> HTREEITEMhTreeItemParent=NULL;<br /> HTREEITEMhTreeItemChild=NULL;<br /> CStringstrParentData=L""原创 2010-11-29 18:07:00 · 6041 阅读 · 0 评论 -
VC断点失败的原因之一
VC断点失败的原因之一flyfish 2014-10-23情景再debug状态下只有一个cpp文件,命中不了断点。提示 可以 允许源代码与原始版本不同不采用,防止出现未知的隐患问题分析1 头文件(.h)和实现文件(.cpp),经过编译生成OBJ文件,OBJ文件通过连接(Link)生成EXE文件简化: .h+.cpp -> obj -> exe原创 2014-10-23 17:56:40 · 1218 阅读 · 0 评论 -
List Control 可编辑任意item文本,设置行高
List Control 可编辑任意item文本,设置行高邵盛松2010年11月22日星期一本文使用Owner Draw实现List Control的重绘一可编辑任意item文本1)List Control 列表控件部分将List Control的Owner Draw Fixed的属性设置为True.编译器的说明是指定所有者窗口将在报表视图中绘制项。也可以使用ModifyStyle函数设置。必须重载DrawItem函数,在这个函数中编写自己的自绘代码。否则插入数据会弹出一个调试框。添加一个继承自CListC原创 2010-11-25 22:16:00 · 11920 阅读 · 0 评论 -
VC使用ADO对象控制ACCESS数据库的访问
VC使用ADO对象控制ACCESS数据库的访问邵盛松 2009-2-28以下代码没有进行封装,Carlos Antollini已经对ADO对象进行封装,他的代码可以在程序中可直接调用.新建一个MFC对话框1初始化代码解释使用ADO对象,就要引用使用msado15.dll中的变量和函数在stdafx.h文件中添加对DLL引用#import "C:/Program Files/Common Files原创 2009-02-28 13:14:00 · 1828 阅读 · 0 评论 -
VC实现随内容改变高度的Edit Control
VC实现 随内容改变高度的Edit Control作者:邵盛松 2009-10-8目的:EditControl宽度不变,高度随内容的改变,可大可小。一 新建一个对话框项目,对话框ID为IDD_EDITTEST_DIALOG,向Dialog中添加一个EditControl。设置Edit Control的ID为IDC_EDIT_TEST。为Edit Control添加变量,变量类型为CEd原创 2009-10-08 12:12:00 · 4056 阅读 · 0 评论 -
VC++2005 MFC INI文件的操作
VC++2005编程VC++2005 MFC INI文件的操作作者:邵盛松 2008年10月5日星期日INI文件用于初始化程序格式为[Section]Key=Value写操作函数为BOOL WritePrivateProfileString(LPCTSTR lpAppName, // 节 Section LPCTSTR lpKeyName, // 项 Key原创 2008-10-05 17:40:00 · 3037 阅读 · 0 评论 -
MFC Edit Browse Control
MFC Edit Browse Controlflyfish环境:Visual Studio 2013属性 Browse Mode 可以选择 文件浏览,文件夹浏览,自定义浏览绑定一个值变量就可以使用编辑框的字符串CString m_strFileFolder;DDX_Text(pDX, IDC_MFCEDITBROWSE_FOLDER, m_strFileFolder);IDC_MFCEDITB原创 2017-02-15 10:45:10 · 4990 阅读 · 0 评论 -
在VC下采用ADO实现BLOB(Binary)数据的存储,读取,修改,删除。
在VC下采用ADO实现BLOB(Binary)数据的存储,读取,修改,删除。作者:邵盛松 2009-09-05前言1关于的BLOB(Binary)数据的存储和读取功能主要参考了MSDN上的一篇《AppendChunk and GetChunk Methods Example (VC++)》,原文地址是http://msdn.microsoft.com/en-us/libra原创 2009-09-06 00:29:00 · 9559 阅读 · 8 评论 -
List Control可编辑item文本(只支持第一列)
<br /> <br />List Control可编辑item文本(只支持第一列)<br /> <br />邵盛松 2010年11月19日星期五<br /> <br />下载地址 http://download.csdn.net/source/2845555<br /> <br />一 属性设置<br />Edit Labels属性设置为True,可以就地编辑项文本,仅仅设置个属性是不够的。<br />View属性设置为Report或者是List<br />当View的属性为Report的时候只能编辑第一原创 2010-11-19 22:21:00 · 3449 阅读 · 1 评论 -
MFC 热键
MFC 热键flyfish新建一个MFC对话框在对话框中添加消息WM_HOTKEY最终代码如下//头文件afx_msg void OnHotKey(UINT nHotKeyId, UINT nKey1, UINT nKey2);int key_k;//开始int key_t;//停止//实现文件//消息映射BEGIN_MESSAGE_MAP(CXDlg, CDialogEx) ON_原创 2016-11-10 16:58:54 · 810 阅读 · 0 评论 -
VC2005使用boost环境的搭建
VC2005使用boost环境的搭建 作者:flyfish 2010-1-28 一编译boost库 编译boost库版本的是Boost_1_41_01开始->所有程序-> Microsoft Visual studio 2005->Visual studio Tool->Visual studio 2005命令2进入boost的下载路径 H:/CommonLib/Boo原创 2010-01-28 22:50:00 · 1175 阅读 · 0 评论 -
MFC多线程处理:CSemaphore
MFC多线程处理:CSemaphoreflyfish写数据最多同时只能运行2个线程,启动3个线程来处理写数据 执行过程:2个线程处理完,再执行第3个线程声明UINT WriteA(LPVOID pParam); UINT WriteB(LPVOID pParam); UINT WriteC(LPVOID pParam);实现部分CSemaphore g_semaphoreWrite(2,2);原创 2017-12-22 10:19:42 · 390 阅读 · 0 评论 -
VC获取硬盘的参数
VC获取硬盘的参数 作者:flyfish 2010-3-29 获取硬盘的参数信息包括硬盘的大小,柱面数,每柱面磁道数,每磁道扇区数,每扇区字节数等 需要掌握的函数1 函数CreateFile获得设备句柄。 HANDLE CreateFile( LPCTSTR lpFileName, // 文件名原创 2010-03-30 07:44:00 · 3022 阅读 · 0 评论 -
VC++模拟鼠标点击
VC++模拟鼠标点击flyfishvoid Test(){ // TODO: 在此添加控件通知处理程序代码 CWnd *p = FindWindow(NULL, _T("测试")); HWND h = p->GetSafeHwnd(); if (h) { EnumChildWindows(h, EnumChildWndProc, NULL);原创 2016-10-18 16:46:41 · 4731 阅读 · 0 评论 -
MFC获取Windows DPI
MFC获取Windows DPIflyfish获取操作系统版本OSVERSIONINFO osvi; ZeroMemory(&osvi, sizeof(OSVERSIONINFO)); osvi.dwOSVersionInfoSize = sizeof(OSVERSIONINFO); GetVersionEx(&osvi);根据osvi的两个变量dwMajorVersion,原创 2017-02-20 11:55:49 · 7293 阅读 · 0 评论 -
MFC Picture Control显示OpenCV图像
MFC Picture Control显示OpenCV图像flyfish 头文件CImage* m_mfcImg;IDC_STATIC_IMAGE是picture control的ID实现文件窗口初始化,在类的初始化列表中初始化指针m_mfcImg为nullptr CRect rect; GetDlgItem(IDC_STATIC_IMAGE)->GetClientRect(&rect原创 2016-12-06 21:45:24 · 2260 阅读 · 0 评论 -
MFC中使用duilib
MFC中使用duilibflyfishMFC为框架,以duilib美化界面 MFC窗口是父窗口,duilib窗口作为其子窗口下载地址DuiLib_Dialog头文件#pragma onceclass DuiLib_Dialog:public CWindowWnd, INotifyUI {public: DuiLib_Dialog(void); ~DuiLib_Dialog(v原创 2017-10-18 15:35:18 · 1280 阅读 · 0 评论 -
VC++2005 MFC 编程-对话框的菜单操作
VC++2005 MFC 编程-对话框的菜单操作 作者:邵盛松 2008年10月12日 晚 在VC++2005为Dialog添加菜单是很简单的事情在资源视图中添加一个菜单资源,资源ID为 IDR_MENU_MAIN菜单为"文件","文件"的下级菜单是ID_OPEN.选中"打开菜单右键单击,添加事件处理程序.消息类型是COMMAND,类列表选择对话框类(C*Dlg,原创 2008-10-12 20:15:00 · 1905 阅读 · 1 评论 -
VC++2005 编写只有资源文件的DLL及其调用方法
VC++2005 编写只有资源文件的DLL及其调用方法作者:邵盛松 2009年5月2日目的:将图片,图标等存入 DLL中,然后在其他程序中调用本文示例是将bitmap文件添加到dll中然后在dll中调用第一步:建立DLL文件步骤:1 点击菜单-文件-新建项目-项目类型选择Win32-模版选择Win32项目。2 在向导中应用程序类型选择DLL,附加选项选择空3添加资源文件,在解决方原创 2009-05-02 02:49:00 · 3343 阅读 · 2 评论 -
MFC对话框处理滚动条
MFC对话框处理滚动条flyfish头文件//成员变量 //在资源视图中看到的对话框的大小 CRect m_rectOriginal; // 鼠标拖拽 BOOL m_bDragging; CPoint m_ptDragPoint; // 滚动条实际位置 int m_nScrollPos; // 对话框实际高度 i原创 2017-05-23 14:51:20 · 6028 阅读 · 0 评论 -
MFC 动态增加按钮并响应消息
MFC 动态增加按钮并响应消息flyfish窗口头文件afx_msg void OnBnClickedButton(UINT nID);#define IDC_BUTTON_BEGIN WM_USER + 1000#define IDC_BUTTON_END IDC_BUTTON_BEGIN+10窗口实现文件部分 消息映射部分ON_COMMAND_RANGE原创 2018-01-20 15:41:06 · 885 阅读 · 0 评论 -
MFC RichEdit
MFC RichEditflyfish资源窗体 增加Rich Edit 2.0 Control初始化BOOL CMFCApplicationApp::InitInstance(){//TODO: call AfxInitRichEdit2() to initialize richedit2 library.AfxInitRichEdit2();}头文件内容//控件绑定变量 CRich原创 2017-07-24 19:24:38 · 1157 阅读 · 0 评论 -
VC编写服务器转发式的聊天室
VC编写服务器转发式的聊天室2009-9-11 本文参考了 Visual C++6.0完全自学手册 中的示例一 流程说明客户端客户端创建流式套接字调用Connection向服务器发送连接请求连接成功后使用创建与之关联的的CSocketFile对象和CArchive对象使用CArchive对象在客户端和服务器之间传送数据结束之后释放CSocketFile对象,CArchive对象,CSoc原创 2009-09-11 01:43:00 · 2167 阅读 · 0 评论 -
MFC ODBC类 Access数据库的操作
MFC ODBC类 Access数据库的操作2008年11月17日新建一个Access数据库,数据库名是data.mdb新建一个表Ttest,两个字段ID,name表内容如下ID name1 xxx2 yyy3 zzz目的:根据ID的值,查找出对应的name字段的值 需要头文件 "afxdb.h"char* old_locale = _strdup( setlocale(LC_C原创 2008-11-17 09:17:00 · 2194 阅读 · 0 评论 -
VC实现复制粘贴字符串
VC实现复制粘贴字符串环境:Unicode字符集flyfish将字符串拷贝到剪切板CString str = L"需要拷贝的内容"; if (OpenClipboard()) { EmptyClipboard(); size_t cbStr = (str.GetLength() + 1)*sizeof(TCHAR); HGLOBAL h原创 2017-08-18 10:27:32 · 2298 阅读 · 0 评论 -
VC获取默认浏览器
VC获取默认浏览器flyfish注册表位置如下项名称: HKEY_CLASSES_ROOT\http\shell\open\command 类别名: <无类别> 值 0 名称: 类型: REG_SZ 数据: “C:\Program Files\internet expl原创 2017-11-02 17:37:41 · 1334 阅读 · 0 评论 -
VC++2005MFC -中文文本操作
VC++2005MFC -中文文本操作 作者:邵盛松 2008年10月16日星期四 1使用CFile的派生类CStdioFile对文本进行按行操作,使用Unicode支持FileLog.Open(_T("Log.txt"),CFile::modeCreate|CFile::modeNoTruncate|CFile::modeReadWrite|CFile::typeText ,原创 2008-10-16 15:53:00 · 1294 阅读 · 0 评论 -
MFC 子窗体响应鼠标滚轮消息
MFC 子窗体响应鼠标滚轮消息flyfish在父窗口重写 PreTranslateMessage BOOL CDlgX::PreTranslateMessage(MSG* pMsg){ if ( pMsg->message == WM_MOUSEWHEEL) { POINT pos; GetCursorPos(&pos); pMsg->原创 2017-02-16 14:35:25 · 7759 阅读 · 0 评论 -
Visual C++ 2005 MFC 编程(一)
Visual C++ 2005 MFC 编程(一)作者:邵盛松 2009年5月14日1 在Dialog上画线添加窗口WM_PAIN消息在OnPaint()函数中,添加如下代码 CPaintDC dc(this); // device context for painting // TODO: 在此处添加消息处理程序代码 CDC* pDC=GetDC(); CPen P原创 2009-05-14 17:46:00 · 1337 阅读 · 0 评论 -
在固定位置创建子窗口,点击父窗口自动隐藏子窗口
<br /><br />在固定位置创建子窗口,点击父窗口自动隐藏子窗口<br /><br />邵盛松 2010年12月8日星期三<br /><br />一前言<br /><br />下载地址http://download.csdn.net/source/2892918<br />在父窗口上点击按钮,在按钮的下方创建子窗口,按钮和子窗口左对齐。处理父窗口的WM_MOVE消息,子窗口跟随父窗口移动。<br />二函数说明<br />有几个函数先说明一下<br />GetWindowRect()返回窗口的原创 2010-12-08 20:38:00 · 3547 阅读 · 0 评论 -
VC远程调试
VC远程调试flyfish目的:在其他机器上调试程序本机环境配置Win7 64位,VS2013 远程机器环境1 需要一个共享目录。因为配置VS生成的exe,pdb文件自动部署到这个目录,不需要手工拷贝。 2 远程调试工具. 可以从VS的安装目录中拷贝 x:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\Remote Deb原创 2016-03-31 10:20:44 · 2106 阅读 · 0 评论 -
MFC Tab Control 选项卡
MFC Tab Control 选项卡flyfish头文件 CTabCtrl m_tab; CDlg1* m_pDlg1; CDlg2* m_pDlg2; afx_msg void OnTcnSelchangeTab1(NMHDR *pNMHDR, LRESULT *pResult); afx_msg void OnDestroy();实现文件初始化 m_ta原创 2016-11-14 14:36:11 · 1358 阅读 · 0 评论 -
MFC判断鼠标坐标是否在控件内
MFC判断鼠标坐标是否在控件内flyfish在对话框中重写函数PreTranslateMessageif (pMsg->message == WM_MOUSEMOVE){ CRect rect; control.GetWindowRect(&rect); CPoint pt; GetCursorPos(&pt); if原创 2016-03-09 18:17:47 · 8324 阅读 · 0 评论 -
VC++ 创建进程并等待其退出
VC 创建进程并等待其退出flyfish CString s = L"C:\\test.exe"; STARTUPINFO si; ZeroMemory(&si, sizeof(si)); si.cb = sizeof(si); si.wShowWindow = SW_HIDE; PROCESS_INFORMATION pi; ZeroMemory(原创 2016-10-21 16:32:44 · 2920 阅读 · 0 评论 -
vc++2005 操作word2003
vc++2005 操作word2003 作者:邵盛松 2009年3月21日从解决方案资源管理器或者类视图中添加类,选择添加 TypeLib中的MFC 类。从文件找到office11目录下msword.olb文件,添加所有的类,因为暂时不清都需要添加哪些,所以都添加了。这时候会在项目中添加N多类。CApplication类对应Application对象,获取wordApplication对象,可以控原创 2009-03-21 03:15:00 · 2442 阅读 · 4 评论