
MFC
BadgeZ
越努力,越幸运。
展开
-
MFC格式转换 UTF8 ANSI UNICODE
函数拿起来就可以用参数说明:sChartSet : FromANSI(ANSI->UNICODE) , ToANSI (UNICODE->ANSI) , FromUTF8 (UTF8->UNICODE) , ToUTF8 (UNICODE->UTF8)CString CSqlConTestDlg::UnicodeCovert(CString sSourceStr , CString sCh原创 2016-10-09 17:59:50 · 1243 阅读 · 0 评论 -
OCX控件ID对应关系的梳理
OCX的GUID对应关系梳理1. 注册表中的GUID{E0307BD0-8F81-4215-B33F-C468DDBF5C7C}2. OCX项目中的GUID1) xxxx.odl文件中: [uuid(E0307BD0-8F81-4215-B33F-C468DDBF5C7C), helpstring("ResOcxTest2 Con原创 2017-01-06 22:44:34 · 2882 阅读 · 0 评论 -
MFC CMap使用总结
//创建CMap//friend class CMap; //CMap原始定义CMap mapName;CString sName = _T("");int sScore = 0;for (int i = 0; i {sName.Format(_T("name_%d"), i);mapName.SetAt(i, sName);}CMap my_Map原创 2016-12-28 22:26:52 · 9196 阅读 · 0 评论 -
MFC CTreeView学习之右键菜单_获取选中节点的方式HitTest和GetSelectedItem的区别(二)
CPoint pt;UINT nFlags;GetCursorPos(&pt);::ScreenToClient(m_TreeCtrl->m_hWnd, &pt);HTREEITEM hItem2 = m_TreeCtrl->HitTest(pt, &nFlags); //获取选中节点 注:此处获取的是当前选中的节点CString sMsg;sMsg.Format(_原创 2017-01-04 22:47:44 · 3014 阅读 · 0 评论 -
MFC CTreeView学习之初始化(一)
m_TreeCtrl = &GetTreeCtrl();/*TVS_HASLINES 表示树控制在各子项之间存在连线;TVS_LINESATROOT 表示树控制在根项之间存在连线;TVS_HASBUTTONS 表示树控制视在父项左侧存在展开合拢控制按钮;TVS_EDITLABELS 表示可以控制鼠标单击修改树项的名称;TVS_SHOWSELALWAYS 表示选中项即使在窗口原创 2017-01-03 22:48:58 · 3383 阅读 · 1 评论 -
Windows7 64位系统中,读取注册表,文件路劲重定位解决方案
在Windows7 64位系统中,读取注册表,文件路劲会进行重定位。以下是解决办法://第一步:定义宏#define KEY_WOW64_64KEY (0x0100) //支持读写64位注册表LPCTSTR Test::GetKeyValue(){LPCTSTR sKeyVlaue = "";HKEY hKey;HKEY hKeyRoot = HKEY_LOCA原创 2016-12-16 23:06:43 · 1566 阅读 · 0 评论 -
string转换为CString
使用string需引用 如:#include "string"CString str;string s = "123";str = s.c_str(); //转换原创 2016-12-13 22:11:18 · 1943 阅读 · 0 评论 -
CRecordset::IsBOF和CRecordset::IsEOF区别
IsBOF作用:如果记录集定位于第一个记录之前,返回非零。此时没有当前记录。BOOL IsBOF( ) const;返回值:如果记录集没有记录,或者你已经向前游动到第一个记录之前,则返回非零;否则返回0.IsEOF作用:如果记录集定位到最后一个纪录之后,返回非零。此时,没有当前记录。BOOL IsEOF( ) const;原创 2016-10-11 23:11:44 · 1942 阅读 · 0 评论 -
MFC的EXE调用VBS,并获取VBS的返回值状态码
VBS代码:Dim ageage = 21WScript.Quit ageMFC的EXE代码://获取EXE同目录下的VBS文件 TCHAR szExeSelfPath[_MAX_PATH] = {0}; ::GetModuleFileName(NULL,szExeSelfPath,_MAX_PATH); CString strExeSelfPath = szExeSelfPath;原创 2016-10-09 17:58:43 · 1197 阅读 · 0 评论 -
根据不同的操作系统(64/32),设置文件以64位运行。又可解决问题:“试图加载不正确的程序”。
//button事件void CSqlConTestDlg::OnOK(){ CString strPath = "cmd.exe"; if(IsWow64()) { Wow64DisableWow64FsRedirection(NULL); } ST原创 2016-10-09 17:58:54 · 837 阅读 · 0 评论 -
MFC对XML的操作
1.项目中添加 #inport "MSXML4.dll" using namespace MSXML2;2.可以使用如下代码进行节点、属性等的添加 MSXML2::IXMLDOMDocumentPtr pDoc = NULL; //XML文档 MSXML2::IXMLDOMProcessingInstructionPtr pProInstruction = NULL;原创 2016-10-09 17:59:43 · 1275 阅读 · 0 评论 -
MFC数据类型总结
BOOL Boolean值 TRUE/FALSEBSTR 32-bit 字符指针BYTE 8-bit 整数 未带正负号COLORREF 32-bit 数值 代表一个颜色值DWORD 32-bit整数 未带正负号LONG 32-bit整数 带正负号LPARAM 32-bit数值 作为窗口函数或callback函数的一个参数LPCSTR 32-bit指针 指向一个常数字符串原创 2016-10-09 17:59:31 · 330 阅读 · 0 评论 -
MFC中UpdateData()函数的使用
把控件中的值和变量进行交换 比如你有个编辑框,输入了一些值,你的程序怎么得到呢;必须先调用这个(当然是 在用了ddx的情况) 反之控件的成员变量中的值也可以通过该函数自动显示到控件里面,根据传进来的是 true或者false当你使用了ClassWizard建立了控件和变量之间的联系后:当你修改了变量的值,而 希望对话框控件更新显示,就应该在修改变量后调用 UpdateData(FALSE)原创 2016-10-09 17:59:22 · 255 阅读 · 0 评论 -
要改变静态文本框的值,必须设置静态文本框控件的样式中(Notify通知)勾选
要改变静态文本框的值,必须设置静态文本框控件的样式中(Notify通知)勾选 CString str; if(GetDlgItem(IDC_NUMBER1)->GetWindowText(str),str == "Number1:") { GetDlgItem(IDC_NUMBER1)->SetWindowText("数值1:"); } else { GetDlgItem(IDC_NU原创 2016-10-09 17:59:20 · 807 阅读 · 0 评论 -
MFC对话框中的编辑控件的7种操作方式
//第一种方式 int num1,num2,num3; char ch1[10],ch2[10],ch3[10]; GetDlgItem(IDC_EDIT1)->GetWindowText(ch1,10); GetDlgItem(IDC_EDIT2)->GetWindowText(ch2,10);原创 2016-10-09 17:59:17 · 1966 阅读 · 0 评论 -
MFC关机函数
void CSqlConTestDlg::ReBootSys(){ static HANDLE hToken; static TOKEN_PRIVILEGES tp; static LUID luid; OpenProcessToken(GetCurrentProcess(),TOKEN_ADJUST_PRI原创 2016-10-09 17:59:04 · 1333 阅读 · 0 评论 -
MFC获取字符串长度的5种方法
char s1[] = "中文ABC";wchar_t s2[] = L"中文ABC"; 1.sizeof() /*获取字符数组的字节数(包括结束符0)*/ sizeof(s1) = 8;ANSI sizeof(s2) = 12;UNICODE2.strlen/wcslen /*采取0作为字符串的结束符,并返回不包括0在内的字符数目*/原创 2016-10-09 17:58:57 · 17961 阅读 · 0 评论