随笔分类 -  VC学习

模式对话框 无模式对话框 的区别
摘要:打开一个模式对话框后,其他所有对话框都不能用鼠标和键盘操作!非模对话框打开后,它下面的对话框还能操作。仅此而已!应用的时候,如果希望多个对话框能同时操作,就用非模态的,大多情况下是模态的,好控制! 无模式总结:创建时用Create,清除时用DestroyWindow,创建对象时用new,清除对象时用CDialog::PostNcDestroy并执行delete this语句。非模态对话框的生... 阅读全文

posted @ 2008-01-14 15:06 wqj1212 阅读(833) 评论(0) 推荐(0)

在对话框中加入属性页
摘要:下载本文全部源代码 当一个基于对话框的程序中有相当多的控件时,你一定会想到使用属性页来将这些控件分类放置。本文针对这种方法来讨论几种可能实现的方案。 方案一 本方案的例子请见源代码打包文件中的Property1部分 在对话框上放置一个Tab Control的控件,再在对话框上放置所需的控件(本例放置了2个按钮,试图在每个标签中显示一个)。然后利用Class Wizard来为Tab Cont... 阅读全文

posted @ 2008-01-14 14:46 wqj1212 阅读(587) 评论(0) 推荐(0)

消息响应函数进行重写
摘要:我在很多书上看到程序要求对消息响应函数进行重栽,还遇到过对对话框的初始化函数重栽,我不太明白,消息响应函数对应一个消息响应,怎么还可以重栽?书上说重栽没说要改变参数。重栽对话框的初始化函数也没说参数要改变,请问是怎么回事? 回答1 :响应的是消息,重载的是响应后的操作。 回答2:消息相应函数中调用虚函数,利用虚函数的特性,允许你修改相应行为,casyncsocket中就是典型的这种应用,如果... 阅读全文

posted @ 2008-01-14 11:23 wqj1212 阅读(699) 评论(0) 推荐(0)

句柄和指针
摘要:句柄是一些表的索引也就是指向指针的指针,句柄和指针都是地址,句柄是Windows编程的一个关键性的概念,编写Windows应用程序总是要和各种句柄打交道。 所谓句柄,就是一个唯一的数,用以标识许多不同的对象类型,如窗口、菜单、内存、画笔、画刷等。在Win32里,句柄是指向一个“无类型对象”(void*)的指针,也就是一个4字节长的数据。 无论它的本质是什么,句柄并不是一个真正意义上的指针。... 阅读全文

posted @ 2008-01-07 11:18 wqj1212 阅读(273) 评论(0) 推荐(0)

关于句柄的基础知识
摘要:什么是对象的句柄? 句柄术语一般用来指获取另一个对象的方法——一个广义的假指针。这个术语是(故意的)含糊不清的。 含糊不清在实际中的某些情况下是有用的。例如,在早期设计时,你可能不准备用句柄来表示。你可能不确定是否将一个简单的指针或者引用或者指向指针的指针或者指向引用的指针或者整型标识符放在一个数组或者字符串(或其它键)以便能够以哈希表(hash-table)(或其他数据结构)或数据库键或者一些其... 阅读全文

posted @ 2008-01-07 11:04 wqj1212 阅读(686) 评论(0) 推荐(1)

VC调用MATLAB.
摘要:利用Matlab引擎 Matlab引擎采用客户和服务器计算方式,在运用中,Vc的C语言或C++语言的程序作为前端客户机,它向Matlab引擎传递命令和数据信息,并从Matlab引擎接收数据信息,它提供了下列几个函数: engOpen, engGetArray, engPutArray, engEvaString, engOutputBuffer ,engClose与客户机进行交互。 下面例程是... 阅读全文

posted @ 2007-12-29 19:12 wqj1212 阅读(1140) 评论(0) 推荐(0)

打开文件,保存文件
摘要:打开指定路径下文件 void CGFileCompileDlg::OnButtonOpen() { // TODO: Add your control notification handler code here /**//*****************************************************************************... 阅读全文

posted @ 2007-12-29 18:56 wqj1212 阅读(401) 评论(0) 推荐(0)

VC调试入门
摘要:概述 调试是一个程序员最基本的技能,其重要性甚至超过学习一门语言。不会调试的程序员就意味着他即使会一门语言,却不能编制出任何好的软件。 这里我简要的根据自己的经验列出调试中比较常用的技巧,希望对大家有用。 本文约定,在选择菜单时,通过/表示分级菜单,例如File/Open表示顶级菜单File的子菜单Open。 设置 为了调试一个程序,首先必须使程序中包含调试信息。一般情况下,一个从AppW... 阅读全文

posted @ 2007-12-29 17:35 wqj1212 阅读(582) 评论(0) 推荐(0)

VC分配内存
摘要:函数malloc()和calloc()都可以用来动态分配内存空间,但两者稍有区别。 malloc()函数有一个参数,即要分配的内存空间的大小: void *malloc(size_t size); calloc()函数有两个参数,分别为元素的数目和每个元素的大小,这两个参数的乘积就是要分配的内存空间的大小。 void *calloc(size_t numElements,size_t si... 阅读全文

posted @ 2007-12-23 13:10 wqj1212 阅读(3546) 评论(0) 推荐(0)

回调函数以及钩子函数的概念
摘要:回调函数以及钩子函数的概念 钩子实际上是一个处理消息的程序段,通过系统调用,把它挂入系统。每当特定的消息发出,在没有到达目的窗口前,钩子程序就先捕获该消息,亦即钩子函数先得到控制权。这时钩子函数即可以加工处理(改变)该消息,也可以不作处理而继续传递该消息,还可以强制结束消息的传递。对每种类型的钩子由系统来维护一个钩子链,最近安装的钩子放在链的开始,而最先安装的钩子放在最后,也就是后加... 阅读全文

posted @ 2007-12-19 21:05 wqj1212 阅读(4636) 评论(0) 推荐(1)

访问权限
摘要:1、public意味着在其后声明的所有成员对所有的人都可以存取。struct默认为public。 2、private关键字则意味着,除了该类型的创建者和类的内部成员函数之外,任何人都不能存取这些成员。private 在设计者与用户之间筑起了一道墙。如果有人试图存取一个私有成员,就会产生一个编译错误。class默认为private。 3、protected 与privat... 阅读全文

posted @ 2007-12-17 21:18 wqj1212 阅读(226) 评论(0) 推荐(0)

多线程
摘要:多线程编程要点 线程是进程的一条执行路径,它包含独立的堆栈和CPU寄存器状态,每个线程共享所有的进程资源,包括打开的文件、信号标识及动态分配的内存等。一个进程内的所有线程使用同一个地址空间,而这些线程的执行由系统调度程序控制,调度程序决定哪个线程可执行以及什么时候执行线程。线程有优先级别,优先权较低的线程必须等到优先权... 阅读全文

posted @ 2007-12-13 12:36 wqj1212 阅读(423) 评论(0) 推荐(0)

导航