- 博客(17)
- 收藏
- 关注
原创 总结创建窗口全过程
用SDK创建窗口的过程,是程序和Windows交互的过程。创建过程的每一步都要用到Windows API。第一步创建窗口类:即定义一个WNDCLASS对象,然后填充其内的变量。如:WNDCLASS wc;wc.style=CS_HREDRAW | CS_VREDRAW;wc.lpfnWndProc = WndProc;//指向窗口过程函数的指针......定义好后,进入
2006-03-28 15:24:00 1488
转载 处理消息
窗口过程处理消息通常以switch语句开始,对于它要处理的每一条消息ID都跟有一条case语句。大多数windows proc都有具有下面形式的内部结构:switch(uMsgId){case WM_(something)://这里此消息的处理过程return 0;case WM_(something else)://这里是此消息的处理过程ruturn 0;de
2006-03-28 10:48:00 1340
转载 窗口过程,窗口过程函数
如前所述,函数GetMessage负责从应用程序的消息队列中取出消息,而函数DispatchMessage()要求Windows将消息传送给在MSG结构中为窗口所指定的窗口过程。然后出台的就是这个窗口过程了,这个窗口过程的任务是干什么呢?就是最终用来处理消息的,就是消息的处理器而已,那么这个函数就是WindowProc,在Visual C++6.0中按F1启动MSDN,按下面这个路径走下来:P
2006-03-28 10:23:00 8928
转载 终止应用程序
Windows是一种非剥夺式多任务操作系统。只有的应用程序交出CPU控制权后,Windows才能把控制权交给其他应用程序。当GetMessage函数找不到等待应用程序处理的消息时,自动交出控制权,Windows把CPU的控制权交给其他等待控制权的应用程序。由于每个应用程序都有一个消息循环,这种隐式交出控制权的方式保证合并各个应用程序共享控制权。一旦发往该应用程序的消息到达应用程序队列,即开始执行G
2006-03-28 09:43:00 1453
转载 创建消息循环
主窗口显示出来了,WinMain就开始处理消息了,怎么做的呢?Windows为每个正在运行的应用程序都保持一个消息队列。当你按下鼠标或者键盘时,Windows并不是把这个输入事件直接送给应用程序,而是将输入的事件先翻译成一个消息,然后把这个消息放入到这个应用程序的消息队列中去。应用程序又是怎么来接收这个消息呢?这就讲讲消息循环了。应用程序的WinMain函数通过执行一段代码从她的队列中来检
2006-03-28 09:28:00 1142
转载 显示和更新窗口
API函数CreateWindow创建完窗口后,要想把它显示出现,还必须调用另一个API函数ShowWindows.形式为: ShowWindow (hwnd, iCmdShow); 其第一个参数是窗口句柄,告诉ShowWindow()显示哪一个窗口,而第二个参数则告诉它如何显示这个窗口:最小化(SW_MINIMIZE),普通(SW_SHOWNORMAL),还是最大化(SW_SHOWMAXIM
2006-03-28 09:14:00 1439
转载 创建窗口
注册窗口类后,就可以创建窗口了,本程序中创建窗口的有关语句如下: hwnd = CreateWindow (szAppName, // window class name TEXT ("欢迎你的到来!"), // window caption
2006-03-28 09:01:00 928
转载 注册窗口类
注册窗口类如下:if (!RegisterClass (&wc)) { MessageBox (NULL, TEXT ("This program requires Windows NT!"), szAppName,MB_ICONERROR) ; return 0 ;}
2006-03-28 08:52:00 1117
转载 窗口类参数的意义
要WinMain登记窗口类,首先要填写一个WNDCLASS结构,其定义如下所示: typedef struct _WNDCLASSA { UINT style ; //窗口类风格 WNDPROC lpfnWndProc ; //指向窗口过程函数的指针 int cbClsExtra ; //窗口类附加数据
2006-03-28 08:47:00 1762
原创 错误unknown character '0xa1'
这个错误是一些懒人(像我)常有的。我在教程里直接Copy了下面的代码,结果就总是出错。#include "windows.h" int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR szCmdLine, int iCmdShow) { MessageBox (NULL, TEXT ("你好,
2006-03-28 01:50:00 3274
原创 学习进度分析
终于下定决心学习C++了。这次的学习时间是一个月。学习目的是使我的C++能力达到能够完成毕业设计的水平。利用的开发工具是Visual C++ 6.0。所以学习过程如下:C++基础,SDK编程,MFC编程,毕业设计相关编程技术。 学习进度如下:C++基础和SDK编程并进,学时是2周左右。MFC编程在其后,学时两周左右。
2006-03-28 00:18:00 940
转载 各种排序算法java实现
转载自http://blog.csdn.net/treeroot/archive/2006/03/21/631470.aspx插入排序:package org.rut.util.algorithm.support;import org.rut.util.algorithm.SortUtil;/** * @author treeroot * @since 2006-2-2 * @vers
2006-03-22 23:45:00 982
转载 利用JMF进行多媒体编程(4)
作者:冯睿 本文选自:赛迪网 2002年09月29日 2.注册音频和视频截取设备 在例子中,注册音频和视频截取设备的方法只在程序的内部注册这些设备,在程序外则不起作用。该方法的作用是当用户的计算机上存在多和音频和视频截取设备时,告诉程序因该使用哪个设备和这些设备支持的音频和视频格式。因此在进行截取处理之前需要获得设备的配置信息。在例子中,当在Configure菜单上按下Capture
2006-03-22 23:32:00 1976 1
转载 利用JMF进行多媒体编程(3)
作者:冯睿 本文选自:赛迪网 2002年09月29日 有时你需要使用一个Player对象来控制多个其他的Player和Controller对象,我们把这个Player对象称为主对象,并把这些对象组成一个组。通过调用主对象中的start()、stop()、setMediaTime()等方法就可以激活组中所有成员的相应方法。主对象控制所有的状态变化和事件发布。然后使用addControll
2006-03-22 23:30:00 1786
转载 利用JMF进行多媒体编程(2)
作者:冯睿 本文选自:赛迪网 2002年09月29日 创建一个Player对象在JMF编程中,最常见的工作就是创建一个Player对象。你可以通过Manager类的createPlayer()方法创建Player对象。Manager对象使用多媒体的URL或MediaLocator对象来创建Player对象。当你获得了一个Player对象后,你可以通过调用getVisualCompone
2006-03-22 23:23:00 2886 1
转载 利用JMF进行多媒体编程(1)
作者:冯睿 本文选自:赛迪网 2002年09月29日 Java媒体框架(JMF)使你能够编写出功能强大的多媒体程序,却不用关心底层复杂的实现细节。JMF API的使用相对比较简单,但是能够满足几乎所有多媒体编程的需求。在这篇文章中,我将向你介绍如何用很少的代码就编写出多媒体程序。 Java多媒体框架(JMF)中包含了许多用于处理多媒体的API。它是一个相当复杂的系统,完全了解这个系统可
2006-03-22 21:29:00 2914
原创 对接口的理解
1、声明接口类 声明如下: [Capsulate] interface InterfaceName [extends parentsInterface] { [Capsulate] [修饰符] Type MemberVariable=Value; [Capsulate] [修饰符] ReturnType fun(参数列表); } 注意: 1、接口类没有构造函数。 2、接口类中定义的Member
2006-03-16 10:52:00 1876 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人