上一页 1 ··· 88 89 90 91 92 93 94 95 96 ··· 103 下一页
摘要: 创建键盘接口: 有一个简单的方法:在窗口过程中增加WM_KEYDOWN逻辑,类似于复制了所有的WM_VSCROLL 和 WM_HSCROLL逻辑。但是,不管什么时候我们想修改滚动条逻辑,就不得不在WM_KEYDOWN消息上做同样的改变。这样的做法是不明智的 另一种更好的方法:把每一个WM_KEYDOWN消息转换为同等的WM_VSCROLL 或者 WM_HSCROLL消息。可以通过给窗口过程发送假的消息欺骗函数 WndProc函数,使她认为受到了滚动消息。发送函数为SendMessage:SendMessage(hwnd,message,wParam,lParam);向他发送的窗口过程可以使.. 阅读全文
posted @ 2012-10-31 20:09 xingoo 阅读(1239) 评论(0) 推荐(0)
摘要: 问题描述: 简单地使用随即的尺寸和颜色不停的绘制一系列的图像。一种古老的方式: 设置一个向窗口函数发送WM_TIMER消息的windows计时器。 对每个WM_TIMER消息,调用GetDC函数获取设备环境,然后绘制一个随机矩形,接着调用ReleaseDC函数释放设备环境。方法弊端: 程序不能很快的绘制随机矩形,必须等待每个WM_TIMER消息,会依赖于系统时钟的精度新函数: PeekMessage(&msg,NULL,0,0,PM_REMOVE);这个函数允许一个程序检查程序队列中的下一个消息,而不是真实的获取并删除它看到的消息。正常的循环消息:while (GetMessage(. 阅读全文
posted @ 2012-10-31 15:44 xingoo 阅读(603) 评论(0) 推荐(0)
摘要: 常用的MFC类CRuntimeClass结构在CRuntimeClass结构中定义了类名、对象所占存储空间的大小、类的版本号等成员变量及动态创建对象、派生关系判断等成员函数。每一个从CObject类派生的类都有一个CRuntimeClass结构同它关联,以便完成在运行时得到对象的信息或基类的信息。要使用CRuntimeClass结构,必须结合使用RUNTIME_CLASS()宏和其他有关运行时类型识别的MFC宏。CObject类MFC的CObject类为程序员提供了对象诊断、运行时类型标识和序列化等功能。(1)对象诊断:利用成员函数AssertValid进行对象有效性检查;利用成员函数Dump 阅读全文
posted @ 2012-10-31 10:14 xingoo 阅读(5449) 评论(0) 推荐(1)
摘要: 首先用应用向导产生一名为scro的基于对话框的应用,再利用对话框编辑器加入两个一样的水平滚动条,两个滚动条的id分别取idc—scr1和idc—scr2,结果如下图,将其作为本文的示例。 对话框编辑器虽然允许将滚动条控件加进对话框中,而且,类向导允许加入数据成员,但要使这两个水平滚动条工作,还必须加进一些代码。就本例程序,当用户拖动滚动块或用鼠标滚动箭头时,滚动条就会向对话框发送WM_HSCROLL消息,对话框消息控制函数必须对这一消息进行处理,然后将滚动块定位到相应的位置上。 一般情况下,对话框中的每一控件都有自己独立的消息控制函数,但滚动条控件则有点不同,因为对话框中所有的水平滚动... 阅读全文
posted @ 2012-10-30 21:47 xingoo 阅读(2728) 评论(0) 推荐(0)
摘要: 新添加的滚动条功能,首先就是要在createWindow的时候,修改参数风格模式 hwnd = CreateWindow (szAppName, TEXT ("Get System Metrics No. 2"), WS_OVERLAPPEDWINDOW | WS_VSCROLL, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, ... 阅读全文
posted @ 2012-10-29 22:19 xingoo 阅读(314) 评论(0) 推荐(0)
摘要: /*---------------------------------------------------- SYSMETS1.C -- System Metrics Display Program No. 1 (c) Charles Petzold, 1998 ----------------------------------------------------*/#define WINVER 0x0500#include <windows.h>#include "sysmets.h"LRESULT CALLBACK WndProc (HWND, UI... 阅读全文
posted @ 2012-10-29 21:28 xingoo 阅读(362) 评论(0) 推荐(0)
摘要: 一、预备知识—程序的内存分配一个由c/C++编译的程序占用的内存分为以下几个部分1、栈区(stack)—由编译器自动分配释放,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。2、堆区(heap)—一般由程序员分配释放,若程序员不释放,程序结束时可能由OS回收。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表。3、全局区(静态区)(static)—,全局变量和静态变量的存储是放在一块的,初始化的全局变量和静态变量在一块区域,未初始化的全局变量和未初始化的静态变量在相邻的另一块区域。-程序结束后有系统释放4、文字常量区—常量字符串就是放在这里的。程序结束后由系统释放5、程序 阅读全文
posted @ 2012-10-29 16:43 xingoo 阅读(315) 评论(0) 推荐(0)
摘要: 问题描述: 给定n个大小不等的圆 c1 c2 c3 c4 要将n个圆排进一个矩形框中,且要求底边相切。找出有最小长度的圆排列。例如:当n=3,且所给的3个圆半径分别为1,1,2时,这3个圆的最小长度的圆排列 最小长度为2+4根号2.算法设计: 设开始的a =【r1,r2,r3,r4...rn】是所给的n歌圆半径。 CirclePerm(n,a)返回最小长度。 Center计算当前选择的圆中心的横坐标。 Compute计算当前圆排列的长度。 数组r当前圆排列。算法描述:#include <iostream>#include <math.h>#include <std 阅读全文
posted @ 2012-10-29 16:02 xingoo 阅读(4636) 评论(0) 推荐(0)
摘要: 基本词义意思就就是说利用const进行修饰的变量的值在程序的任意位置将不能再被修改,就如同常数一样使用!使用方法const int a=1;//这里定义了一个int类型的const常数变量a; 但对于指针来说const仍然是起作用的,以下有两点要十分注意,因为下面的两个问题很容易混淆!我们来看一个如下的例子: //程序作者:管宁 //站点:www.cndev-lab.com //所有稿件均有版权,如要转载,请务必著名出处和作者 #include <iostream> using namespace std; void main(void) { const int a=10; int b= 阅读全文
posted @ 2012-10-28 15:43 xingoo 阅读(265) 评论(0) 推荐(0)
摘要: CListBox一:词条简介 CObject←CCmdTarget←CWnd←CListBox CListBox类提供Windows列表框的功能。列表框显示项的列表,如用户可以见到和选择的文件名称。在单选列表框里,用户只可选择一个项。在多选列表框里,可选择许多项。当用户选择某项时,其高亮显示且列表框给父窗口发送一个通知消息。 可从对话模板或直接在你的代码中创建列表框。直接创建时,构造CListBox对象,再调用Create成员函数创建Windows列表框控件并将其附加给CListBox对象。要在对话模板中使用列表框,可在对话框类中声明一个CListbox变量,再在对话框类的DoDataE... 阅读全文
posted @ 2012-10-25 19:54 xingoo 阅读(607) 评论(0) 推荐(0)
上一页 1 ··· 88 89 90 91 92 93 94 95 96 ··· 103 下一页