![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
MFC
leiSniper
这个作者很懒,什么都没留下…
展开
-
vc 线程创建关闭(彻底讲解)
★两套API :OS API vs CRT API 本来照例要先介绍线程的几种死法,但是考虑到很多Windows程序员经常混淆线程API,搞不清楚到底该用哪个。所以先来说一下两套线程API的问题。 首先,Windows操作系统本身提供了线程的创建函数CreateThread 和销毁函数ExitThread 。其中的CreateThread 用于创建线程,ExitThread 用转载 2014-08-12 12:35:39 · 1328 阅读 · 0 评论 -
MFC截屏、绘制并复制到剪切板
CDC* pScreenDc = CDC::FromHandle(::GetDC(NULL)); //屏幕DC CDC memDc; // 内存DC CBitmap memBmp; CBitmap* pOldBmp; int cx = GetSystemMetrics(SM_CXSCREEN); int cy = GetSystemMetrics(SM_CYSCREEN); memDc原创 2015-09-01 17:10:40 · 1755 阅读 · 0 评论 -
MFC combbox级联使用
combbox的级联使用,当选择一个combbox的时候,例外一个combbox根据第一个选择变化而变化1. 新建一个基于对话框的MFC工程,在对话框上添加两个combbox控件2. 对combox控件添加对象的变量,这里为m_combProv 和 m_combCity,另外还需要个结构体来放置内容std::multimap m_mumapCity;(需要包含map头文件)3 添加第一原创 2015-06-15 09:40:56 · 1301 阅读 · 0 评论 -
PreTranslateMessage作用和使用方法
在转载的基础上添加了一些自己的新东西进去PreTranslateMessage是消息在送给TranslateMessage函数之前被调用的,绝大多数本窗口的消息都要通过这里,比较常用,当需要在MFC之前处理某些消息时,常常要在这里添加代码. MFC消息控制流最具特色的地方是CWnd类的虚拟函数PreTranslateMessage(),通过重载这个函数,可以改变MFC的消息控转载 2015-06-04 16:04:18 · 848 阅读 · 0 评论 -
mfc判断组合键和大小写开关
判断组合键可以在PreTranslateMessage虚函数中完成,也可以在wm_keydown中wm_syskeydown(主要处理alt键)中eg:SHORT GetKeyState( int nVirtKey ); 函数的使用详见MSDN在PreTranslateMessage(MSG* pMsg)中判断是否同时按下“ctrl+L”或者“Alt+L”:原创 2015-06-04 16:50:49 · 1301 阅读 · 0 评论 -
MFC在MM_ANISOTROPIC映射模式下使用双缓冲
OnPrepareDC(CDC* pDC, CPrintInfo* pInfo)设置映射模式pDC->SetMapMode(MM_ANISOTROPIC); CRect rcClient; GetClientRect(rcClient); int cx = rcClient.Width(); int cy = rcClient.Height(); pDC->SetViewp原创 2015-03-24 11:09:44 · 1540 阅读 · 0 评论 -
MFC 消息映射 消息传递MESSAGE_MAP 读深入浅出MFC感悟
三种消息 标准的windows消息如WM_PAINT 命令消息(菜单和工具栏)WM_COMMAND 通知消息(对话框函数中)WM_NOTIFY(Windows9x新控件不在发送WM_COMMAND,而是发送WM_NOTIFY,但之前的旧控件如edit listbox combobox仍然发WM_COMMAND)原创 2015-01-24 22:07:38 · 3860 阅读 · 0 评论 -
MFC中三个重要的宏
DELCARE_DYNAMIC(class) IMPLEMENT_DYNAMIC(class, classBase)DELCARE_DYNAMIC(class) 主要用于声明CRunTimeClass结构,和获取CRunTimeClass指针,完成RTTI#define DECLARE_DYNAMIC(className)\public:\ static CRuntime原创 2015-01-22 22:00:22 · 671 阅读 · 0 评论 -
逻辑坐标(窗口) 设备坐标(视口)
"窗口"依赖于逻辑坐标,可以是像素点、毫米或程序员想要的其他尺度。"视口"依赖于设备坐标(像素点)1. Windows都用下面两个公式将窗口坐标转换成视口坐标: xViewport=(xWindow-xWinOrg)*(xViewExt/xWinExt)+xViewOrg yViewport=(yWindow-yWinOrg)*(yViewExt/yWinExt)+原创 2015-01-21 10:15:09 · 772 阅读 · 0 评论 -
windows 屏幕坐标 窗口坐标 客户区坐标 逻辑坐标 设备坐标之间的关系及转换
设置坐标映射 (1)Windows坐标系统Windows坐标系分为逻辑坐标系和设备坐标系两种,GDI支持这两种坐标系。一般而言,GDI的文本和图形输出函数使用逻辑坐标,而在客户区移动或按下鼠标的鼠标位置是采用设备坐标。逻辑坐标系是面向DC的坐标系,这种坐标不考虑具体的设备类型,在绘图时,Windows会根据当前设置的映射模式将逻辑坐标转换为设备坐标。设备坐标系是面向物理转载 2015-01-21 10:13:30 · 3981 阅读 · 0 评论 -
c++ 使用变量控制小数点位数
CString str;int n = 3;float f = 3.1415926;str.Format(_T("%%.%df"), n);str.Format((LPCTSTR)str, f);原创 2018-05-16 14:26:52 · 2200 阅读 · 0 评论