MFC
《c++徒步》MFC篇——消息映射机制
MFC消息映射机制 什么是消息映射机制? MFC使用消息映射机制来处理消息,引入了消息映射表的概念,表中存消息和消息处理函数及二者对应关系。当鼠标点击事件发生时,会产生对应消息,然后去消息映射表中查找对应的消息处理函数并执行。 什么是句柄? 句柄相当于一个编号,Windows对于我们来说相当于一个黑 ......
MFC-GetActiveWindow获取活动窗口的句柄
// GetActiveWindowDlg.cpp: 实现文件 // #include "pch.h" #include "framework.h" #include "GetActiveWindow.h" #include "GetActiveWindowDlg.h" #include "afxd ......
MFC-ASSERT条件为真继续执行,条件为假中断执行
CString str; int i = 10; ASSERT(i==10); //条件为真继续执行,条件为假中断执行 str.Format(_T("i=10为真")); ::OutputDebugString(str); //ASSERT(i < 10); str.Format(_T("i<10为 ......
CppSQLite3 的MFC 桥接
因为工作原因需要在MFC中使用SQLite,历史原因只能使用C++11,C++20的新特性都用不上,好在有boost,对CppSQLite3 进行了桥接,并且简化了使用方式 1 //头文件 2 #include <memory> 3 #include <unordered_map> 4 #inclu ......
MFC-IsIconic判断窗口是否最小化
HWND hWnd = NULL; UINT func1(LPVOID pParam) //线程函数 { BOOL bb; for (int i = 0; i < 1000; i++) { bb = IsIconic(hWnd);//判断窗口是否最小化 /* 参数1:HWND hWnd 窗口句柄 返 ......
MFC-GetMainWnd获取主窗口指针
CWinApp* pwin = NULL; void CAfxGetAppDlg::OnBnClickedButton1() { // TODO: 在此添加控件通知处理程序代码 pwin= AfxGetApp();//获取当前应用进程的指针 CWnd* pWnd = pwin->GetMainWnd ......
MFC-AfxGetMainWnd获得当前线程句柄
HANDLE handle = NULL; HANDLE handle1 = NULL; pwin = AfxGetApp(); handle=AfxGetApp()->m_pMainWnd;//获得主线程的句柄 CString str; str.Format(_T("主线程句柄=%d\r\n"), ......
MFC-AfxGetApp获取当前进程的指针
CWinApp* pwin = NULL; void CAfxGetAppDlg::OnBnClickedButton1() { // TODO: 在此添加控件通知处理程序代码 pwin= AfxGetApp();//获取当前应用进程的指针 //确切的说是获取由CWinApp派生出类的对象 //通过 ......
MFC-RegisterWindowMessage给窗口增加一个消息
UINT showMyAppMsg = RegisterWindowMessage(_T("MYAPP_SHOW"));//给窗口增加一个消息 /* 定义一个新的窗口消息,保证该消息在系统范围内是唯一的。通常调用SendMessage或者PostMessage函数时,可以使用该函数返回的消息值 参数 ......
MFC-FrameRect绘制矩形边框
HDC hdc = ::GetDC(m_hWnd); RECT rect = { 10,10,50,100 }; HBRUSH hbr; hbr = CreateSolidBrush(RGB(255, 0, 0)); int f = FrameRect(hdc, &rect, hbr);//绘制矩形 ......
MFC-FillRect绘制并填充矩形
HDC hdc = ::GetDC(m_hWnd); RECT rect = { 10,10,50,100 }; HBRUSH hbr; hbr = CreateSolidBrush(RGB(255, 0, 0)); SelectObject(hdc, hbr); int f= FillRect(h ......
MFC-Rectangle绘制矩形
HDC hdc = ::GetDC(m_hWnd); ::MoveToEx(hdc, 0, 0, NULL); HPEN hpen = CreatePen(PS_SOLID, 3, RGB(0, 0, 255)); SelectObject(hdc, hpen); BOOL b=Rectangle( ......
《c++徒步》MFC篇——新建MFC项目
VS2008新建MFC 原文链接:https://www.likecs.com/show-454706.html VS2008创建MFC程序 1.点击菜单栏 文件->新建->项目 选择MFC应用程序 MFC ActiveX 控件用来生成MFC ActiveX控件程序。 MFC应用程序用来生成MFC应 ......
MFC-GetProp获取属性的数据
HANDLE h = GetProp(m_hWnd, g_szPropName);//获取属性的数据 /* 参数1:HWND hWnd 窗口句柄 参数2:LPCTSTR lpString 属性 返回值:HANDLE 成功返回属性的数据。否则,返回值为NULL */ ......
《c++徒步》MFC篇——MFC基础知识
MFC简介 原文链接:https://www.cnblogs.com/zhouwanqiu/p/6914090.html 1、什么是MFC? 全称:Microsoft Foundation Class Library(微软基础类库) 1-MFC从硬盘存在形式来说就是一个库(静态MFC库、动态MFC库 ......
MFC-RemoveProp删除窗口属性
HANDLE h=::RemoveProp(m_hWnd, g_szPropName);//删除窗口属性 /* 从窗口属性表中删除一个属性 参数1:HWND hWnd 窗口的句柄 参数2:LPCTSTR lpString 要删除的属性 返回值:成功返回属性的数据;失败返回值为NULL */ ......
MFC-SetProp给指定窗口增加或修改一个属性
TCHAR g_szPropName[] = _T("{0736D43A-ACCD-4C43-8CFB-0D83E11E795C}");//要增加的属性 //尽量采用GUID,防止重合 HANDLE g_hValue = (HANDLE)19680104;//属性数据 //可以任意数据强转成HAND ......
MFC-ExitProcess结束进程
ExitProcess(0);//结束调用的进程及其所有的线程 //参数:退出代码 //返回值:此函数没有返回值 ......
MFC-画刷
在GDI中,用HBRUSH来表示画刷。H是代表句柄的意思。 在GDI中,填充矩形,填充圆,填充饼等以及刷窗口背景都是通过画刷来操作的。 GDI默认的画刷是白色的画刷 WIN32 MFC ......
MFC-GDI和GDI+
设备环境DC的概念: 设备环境DC(Device Context又称为设备上下文,也称为设备描述表)。它是一个关于如何绘制图形的方法的集合,它既可以绘制各种图形,也可以确定在应用窗口中绘制图形的方式,就是绘图模式和映射模式。 在Win32编程中,设备环境是用HDC来标识。H的意思Handle句柄的意 ......
mfc只运行一个实例
MFC中可以通过以下步骤实现只运行一个实例: 定义一个唯一的标识符,在应用程序的头文件中声明: #define SINGLE_INSTANCE_GUID "{12345678-1234-5678-9012-345678901234}" 在InitInstance()函数中,创建一个互斥体并检查互斥体 ......
MFC-PostThreadMessage向指定线程发送消息
#define WM_MyMessage (WM_USER+100) //自定义消息号 UINT funcw(LPVOID pParam) //写线程 { DWORD ID = (DWORD)pParam; //获取读线程ID int n = 0; for (int i=0;i<1000;i++) ......