
MFC操作相关
a550853006a
这个作者很懒,什么都没留下…
展开
-
MFC - 切换进程当前的工作目录
1.先获取当前进程的工作目录#define LINESIZE 255char szCfgPath[LINESIZE];GetCurrentDirectory(LINESIZE,szCfgPath);2.在进行完某些操作时,需要启动其他exe程序,再设置一下工作目录SetCurrentDirectory(szExePath);原创 2016-01-25 13:12:21 · 1009 阅读 · 0 评论 -
MFC - 使用属性页表单
首先插入IDD_PROPPAGE_LARGE资源创建类CPropertyPage创建属性页表单CPropertySheet,在头文件中创建CPropertyPage变量,在构造函数中加载属性页AddPage(&Page1);去掉帮助、应用按钮CPropertySheet构造函数中添加:this->m_psh.dwFlags &= ~(PSH_HASHELP);Page1原创 2015-05-15 16:47:54 · 522 阅读 · 0 评论 -
MFC - EXCEL表格
以VS2010/EXCEL2007为例进入类向导 - 类型库中的MFC类...在 可用的类型库 中选择 Microsoft Excel 12.0 Object Library分别添加 _Application_WorkbookWorkbooks_WorksheetWorksheetsRange添加的时候最好把类名改下以免发生冲突,默认情况下添加好的类名是原创 2015-05-13 15:23:44 · 844 阅读 · 0 评论 -
MFC - 创建工具栏(图文混合)
CImageList m_imagelist;//图片列表CToolBar m_toolbar;//工具栏m_imagelist.Create(32,32,ILC_COLOR24|ILC_MASK,1,1);CBitmap bmp;for(int i=0;i{bmp.LoadBitmapW(IDB_BITMAP1+i);//加载工具栏上面的图片m_imagelist原创 2015-05-02 00:36:10 · 404 阅读 · 0 评论 -
MFC - 增加菜单栏
1.首先添加菜单栏资源。2.然后在对话框的属性中选择Menu,值设置成菜单栏ID。3.这样菜单栏就自动被创建显示了。原创 2015-05-02 00:27:23 · 473 阅读 · 0 评论 -
MFC - 屏蔽回车和ESC键
//添加重载函数PreTranslateMessageBOOL CClientDlg::PreTranslateMessage(MSG* pMsg){// TODO: 在此添加专用代码和/或调用基类if(pMsg->message==WM_KEYDOWN){int nVirtKey = (int)pMsg->wParam;if(nVirtKey==VK_RETURN |原创 2015-05-02 00:46:16 · 417 阅读 · 0 评论 -
MFC - 窗口的右键菜单
1.插入菜单资源;2.响应窗口的右键事件;CMenu menu; POINT pt = {0}; GetCursorPos(&pt);//得到鼠标点击位置 menu.LoadMenu(IDR_MENU1);//菜单资源ID menu.GetSubMenu(0)->TrackPopupMenu(0,pt.x,pt.y,this);3.通过类向导添加子菜单的响应函数;原创 2015-05-12 14:12:51 · 358 阅读 · 0 评论 -
MFC - CIPAddressCtrl用法
DWORD IP;((CIPAddressCtrl*)this->GetDlgItem(IDC_IPADDRESS1))->GetAddress(IP);原创 2015-05-04 17:20:17 · 820 阅读 · 0 评论 -
MFC - CComboBox用法
CComboBox* m_combox;m_combox = (CComboBox*)(this->GetDlgItem(IDC_COMBO1));m_combox->AddString(L"C盘");m_combox->AddString(L"D盘");m_combox->AddString(L"E盘");m_combox->AddString(L"F盘");m_comb原创 2015-05-04 17:12:37 · 562 阅读 · 0 评论 -
MFC - 文件发送接收
//FileSend.h文件发送类#pragma onceclass CFileSend{public: CFileSend(void); ~CFileSend(void);public: SOCKET coket; CFile file;public: char* UnicodeToAnsi( const wchar_t* szStr ); void CreateSoc原创 2015-05-12 17:45:46 · 1532 阅读 · 0 评论 -
MFC - 菜单按钮
1.在界面上拖放菜单按钮;2.创建菜单按钮对象;CMFCMenuButton m_btn13.创建菜单资源;CMenu* menuDel->LoadMenu(IDR_MENU1);m_btn1.m_hMenu = menuDel->GetSubMenu(0)->GetSafeHmenu();m_btn1.m_bOSMenu = FALSE;4.响应菜单按钮左键单击事件;原创 2015-05-12 13:51:52 · 1071 阅读 · 0 评论 -
MFC - 创建状态栏
CStatusBar m_statusbar; //创建状态栏BOOL hbar = m_statusbar.Create(this);UINT b[2]={1009,1010};hbar = m_statusbar.SetIndicators(b,2);m_statusbar.SetPaneInfo(0,b[0],SBPS_NORMAL,400);m_statusbar.Se原创 2015-05-02 00:40:33 · 446 阅读 · 0 评论 -
获取时间
#include #include struct _timeb timebuuef;_ftime(&timebuuef);__int64 endTime = timebuuef.time*1000 + timebuuef.millitm;js方法:var t = new Data().getTime原创 2015-04-21 17:53:25 · 261 阅读 · 0 评论 -
MFC - CTreeCtrl操作
1.将CTreeCtrl控件拖入对话框中,并创建变量m_tree,然后设置属性Has Buttons :TrueHas Lines :TrueLines At Root :True2.在CDialog头文件中加入HTREEITEM activeItem; //活动子项HTREEITEM activeparentItem; //活动父项3.在CDialog初始化OnInitDi原创 2015-05-16 23:34:44 · 635 阅读 · 0 评论 -
MFC - 查看操作进程
#include原创 2016-01-25 12:54:18 · 744 阅读 · 0 评论 -
MFC创建工作者线程
HANDLE handle = ::CreateThread(NULL,0,线程函数名,线程函数参数,0,NULL); ::CloseHandle(handle); 该方法采用win32函数来创建线程,线程函数参数可以采用结构体。原创 2014-12-24 17:46:57 · 515 阅读 · 0 评论 -
win32网络编程【UDP】
//初始化套接字库 流式套接字 接收端WSADATA wsaData;BOOL ret = WSAStartup(MAKEWORD(2,2), &wsaData);if(ret != 0){MessageBox(_T("初始化网络协议失败!"));return FALSE;}SOCKET m_Socket = ::socket(AF_INET,SOCK_S原创 2015-05-04 16:53:09 · 476 阅读 · 0 评论 -
MFC数据库操作 - 连接退出
首先进行com组件的初始化_ConnectionPtr m_pConnection;HRESULT hr;try{hr = m_pConnection.CreateInstance(__uuidof(Connection));if (SUCCEEDED(hr)) {//_bstr_t connectStr = _T("Provider=SQLNCLI;Server=19原创 2015-04-08 23:49:43 · 853 阅读 · 0 评论 -
【操作案例】CListCtrl
1.首先从CListCtrl派生我们自己的类CMylist、并创建一个 对象 CMylist* m_list;2.实例化并创建窗口m_list = new CMylist();m_list->Create(WS_VISIBLE | WS_CHILD | WS_VSCROLL | LVS_REPORT | WS_BORDER ,CRect(60,200,900,550),this原创 2014-12-20 17:28:34 · 503 阅读 · 0 评论 -
MFC - 发送自定义消息
1.自定义消息:#define WM_COUNT_MSG WM_USER+100 2.添加消息处理函数的声明 afx_msg LRESULT OnCountMsg(WPARAM,LPARAM);3.消息映射表中加入自定义消息映射 ON_MESSAGE(WM_COUNT_MSG,OnCountMsg)4.消息响应函数的具体实现LRESULT CMSGDlg::OnCountMs原创 2015-07-09 09:17:10 · 518 阅读 · 0 评论 -
MFC - 获取CPU唯一标识符
CString GetCPUid(){ // TODO: 在此添加控件通知处理程序代码 unsigned long s1,s2,s3,s4; __asm { mov eax,00h xor edx,edx cpuid mov s1, edx mov s2, eax } __asm { mov eax,01h xor ec原创 2015-06-09 17:06:35 · 3692 阅读 · 0 评论 -
MFC - 定时器
使用定时器共分两步1.调用CWnd类的成员函数 SetTimer(20001,3000,NULL);20001为定时器的ID号,3000为时间间隔单位是毫秒,NULL表示这里的回调函数为空。2.响应WM_TIMER消息void CzihuiDlg::OnTimer(UINT_PTR nIDEvent){ // TODO: 在此添加消息处理程序代码和/或调用默认值 this->Mes原创 2015-05-26 14:20:54 · 342 阅读 · 0 评论 -
MFC - 点击拖动窗口
#define SC_DRAGMOVE 0xF012void Ctest110Dlg::OnLButtonDown(UINT nFlags, CPoint point){ // TODO: 在此添加消息处理程序代码和/或调用默认值 SendMessage(WM_SYSCOMMAND,SC_DRAGMOVE,0);//拖动窗口 CDialogEx::OnLButtonDo原创 2015-05-22 13:27:34 · 684 阅读 · 0 评论 -
MFC - Tab控件操作
1.拖拽tab控件2.对话框类中增加tab控件变量3.插入两个对话框资源 将属性style :childborder :none4.为新创建的两个对话框创建变量(需要先创建对话框类才能创建对话框变量)5.在主对话框OnInitDialog()内加入 m_tab.InsertItem(0,_T("登记入库"),0); m_tab.InsertItem(1,L"参数二",1);原创 2015-05-18 00:26:14 · 421 阅读 · 0 评论 -
读写INI文件
//写入BOOL reb = WritePrivateProfileString(L"节名字",L"键名",L"键名的值",L"我的INI文件.ini");//读取CString strbuf;reb = GetPrivateProfileString(L"节名字",L"键名",L"没有指定的值",strbuf.GetBuffer(MAX_PATH),MAX_PATH,L"我的INI文件原创 2015-06-16 22:42:26 · 361 阅读 · 0 评论 -
MFC - 消除警告
#pragma warning ( disable : 警告号码)原创 2015-05-02 15:09:29 · 664 阅读 · 0 评论 -
MFC数据库操作 - 增加新记录
使用记录集对象添加记录:BOOL CRentDVDDlg::RentDVDByRecordset(CString& strDVDID, CString& strRentName, CString& strRentDate){BOOL bRet = FALSE;_RecordsetPtr pRentRecordset;pRentRecordset.CreateInstance(_原创 2015-04-09 23:24:46 · 1055 阅读 · 0 评论 -
双缓冲绘图
CDC pDC;//内存DCCDC* hDC = GetDC();//当前环境DCCBitmap m_Bit;//内存画板pDC.CreateCompatibleDC(hDC);//创建一个与当前DC兼容的内存DCm_Bit.CreateCompatibleBitmap(hDC,100,100);//创建一个与当前DC兼容的画板pDC.SelectObject(&m_Bit原创 2015-02-25 14:51:41 · 289 阅读 · 0 评论 -
【动态】CStatic显示图片
CImage img;img.Load(L"E:\\LOGO.png");m_static->Create(L"",WS_CHILD|WS_VISIBLE|SS_BITMAP,CRect(10,10,20,20),ParentWnd,66666);m_static->SetBitmap(img.Detach());原创 2015-02-24 13:08:19 · 646 阅读 · 0 评论 -
CImage修改图片大小
CImage imSrc,imDest;imSrc.Load(L"E:\\BT_BOX.png");imDest.Create(60,19,32);imSrc.StretchBlt(imDest.GetDC(),CRect(0,0,60,19),CRect(0,0,60,19));imDest.ReleaseDC();第一个CRect对象表示目标图片的大小,第二个CRect对象原创 2015-02-24 16:30:54 · 2857 阅读 · 0 评论 -
CFlie操作-读与写
char m_FileText[10000]={0};CString m_NewText;CFile m_File;BOOL reBol = m_File.Open(dlg->m_FilePath[m], CFile::modeReadWrite,NULL);m_File.Flush();int a = (int)m_File.GetLength();m_File.Seek原创 2015-02-11 16:13:28 · 860 阅读 · 0 评论 -
【文件遍历】如何遍历一个文件夹中的文件呢
CFileFind find;BOOL i = find.FindFile(L"F:\\文章\\*.*");/find.FindNextFile();find.FindNextFile();CString str;int n=0;while(i){i = find.FindNextFile();str = find.GetFileName();n++原创 2014-12-20 17:01:10 · 296 阅读 · 0 评论 -
如何只读取文件的一行内容
CStdioFile mFile; BOOL bRet = mFile.Open(strPath, CFile::modeRead); if (!bRet) { MessageBox(_T("用户配置文件打开失败!"), _T("提示"), MB_OK); return;原创 2014-12-24 17:38:57 · 574 阅读 · 0 评论 -
如何创建CView
CMyView* m_pView,m_pView2; CCreateContext cxt; cxt.m_pCurrentDoc = NULL; cxt.m_pCurrentFrame = (CFrameWnd *)this; cxt.m_pLastView = NULL; cxt.m_pNewDocTemplate = NULL; cxt.m原创 2014-12-30 23:17:10 · 775 阅读 · 1 评论 -
OnMouseHover 与 OnMouseLeave
void CMyButton::OnMouseMove(UINT nFlags, CPoint point){ // TODO: 在此添加消息处理程序代码和/或调用默认值 TRACKMOUSEEVENT tme; tme.cbSize = sizeof(tme); tme.hwndTrack = m_hWnd; tme.dwFlags = TME_LEAVE|TME_HOVER; t原创 2014-12-31 00:17:06 · 794 阅读 · 0 评论 -
CArray用法
#include CArray m_array;//第一个参数是数组类型,第一个参数是数组值的类型m_array.SetSize(0);m_array.Add(str);CString m_str = m_array[0];原创 2015-01-15 12:01:40 · 591 阅读 · 0 评论 -
CFileDialog文件保存对话框用法
CString sFileName;CFileDialog dlg(FALSE, L"txt", sFileName,OFN_OVERWRITEPROMPT|OFN_HIDEREADONLY,L"文本文件(*.txt)|*.txt||", this);dlg.m_ofn.lpstrTitle = _T("保存文件");if (dlg.DoModal() == IDOK){原创 2015-01-16 16:37:31 · 722 阅读 · 0 评论 -
屏幕截图
CDC *pDC=CDC::FromHandle(::GetDC(NULL));//获取整个屏幕的DCint Width= pDC->GetDeviceCaps(HORZRES);//获取当前屏幕的宽度int Hight= pDC->GetDeviceCaps(VERTRES);//获取当前屏幕的高度CDC memDC;memDC.CreateCompatibleDC(pDC);/原创 2015-03-02 15:08:41 · 332 阅读 · 0 评论 -
MFC-临界区
CCriticalSection g_criSection;//临界区CWinThread* funone;CWinThread* funtwo;UINT FunOne(LPVOID pParam){ //给数组赋值g_criSection.Lock();//给所有使用的资源上锁for(int i =0; i g_charArray[i] = 'S';}g_cr原创 2015-03-30 14:57:15 · 424 阅读 · 0 评论 -
MFC - 复制内容到剪切板
CString source = _T("我是谁"); GetDlgItemText(IDC_EDIT1,source); //put your text in source if(OpenClipboard()) { HGLOBAL clipbuffer; char * buffer; EmptyClipboard(); char* src = UnicodeTo原创 2015-04-16 22:19:41 · 2686 阅读 · 0 评论