随笔分类 -  VC学习

VC中利用多线程技术实现线程之间的通信
摘要:当前流行的Windows操作系统能同时运行几个程序(独立运行的程序又称之为进程),对于同一个程序,它又可以分成若干个独立的执行流,我们称之为线程,线程提供了多任务处理的能力。用进程和线程的观点来研究软件是当今普遍采用的方法,进程和线程的概念的出现,对提高软件的并行性有着重要的意义。现在的大型应用软件无一不是多线程多任务处理,单线程的软件是不可想象的。因此掌握多线程多任务设计方法对每个程序员都是必需... 阅读全文

posted @ 2008-03-06 16:13 wqj1212 阅读(570) 评论(0) 推荐(0)

关于系统响应函数OnSysCommand
摘要:void CTestDlg::OnSysCommand(UINT nID, LPARAM lParam) 这个函数响应系统控制菜单的命令.(即左上角图标处)。 OnSysCommand:The framework calls this member function when the user selects a command from the Control menu, or when the... 阅读全文

posted @ 2008-03-04 15:03 wqj1212 阅读(1906) 评论(0) 推荐(0)

CList myList;
摘要:针对该定义产生的错误信息: error C2143: syntax error : missing ";" before " myList.AddHead(CString("ABC")); myList.AddHead(CString("def")); myList.AddHead(CString("ghi")); POSITION p... 阅读全文

posted @ 2008-03-04 10:00 wqj1212 阅读(694) 评论(0) 推荐(0)

ON_COMMAND_RANGE用法
摘要:afx_msg void OnOutPutStatusButtonUp (WPARAM wParam, LPARAM lParam); BEGIN_MESSAGE_MAP(CIOStatue, CDialog) //{{AFX_MSG_MAP(CIOStatue) //}}AFX_MSG_MAP ON_COMMAND_RANGE(IDC_STATIC_OUT1,IDC_STATIC_OU... 阅读全文

posted @ 2008-03-03 22:33 wqj1212 阅读(12330) 评论(1) 推荐(1)

vc中怎么使用SendMessage自定义消息函数
摘要:vc中怎么使用SendMessage自定义消息函数: SendMessage的基本结构如下: SendMessage( HWND hWnd, //消息传递的目标窗口或线程的句柄。 UINT Msg, //消息类别(这里可以是一些系统消息,也可以是自己定义,下文具体介绍,) WPARAM wParam, //参数1 (WPARAM 其实是与UINT是同种类型的, /... 阅读全文

posted @ 2008-03-03 21:56 wqj1212 阅读(26963) 评论(4) 推荐(3)

关于SendMessage
摘要:本文是对MSDN中关于SendMessage的翻译与小结。 SendMessage函数功能描述:将指定的消息发送到一个或多个窗口。此函数为指定的窗口调用窗口过程,直到窗口过程处理完消息后才返回。 .函数原型: LRESULT SendMessage( HWND hWnd, // 目标窗口句柄 UINT Msg, // 被发送的消息 WPARAM wParam, // 第一个消息参数 LPARAM ... 阅读全文

posted @ 2008-03-03 21:51 wqj1212 阅读(1148) 评论(0) 推荐(0)

自定义消息(上)
摘要:摘要:自从发了5篇关于消息的文章,有的网友来信希望我讲一些比较实用的消息机制用法,这里我想就用户的自定义消息做一个全面的论述,希望能够解除你心头的困惑。 一、普通的自定义消息方法。 根据我在前面的几篇文章中提到的消息值的范围,我向大家都很清楚用户自定义消息的范围,不过,虽然说用会自定义消息从WM_USER开始,但是由于我们的工程里面一般还有很多其他的控件,他们也要占用一部分WM... 阅读全文

posted @ 2008-03-03 17:44 wqj1212 阅读(531) 评论(0) 推荐(0)

VC++中的ON_COMMAND_RANGE宏
摘要:VC++中的ON_COMMAND_RANGE宏和ON_COMMAND等宏一样,是用来声明消息处理函数的,与 ON_COMMAND不同的是,此宏可用来定义一组消息的处理函数。 两个宏的用法是: ON_COMMAND(id,memberFxn) ON_COMMAND_RANGE(id1,id2,memberFxn) 看起来其中memberFxn似乎没有什么差别,但是在学习使用中,发现ON_COMM... 阅读全文

posted @ 2008-03-03 17:38 wqj1212 阅读(4372) 评论(3) 推荐(0)

为何在自定义消息处理函数中无法利用wParam或lParam传递指针?
摘要:答:利用ON_COMMAND()宏创建的自定义消息处理机制确实无法使用wParam与lParam参数,这是由于ON_COMMAND()宏决定的。如果需要使用wParam与lParam参数,那么应当使用ON_MESSAGE()宏,由它扩展生成的消息处理函数的原型中才有这两个参数。 在.H文件中需要加入#define WM_MYMSG WM_USER+5以自定义一个消息,并在消息处理映射表中加入af... 阅读全文

posted @ 2008-03-03 17:11 wqj1212 阅读(2038) 评论(1) 推荐(0)

CString 用法
摘要:函数GetBuffer() 功能:得到字符串的首地址 CString str; str=_T( "123456"); str+=_T("78910"); char a[20]; //得到字符串首地址赋给a strcpy(a,str.GetBuffer(0)); str.ReleaseBuffer(); SetDlgItemText(IDC_EDIT1,a); 显示 123456789... 阅读全文

posted @ 2008-03-03 11:49 wqj1212 阅读(553) 评论(0) 推荐(0)

c语言中格式化
摘要:━━━━━━━━━━━━━━━━━━━━━━━━━━ 符号 作用 —————————————————————————— %d 十进制有符号整数 %u 十进制无符号整数 %f 浮点数 %s 字符串 %c 单个字符 %p 指针的值 %e 指数形式的浮点数 %x, %X 无符号以十六进制表示的整数 %0 无符号以八进制表示的整数 %g 自动选择合适的表示法 ━━━━━━━━━━... 阅读全文

posted @ 2008-02-28 17:53 wqj1212 阅读(707) 评论(2) 推荐(0)

VC++中单选与复选按钮的使用
摘要:单选钮用来表示一系列的互斥选项,这些互斥项常常被分成若干个组,每组仅允许用户选择一个选项;复选框与单选按钮相象,不同之处是复选框代表多重选择,用户可以选择一个或多个选项。 对话框编辑器中各组控件的对齐 按下Ctrl键并单击要对齐的各个控件,同时选中。最后选中的控件是对齐的基准,仔细观察,它周围的8个小方框是实心的,而其它被选控件周围的小方框是空心的。 在Layout菜单中选择Make Same... 阅读全文

posted @ 2008-02-22 17:16 wqj1212 阅读(2446) 评论(0) 推荐(0)

深度解析VC中的消息(上)
摘要:消息是指什么? 消息系统对于一个win32程序来说十分重要,它是一个程序运行的动力源泉。一个消息,是系统定义的一个32位的值,他唯一的定义了一个事件,向Windows发出一个通知,告诉应用程序某个事情发生了。例如,单击鼠标、改变窗口尺寸、按下键盘上的一个键都会使Windows发送一个消息给应用程序。 消息本身是作为一个记录传递给应用程序的,这个记录中包含了消息的类型以及其他信息。... 阅读全文

posted @ 2008-02-20 17:06 wqj1212 阅读(450) 评论(0) 推荐(0)

VC++ Combo Box/Combo Box Ex控件
摘要:组合窗口是由一个输入框和一个列表框组成。创建一个组合窗口可以使用成员函数: BOOL CListBox::Create( LPCTSTR lpszText, DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID = 0xffff ); 其中dwStyle将指明该窗口的风格,除了子窗口常用的风格WS_CHILD,WS_... 阅读全文

posted @ 2008-02-20 16:41 wqj1212 阅读(2376) 评论(0) 推荐(0)

ClientToScreen 和ScreenToClient
摘要:ClientToScreen( )是把窗口坐标转换为屏幕坐标 ScreenToClient( )是把屏幕坐标转换为窗口坐标 屏幕坐标是相对于屏幕左上角的,而窗口坐标是相对于窗口用户区左上角的 VC下,有些函数使用窗口坐标,有些使用屏幕坐标,使用时要分清。 一个窗体分为两部分:系统区和客户区 象标题和菜单之类的是系统区,由系统来控制,客户区就是你的地盘喽!!! Width, Height 是指整... 阅读全文

posted @ 2008-01-25 12:09 wqj1212 阅读(14489) 评论(1) 推荐(1)

在外面改变动态链接库里的变量
摘要:动态链接库如下,想改变L6的值 #include "math.h" #include "iostream.h" double L6=310; _declspec(dllexport) bool InvertZhi(double zhi) { L6=310+zhi; return true; } _declspec(dllexport) bool Forward(double *q) {... 阅读全文

posted @ 2008-01-25 12:07 wqj1212 阅读(432) 评论(0) 推荐(0)

利用VC++开发ASP图像处理组件
摘要:利用VC++开发ASP图像处理组件(一) 下载源代码 一、VC++中的DC环境及GUI有关的各种对象 在Windows中有各种图形用户界面GUI(Graphics User Interface)对象,当我们在进行绘图时就需要利用这些对象。而各种对象都拥有各种属性,下面首先介绍几种GUI对象和拥有的属性。 (一)、GUI有关的各种对象 在Windows中有各种图形用户界面GUI(Gr... 阅读全文

posted @ 2008-01-25 12:06 wqj1212 阅读(512) 评论(0) 推荐(0)

获取位图尺寸
摘要:从 CBitmap类对象中获取位图尺寸我们可用GetBitmap()函数 。 // 变量bitmap是一个CBitmap类对象 BITMAP bm; bitmap.GetBitmap( &bm ); bmWidth = bm.bmWidth; bmHeight = bm.bmHeight; 如果你有一个 HBITMAP句柄,你可以将它附加到一个CBitmap类对象上,再用上述方法 获取尺寸... 阅读全文

posted @ 2008-01-25 11:29 wqj1212 阅读(375) 评论(0) 推荐(0)

Visual C++中DDB与DIB位图编程全攻略
摘要:2位图的显示 Visual C++ MFC中没有提供一个专门的类来处理DIB位图,因此,为了方便地使用位图文件,我们有必要派生一个CDib类。类的源代码如下: (1) CDib类的声明 // DIB.h:类CDib声明头文件 #ifndef __DIB_H__ #define _... 阅读全文

posted @ 2008-01-25 11:04 wqj1212 阅读(838) 评论(0) 推荐(0)

VC++ MFC DLL动态链接库编写详解
摘要:虽然能用DLL实现的功能都可以用COM来替代,但DLL的优点确实不少,它更容易创建。本文将讨论如何利用VC MFC来创建不同类型的DLL,以及如何使用他们。 一、DLL的不同类型 使用VC++可以生成两种类型的DLL:MFC扩展DLL和常规DLL。常规DLL有可以分为动态连接和静态连接。Visual C++还可以生成WIN32 DLL,但不是这里讨论的主要对象。 1、MFC扩展DLL 每个DLL... 阅读全文

posted @ 2008-01-25 11:03 wqj1212 阅读(748) 评论(0) 推荐(0)

导航