随笔分类 - MFC
WINCE_MFC & WINDOWS_MFC
摘要:(一) 先讲一下XML中的物殊字符,手动填写时注意一下。 字符 字符实体& &或&' '或'> >或> 132487A-J crank casing 1 (四) 浏览特定...
阅读全文
摘要:以下说明几个消息循环中的常用函数进行对比 1 PostMessage 与 SendMessage 函数对比 SendMessage把消息直接发送到窗口,并调用此窗口的相应消息处理函数,等消息处理函数结束后SendMessage才返回!SendMessage发送的消息不进入系统的消息队列;SendMessage函数有返回值 PostMessage将消息发送到与创建窗口的线程相关联的消息队...
阅读全文
摘要:TrackMouseEvent函数在鼠标离开某一窗口或在某一窗口上停留超过某一特定时间长度时发送消息。 原型:BOOL TrackMouseEvent(LPTRACKMOUSEEVENT lpEventTrack); 参数: lpEventTrack:是一个指向TRACKMOUSEEVENT结构体的指针。 返回: 成功的话返回非零值(true),否则返回零(false)。 该函数可以发送的...
阅读全文
摘要:最近我发现我那个程序泄露严重,手动也查不出来。指针乱指。所以刚下了个BoundChecker 6.0 版的 嘿嘿ie 在网上看到了它的用法,感觉还不错。 BoundsChecker用法 http://blog.sina.com.cn/u/53d9f7e9010007fz BoundsChecker 是一个Run-Time错误检测工具,它主要定位程序在运行时期发生的各种错误。Bounds...
阅读全文
摘要:我学VC从VC知识库中得到不少好处,相来都是一些热心朋友们的帮助,在此表示感谢!本工程可分五步:1、建一个基于对话框的程序TipTest,在CTipTestDlg中增加成员变量:CToolTipCtrl m_tip[2],CWnd *m_pSub[2];2、在CTipTestDlg::OnInitDialog()函数中增加如下代码: pSub[0] = GetDlgItem(I...
阅读全文
摘要:相信已经有很多人用过QQ2009了,自然也对其中的UI设计很感兴趣,觉得设计很是完美。但是这是怎么设计的呢?下面我介绍一个用来实现这种效果的设计库——DSkinLite(源于CodeProject)。下面通过一个演示程序来介绍使用过程: 程序中,我主要对主窗口和两个通用对话框(打开对话框和浏览对话框)进行了换肤,这里我所有的窗口都使用了同一个皮肤(定义在XML文件中),通常应该为每个对话框都定...
阅读全文
摘要:Invalidate(false)不擦除背景,直接画 Invalidate(true)擦除背景 InvalidateRect只是增加重绘区域,在下次WM_PAINT的时候才生效 InvalidateRect函数中的参数TRUE表示系统会在你画之前用背景色将所选区域覆盖一次,默认背景色为白色,可以通过设置BRUSH来改变背景色。 Invalidate()之后:(MFC的,顺便了)OnPaint()...
阅读全文
摘要:在图形图象处理编程过程中,双缓冲是一种基本的技术。我们知道,如果窗体在响应WM_PAINT消息的时候要进行复杂的图形处理,那么窗体在重绘时由于过频的刷新而引起闪烁现象。解决这一问题的有效方法就是双缓冲技术。 因为窗体在刷新时,总要有一个擦除原来图象的过程OnEraseBkgnd,它利用背景色填充窗体绘图区,然后在调用新的绘图代码进行重绘,这样一擦一写造成了图象颜色的反差。当WM_PAINT的响...
阅读全文
摘要:把window线程间传送消息仔细的看了一遍,觉得以前的理解很不深刻。说一说对PostThreadMessage的理解。 PostThreadMessage是一个线程体发送一个消息到指定的线程ID,其原型如下: BOOL PostThreadMessage( DWORD idThread, UINT Msg, WPARAM wParam, LPARAM lParam ); 这个函数既可以发送消息...
阅读全文
摘要:消息映射、循环机制是Windows程序运行的基本方式。VC++ MFC 中有许多现成的消息句柄,可当我们需要完成其它的任务,需要自定义消息,就遇到了一些困难。在MFC ClassWizard中不允许添加用户自定义消息,所以我们必须在程序中添加相应代码,以便可以象处理其它消息一样处理自定义消息。通常的做法是采取以下步骤: 第一步:定义消息。 推荐用户自定义消息至少是WM_USER+100,因...
阅读全文
摘要:1、 对于一个窗口如何进行操作呢,首先要得到其使用句柄,我们可以用FindWindow()函数来获取当前窗口句柄,具体使用如下: HWND hFig = ::FindWindow(NULL,HWND); 如果得到找到,则返回窗口的句柄,否则返回NULL。 当然我们可以使用 SetWindowPos(HWND hWnd, HWND hWndIsertAfter, int X, int Y, ...
阅读全文
摘要:/****************************************************************************************************************/ 1、我用的时候写个小程序 char* CStringToChar(CString & str) { char temp[...
阅读全文
摘要:MultiByteToWideChar和WideCharToMultiByte用法详解 //======================================================================== //TITLE: // MultiByteToWideChar和WideCharToMultiByte用法详解 //AUTHOR: // nora...
阅读全文
摘要:CString 是一种很特殊的 C++ 对象,它里面包含了三个值:一个指向某个数据缓冲区的指针、一个是该缓冲中有效的字符记数(它是不可存取的,是位于 CString 地址之下的一个隐藏区域)以及一个缓冲区长度。 有效字符数的大小可以是从0到该缓冲最大长度值减1之间的任何数(因为字符串结尾有一个NULL字符)。字符记数和缓冲区长度被巧妙隐藏。 (1) char*转换成CString 若将cha...
阅读全文
摘要:假设你有了名为My的对话框工程.有一个按钮并有响应的程序:如OnButton1(); BOOL CListCtrl1Dlg::OnInitDialog() { CDialog::OnInitDialog(); AfxSocketInit(NULL);//支持Socket.若在向导是没选Support Socket,这就的加.还要加#include 在StdAfx.h中. ....... // A...
阅读全文
摘要:当你想用线程函数调用类的成员函数时,需要将线程函数声明为类的static成员。由于线程函数是一个由系统调用的函数,所以是一个callback函数,所以他不能有this 指针,所以你的线程函数要么是全局函数,要么是类的静态成员。将线程函数申明为静态,如: class CRealtimeTask { public: static UINT taskmain(LPVOID param); BOO...
阅读全文
摘要:一. VC常用数据类型列表 二. 常用数据类型转化 2.1数学类型变量与字符串相互转换 2.2 CString及string,char *与其他数据类型的转换和操作 ●CString,string,char*的综合比较 ●数学类型与CString相互转化 ●CString与char*相互转换举例 ●CString 与 BSTR 型转换 ●VARIANT 型转化...
阅读全文
摘要:vc数据类型转换大全 int i = 100; long l = 2001; float f=300.2; double d=12345.119; char username[]="程佩君"; char temp[200]; char *buf; CString str; _variant_t v1; _bstr_t v2; 一、其它数据类型转换为字符串 [li]短整型(int) it...
阅读全文
摘要:转自:iwaswzq Windows 语音编程初步 一、SAPI简介 软件中的语音技术包括两方面的内容,一个是语音识别(speech recognition) 和语音合成(speech synthesis)。这两个技术都需要语音引擎的支持。微软推出的应用编程接口API,虽然现在不是业界标准,但是应用比较广泛。 SAPI全称 The Microsoft Speech API.相关的SR和SS引擎位于...
阅读全文
摘要:使用这个函数时如果只在头文件中包含 include是不够的 还得单击 project-->setting-->link object/library 下加入Winmm.lib 或者用代码 #pragma comment(lib,"winmm.lib") PlaySound函数的声明为: BOOL PlaySound(LPCSTR...
阅读全文

浙公网安备 33010602011771号