VC++
文章平均质量分 81
mailzst1
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
MFC模态窗口与非模态窗口之差异、及其兼容类
1.右上角“×”关闭按键会触发OnClose()事件。 2.如果没有重载OnCancel()或OnBnClickedCancel(),窗口为模态(this->m_nFlags的WF_MODALLOOP位为1)时,OnClose()会销毁窗口(this->m_nFlags置0);窗口为非模态(this->m_nFlags的WF_MODALLOOP位为0)时,OnClose()不会销毁窗口(窗口界面隐藏(可恢复),this->m_nFlags不变)。 3.如果有重...原创 2020-05-29 17:40:41 · 800 阅读 · 0 评论 -
Windows窗口消息大全
//////////////////////////////////////////////////////////////////////////#include "AFXPRIV.H"//消息值的定义来源#include "Dde.h"//DDE消息值的定义来源#include "CPL.H"//控制面板消息值的定义来源#include "WFEXT.H"//文件管理器的消息值...转载 2014-03-11 16:04:20 · 724 阅读 · 0 评论 -
如何终止线程的运行(C/C++)
想要终止线程的运行,可以使用以下方法: 1、线程函数返回(最好使用该方法)。 2、通过调用ExitThread函数,线程将自行撤消(最好不使用该方法)。 3、同一个进程或另一个进程中的线程调用TerminateThread函数(应避免使用该方法)。 4、ExitProcess和TerminateProcess函数也可以用来终止线程的运行(应避免使用该方法)。下面将详细介绍终止线程运行的方法:1-4...转载 2014-03-26 09:29:56 · 831 阅读 · 0 评论 -
CDC类及其函数
DC,即Device Context,设备上下文,或称设备环境。CDC类定义的是设备上下文对象的类。CDC对象提供处理显示器或打印机等设备上下文的成员函数,以及处理与窗口客户区对应的显示上下文的成员。通过CDC对象的成员函数进行所有的绘图。类对设备上下文操作提供了成员函数,处理绘图工具,安全型图形设备接口(GDI)对象收集,以及处理颜色和调色板。它还为获取和设置绘图属性、映射,处理视...转载 2014-03-29 16:37:29 · 1591 阅读 · 0 评论 -
获取wince系统内存使用状态
GlobalMemoryStatus,Win32 API函数。此函数用来获得当前可用的物理和虚拟内存信息,函数定义为:VOID GlobalMemoryStatus( LPMEMORYSTATUS lpBuffer );此函数无返回值,参数是一个指向名为MEMORYSTATUS的结构的指针。函数的返回信息会被存储在MEMORYSTATUS结构中。此函数用来替代用来支持16位...转载 2014-07-15 23:44:14 · 171 阅读 · 0 评论 -
获取WinCE进程的内存信息
//=====================================================================//TITLE:// 获取WinCE进程的内存信息//AUTHOR:// norains//DATE:// Wednesday 3- February-2010//Environment:// WINDOWS CE ...转载 2014-07-16 00:00:19 · 223 阅读 · 0 评论 -
[转载]TransparentBlt用法(转载)
原文地址:TransparentBlt用法(转载)作者:飞鸿踏雪TransparentBlt2010-04-03 21:41 透明位图的显示作者:王骏 下载本文 示例代码包含透明色的位图的绘制方法有多种,最简单的方法是调用现成的函数:TransparentBlt,也可以通过自己的代码实现类似 TransparentBlt的功能,实现过程也有两种形式,一种是事先做一张掩码位...转载 2014-07-20 10:17:59 · 397 阅读 · 0 评论 -
窗口和控件闪烁解决方案
对于MFC程序员来说做UI开发是痛苦的事情,不过大多数情况下我们都需要做这件事情,因为MFC自带的控件实在是太简陋了。这时候我们多半会涉及到自绘控件,随之而来的很可能就是窗口和控件的闪烁问题。这篇文章希望对MFC的窗口和控件闪烁问题做一个尽量全面的总结。 一、闪烁的原因 引起闪烁的原因很多,以至于网上有n多种解决闪烁问题的方法;如果你按照某一种方法做了仍然没有解决...转载 2014-03-01 11:44:15 · 1257 阅读 · 0 评论 -
VC 线程间通信
1.使用全局变量 实现线程间通信的方法有很多,常用的主要是通过全局变量、自定义消息和事件对象等来实现的。其中又以对全局变量的使用最为简洁。该方法将全局变量作为线程监视的对象,并通过在主线程对此变量值的改变而实现对子线程的控制。 由于这里的全局变量需要在使用它的线程之外对其值进行改变,这就需要通过volatile关键字对此变量进行说明。使用全局变量进行线程通信的方法非常简单,通过...转载 2014-02-28 14:09:47 · 184 阅读 · 0 评论 -
VC中获取窗口句柄的各种方法
AfxGetMainWndAfxGetMainWnd获取自身窗口句柄HWND hWnd = AfxGetMainWnd()->m_hWnd;GetTopWindow函数功能:该函数检查与特定父窗口相联的子窗口z序(Z序:垂直屏幕的方向,即叠放次序),并返回在z序顶部的子窗口的句柄。函数原型:HWND GetTopWindow(HWND hWnd);参数: hWnd:被查序的父窗口的句柄。...转载 2014-02-27 12:02:02 · 658 阅读 · 0 评论 -
AfxMessageBox和MessageBox区别
如果用MFC的话,请尽量使用afxmessagebox,因为这个全局的对话框最安全,也最方便。 但是在WIN32 SDK的情况下只能使用MESSAGEBOX。MessageBox()是Win32API函数.后者是mfc中的全局函数.在MFC中能用MessageBox()的地方都能用AfxMessageBox().afxmessagebox更多的时候是用于调试AfxMessage...转载 2014-01-09 11:08:47 · 131 阅读 · 0 评论 -
\r \n的区别
'\r'是回车,'\n'是换行,前者使光标到行首,后者使光标下移一格。通常用的Enter是两个加起来。下面转一篇文章。 回车和换行 “回车”(carriage return)和“换行”(line feed)这两个概念的来历和区别: 在计算机还没有出现之前,有一种叫做电传打字机(Teletype Model 33)的玩意,每秒钟可以打10个字符。但是它有一个问题,就是打完一行换行的时候,要用去...转载 2013-08-29 14:53:02 · 140 阅读 · 0 评论 -
VC无闪烁刷屏技术的实现
1 在实现绘图的过程中,显示的图形总是会闪烁,笔者曾经被这个问题折磨了好久,通过向高手请教,搜索资料,问题基本解决,现将文档整理出来以供大家参考.1.显示的图形为什么会闪烁我们的绘图过程大多放在OnDraw或者OnPaint函数中,OnDraw在进行屏幕显示时是由OnPaint进行调用的。当窗口由于任何原因需要重绘时,总是先用背景色将显示区清除,然后才调用OnPaint,而背景色往往与绘图...转载 2013-08-19 16:13:34 · 162 阅读 · 0 评论 -
#ifdef __cplusplus extern "C" { #endif”的定义的含义
看一些程序的时候老是有“#ifdef __cplusplusextern "C" {#endif”的定义,搞搞清楚是怎么回事:Microsoft-Specific Predefined Macros__cplusplus Defined for C++ programs only. 意思是说,如果是C++程序,就使用extern "C"{而这个东东,是指在下面的函数不使用的...转载 2013-02-05 17:10:19 · 145 阅读 · 0 评论 -
计算任意多边形的面积
对于凸多边形,很容易计算,如下图,以多边形的某一点为顶点,将其划分成几个三角形,计算这些三角形的面积,然后加起来即可。已知三角形顶点坐标,三角形面积可以利用向量的叉乘来计算。对于凹多边形,如果还是按照上述方法划分成三角形,如下图,多边形的面积 = S_ABC + S_ACD + S_ADE, 这个面积明显超过多边形的面积。我们根据二维向量叉乘求三角形ABC面积时,利用的...转载 2019-04-26 15:23:07 · 12295 阅读 · 0 评论 -
自绘按钮的实现
自绘按钮的实现并不难,只不过如果是在非MFC类库中实现,却是显得有点麻烦,或是说,更需要一点小技巧. 文章打算在CMainWnd窗口类中实现一个自绘按钮,为了方便讲解以及突出重点,CMainWnd直接派生于CWndBase类.关于CWndBase类的信息,可以在此找到:http://blog.youkuaiyun.com/norains/archive/2008/01/12/2040109....转载 2014-07-20 10:43:07 · 305 阅读 · 0 评论 -
[转载]GetWindowLong 获得控件的ID,父窗口句柄,实例句柄,窗口风格
原文地址:GetWindowLong 获得控件的ID,父窗口句柄,实例句柄,窗口风格等(转载)作者:青蛙变王子GetWindowLong 获得控件的ID,父窗口句柄,实例句柄,窗口风格等。 long lstyle = GetWindowLong(m_list.m_hwnd,GWL_STYLE); long lstyle = GetWindowLong(m_list.m_hwnd...转载 2014-07-20 15:22:16 · 745 阅读 · 0 评论 -
函数模板,函数模板重载,可变参数模板,函数模板覆盖,通过引用交换数据...
http://blog.youkuaiyun.com/tototuzuoquan/article/details/38626035转载 2018-01-23 12:00:29 · 125 阅读 · 0 评论 -
CreateFileMapping实现的共享内存及用法
在32位的Windows系统中,每一个进程都有权访问他自己的4GB(232=4294967296)平面地址空间,没有段,没有选择符,没有near和far指针,没有near和far函数调用,也没有内存模式。每个进程都有独立的4GB逻辑地址空间,32位的Windows系统允许每一个进程独立访问自己的内存,即独立于其它进程,也即它自己的32位逻辑地址空间。操作系统将把每一个进程的逻辑地址转换成实际的...转载 2018-01-03 14:36:44 · 618 阅读 · 0 评论 -
[转载]C语言中关于float、double、long double精度
原文地址:C语言中关于float、double、long double精度及数值范围理解作者:Roberl IEEE754浮点数的表示方法。C语言里对float类型数据的表示范围为-3.4*10^38~+3.4*10^38。double为-1.7*10^-308~1.7*10^308,long double为-1.2*10^-4932~1.2*10^4932. 类型 ...转载 2017-07-06 09:22:10 · 650 阅读 · 0 评论 -
[转载]三次样条插值曲线的C语言实现
原文地址:三次样条插值曲线的C语言实现作者:QuantWay最近一个师弟问我关于机器人路径生成的问题,我也考虑这个问题很长时间了。去年做机器人比赛时就把机器人路径生成规划和存储跟随等这些功能实现了,但是当时因为没接触到三次样条曲线,所以路径函数的生成是用了比较笨的方法。最近接触到了三次样条曲线,刚好实现机器人路径生成的要求。正好师弟他们也要用,写出来也许有用。 我是根据李庆阳的《数值...转载 2015-09-21 17:02:55 · 1660 阅读 · 0 评论 -
VC(MFC、ATL)中 得到2个SYSTEMTIME时间差
第一种方法:CTime 和CTimeSpan ,例如: // example for CTime::operator +, - CTime t1( 1999, 3, 19, 22, 15, 0 ); // 10:15PM March 19, 1999 CTime t2( 1999, 3, 20, 22, 15, 0 ); // 10:15PM March 20, 1999 CTimeS...转载 2015-01-05 11:11:53 · 459 阅读 · 0 评论 -
VC 修改窗口属性 GetWindowLong SetWindowLong
修改窗口属性说明:以下函数对于POPUP窗口有效,对于子窗口好像不行。//最小化按钮有效::SetWindowLong(m_hWnd,GWL_STYLE,GetWindowLong(m_hWnd,GWL_STYLE) | WS_MINIMIZEBOX ); ::SetWindowPos(m_hWnd,NULL,0,0,0,0,SWP_NOMOVE|SWP_NOSIZE|SWP_FRAMECHAN...转载 2014-09-13 11:57:03 · 378 阅读 · 0 评论 -
MFC使用的风格
MFC风格风格 描述按钮风格 应用于CButton类对象,例如单选框、复选框和按钮。在CButton::Create的dwStyle参数中设置一个组合的风格。组合框风格 应用于CComboBox类对象。在CComboBox::Create的dwStyle参数中设置一个组合的风格。编辑风格 应用于CEdit类对象。在CEdit::Create的dwStyle参数中设置一个组合的风格。框架窗口...转载 2014-09-13 10:32:55 · 228 阅读 · 0 评论 -
实现对话框在位图作为背景时的控件透明
思路:从背景DC中复制被控件覆盖的部分到控件中,作为控件的背景。 [cpp] view plaincopy///////////////// TransparentDlg.h #pragma once /////////////////////////////////////////////////////////////////////...转载 2014-09-05 11:07:17 · 161 阅读 · 0 评论 -
MFC自绘控件与界面美化4
3.3.6 NM_CUSTOMDRAW 大家也许熟悉WM_NOTIFY,控件通过WM_NOTIFY向父窗口发送消息。在WM_NOTIFY消息体中,部分控件会发送NM_CUSTOMDRAW告诉父窗口自己需要绘图。 可以反射NM_CUSTOMDRAW消息,如: ON_NOTIFY_REFLECT(NM_CUSTOMDRAW, OnCustomDraw) afx_msg void OnCusto...转载 2014-08-22 18:06:11 · 665 阅读 · 0 评论 -
MFC自绘控件与界面美化3
生成的界面如下: 图7 利用WM_CTLCOLOR消息美化界面 3.3.4 WM_DRAWITEM OnCtlColor只能修改元素的颜色,但不能修改元素的界面框架,WM_DRAWITEM则可以。 当一个具有Owner draw风格的元素(包括按钮、组合框、列表框和菜单等)需要显示外观时,该元素会发送一条WM_DRAWITEM消息至它的隶属窗口(Owner)。 WM_DRAWIT...转载 2014-08-22 17:55:36 · 395 阅读 · 0 评论 -
MFC自绘控件与界面美化2
3.3 使用Windows的消息机制 使用MFC类的既有函数来美化界面,其功能是有限的。既然Windows是通过消息机制进行通讯的,那么我们就可以通过截获一些有用的消息来美化我们的界面,以下是一些有用的Windows消息: WM_PAINT WM_ERASEBKGND WM_CTLCOLOR* WM_DRAWITEM* WM_MEASUREITEM* NM_CUSTOMDRAW...转载 2014-08-22 17:55:36 · 433 阅读 · 0 评论 -
MFC自绘控件与界面美化1
摘要本文专题讨论VC中的界面美化,适用于具有中等VC水平的读者。读者最好具有以下VC基础: 1. 大致了解MFC框架的基本运作原理; 2. 熟悉Windows消息机制,熟悉MFC的消息映射和反射机制; 3. 熟悉OOP理论和技术; 本文根据笔者多年的开发经验,并结合简单的例子一一展开,希望对读者有所帮助。 正文1. 美化界面之开题篇相信使用过《金山毒霸》、《瑞星杀毒》软件的读者...转载 2014-08-22 17:55:36 · 367 阅读 · 0 评论 -
Invalidate(TRUE)的闪屏问题
在使用Invalidate(TRUE)进行窗口重绘时,总是会遇到闪屏的问题。 一开始以为是绘图速度过慢照成的,但在对绘图时间做了一个测试之后发现,即使整个绘图过程只持续了几个毫秒,还是会看见很明显的闪烁,所以时间并不是造成闪烁的决定性因素。 那到底是什么原因呢?现在来看看Invalidate(TRUE)都干了些什么。其实,它只是间接向消息队列添加了WM_ERASEBKGND和W...转载 2014-08-04 09:48:41 · 1373 阅读 · 0 评论 -
LIB和DLL的区别与使用
共有两种库:一种是LIB包含了函数所在的DLL文件和文件中函数位置的信息(入口),代码由运行时加载在进程空间中的DLL提供,称为动态链接库dynamic link library。一种是LIB包含函数代码本身,在编译时直接将代码加入程序当中,称为静态链接库static link library。共有两种链接方式:动态链接使用动态链接库,允许可执行模块(.dll文件或.exe文件)仅包含在运...转载 2014-07-25 16:18:50 · 185 阅读 · 0 评论 -
WinCE下GetDC内存泄露的bug
今天偶然发现微软wince系统下mfc的一个bug,微软的网站上也有记录,如下: BUG: Memory leaks when you use the CWnd class versions of the GetDC method and the ReleaseDC method When you run code that calls the CWnd::GetDC func...转载 2014-07-22 10:39:08 · 233 阅读 · 0 评论 -
GDI内存防泄露
1. 尽量使用HDC和DeleteDC组合,不要用CDC HDC imageHDC =::CreateCompatibleDC( NULL ); HBITMAP hOldBMP = (HBITMAP)::SelectObject(imageHDC, m_hBmpResult[m_dResult]); ...... ::DeleteDC(imageHDC); 2. ...转载 2014-07-21 11:41:46 · 152 阅读 · 0 评论 -
在资源位图上画图不成功的解决方法
直接加载资源位图到DC,此时DC是只读的,任何改写DC的操作都将失败,解决方法有:一、将资源位图映射到DC的画刷中: 用位图作为背景并且可以在上面画图的思路是这样的:要作到不闪烁就是用内存缓冲的方法, 而用位图作为背景就要将位图的影像“映射”到View的Brush中。代码如下: CClientDC pDC(this);m_dc.CreateCompatibleDC(...转载 2014-07-21 11:23:58 · 318 阅读 · 0 评论 -
C++ 可变参数函数模板(Variadic Function Template) 详解及代码
可变参数函数模板(Variadic Function Template) 详解 及 代码 本文地址: http://blog.youkuaiyun.com/caroline_wendy/article/details/17076695 可变参数函数模板(variadic function template), 主要使用了包扩展(pack expansion)的方式, 即"...", 把一个...转载 2018-01-23 12:08:24 · 776 阅读 · 0 评论
分享