博文
Window 消息大全使用详解(2005-05-16 15:06:00)
摘要:消息,就是指Windows发出的一个通知,告诉应用程序某个事情发生了。例如,单击鼠标、改变窗口尺寸、按下键盘上的一个键都会使Windows发送一个消息给应用程序。消息本身是作为一个记录传递给应用程序的,这个记录中包含了消息的类型以及其他信息。例如,对于单击鼠标所产生的消息来说,这个记录中包含了单击鼠标时的坐标。这个记录类型叫做TMsg,
它在Windows单元中是这样声明的:
type
TMsg = packed record
hwnd: HWND; / /窗口句柄
message: UINT; / /消息常量标识符
wParam: WPARAM ; // 32位消息的特定附加信息
lParam: LPARAM ; // 32位消息的特定附加信息
time: DWORD; / /消息创建时的时间
pt: TPoint; / /消息创建时的鼠标位置
end;
消息中有什么?
是否觉得一个消息记录中的信息像希腊语一样?如果是这样,那么看一看下面的解释:
hwnd 32位的窗口句柄。窗口可以是任何类型的屏幕对象,因为Win32能够维护大多数可视对象的句柄(窗口、对话框、按钮、编辑框等)。
message 用于区别其他消息的常量值,这些常量可以是Windows单元中预定义的常量,也可以是自定义的常量。
wParam 通常是一个与消息有关的常量值,也可能是窗口或控件的句柄。
lParam 通常是一个指向内存中数据的指针。由于W P a r a m、l P a r a m和P o i n t e r都是3 2位的,
因此,它们之间可以相互转换。
WM_NULL = $0000;
WM_CREATE = $0001;
应用程序创建一个窗口
WM_DESTROY = $0002;
一个窗口被销毁
WM_MOVE = $0003;
移动一个窗口
WM_SIZE = $0005;
改变一个窗口的大小
WM_ACTIVATE = $0006;
一个窗口被激活或失去激活状态;
WM_SETFOCUS = $0007;
获得焦......
Win32 API参考大全(六)(2005-05-13 19:24:00)
摘要:2.6 标函数(Cursor)
2.6.1 ClipCursor
函数功能;该函数把光标限制在屏幕上的一个矩形区域内,如果调用SetCursor或用鼠标设置的一个随后的光标位置在该矩形区域的外面,则系统自动调整该位置以保持光标在矩形区域之内。
函数原型:BOOL CliepCursor(CONST RECT★ lpRect);
参数:
IpRect:指向RECT结构的指针,该结构包含限制矩形区域左上角和右下角的屏幕坐标,如果该指针为NULL(空),则光标可以在屏幕的任何区域移动。
返回值:如果成功,返回值非零;如果失败,返回值为零。若想获得更多错误信息,请调用GetLastError。
备注:光标是一个共享资源,如果一个应用控制了光标,在将控制转向另一个应用之前,必须要使用ClipCursor来释放光标,该调用过程必须具有对窗口的WINSTA_WRITEATTRIBUTES访问权。
速查:Windows NT:3.1及以上版本;Windows:95及以上版本;Windows CE:不支持;头文件:winuser.h;库文件;user32.lib。
2.6.2 CopyCursor
函数功能:该函数复制一光标。
函数原型:HCURSOR CopyCursor(HCURSOR pcur);
参数:
pcur:被复制光标的句柄
返回值;如果成功,返回值是复制光标的句柄;如果失败,返回值为NULL(空)。若想获得更多错误信息,请调用GetLastError函数。
备注;CopyCursor函数能使一个应用程序或一个动态连接库(OLL)得到一个属于另一模块的光标形状的句柄。如果另外一个模块被释放,则该应用程序仍然可以使用该光标形状。
在关闭之前,一个应用程序必须调用DestroyCursor函数来释放任何与该光标有关的系统资源。
速查:Windows NT:3.1及以上版本;Windows:95及以上版本;Windows CE:不支持;头文件:winuser.h;库文件:user32.lib......
Win32 API参考大全(五)(2005-05-13 19:20:00)
摘要:2.5 通用对话框函数(Common Dialog Box)
2.5.1 ChooseColor
函数功能:该函数创建一个能使用户从中选择颜色的通用颜色对话框。
函数原型:BOOL ChooseColor(LPCHOOSECOLOR IpCC);
参数:
lpCC:指向一个包括初始化对话框信息的CHOOSECOLOR结构。当ChooseColor函数返回时,此结构含有有关用户颜色选择的信息。
返回值:如果用户点击对话框中的OK按钮,返回值为非零值。CHOOSECOLOR结构中的rgbResult成员含有用户选择的颜色的RGB颜色值。如果用户取消或关闭Color对话框或错误出现,返回值为零。若想获得更多错误信息,请调用CommDlgExtondedError函数,此函数的返回值为下列中的一个:
CDERR_FINDRESFAILURE;CDERR_MEMLOCKFAILURE;CDERR_INITIALIZATION;
CDERR_NOHINSTANCE;CDERR_LOCKRESFAILURE;CDERR_NOHOOK
CDERR_LOADRESFAILURE;CDERR_NOTEMPLATE;CDERR_LOADSTRFAlLURE;
CDERR_STRUCTSIZE;CDERR_MEMALLOCFAILURE
备注Color对话框不支持彩色调色板,对话框提供的颜色的选择仅限于系统颜色和这些颜色的混合值,可以为对话框提供一个CCHOOKProc程序,此挂钩程序能处理发送给对话框的信息。通过建立CHOOSECOLOR结构中Flags成员的CC_ENABLEHOOK标志和指定IpfnHook成员中挂钩程序的地址,可使挂钩程序生效。
速查:Windows NT:3.1及以上版本;Windows:95及以上版本;Windows CE:2.0及以上版本;头文件:commdlg.h;库文件:commdlg32.lib;Unicode:在Windows NT环境中实现为Unicode和ANSI两个版本。
2.......
Win32 API参考大全(四)(2005-05-13 19:19:00)
摘要:2.2 按钮函数(Button)
2.2.1 CheckDlgButton
函数功能:该函数改变按钮控制的选中状态。
函数原型:BOOL CheckDlgButton(HWNDhDlg,int nlDButton,UINT uCheck);
参数:
hDlg:指向含有该按钮的对话框的句柄。
nlDButton:标识要修改的按钮。
uCheck:给定该按钮的选中状态。该参数可取下列值,这些值的含义如下:
BST_CHECKED:设置按钮状态为己选中(checked)。
BST_INDETERMINATE:设置按钮状态变灰,表示不确定状态。只有在该按钮具有BS_3STATE或BS_AUTO3STATE样式时才能使用该值。
BST_UNCHECKED:设置按钮为未选中状态(unchecked)。
返回值:如果函数执行成功,返回值非零;如果函数失败,则返回值为零。若想获取更多错误信息,请调用 GetLastError函数。
速查;Windows NT:3.1 及以上版本;WindowS:95及以上版本;Windows CE:不支持:头文件:Winuser.h;库文件:user32.lib。
2.2.2 CheckRadioButton
函数功能:该函数给一组单选按钮中的一个指定按钮加上选中标志,并且清除组中其他按钮的选中标志。
函数原型:BOOL CheckRadioButtoh(HWNDhDlg, intnlDFirstButton, intnlDLastBUtton, intnlDCheckButton);
参数:
hDlg:指向包含单选按钮的对话框的句柄。
nlDFirstButton:指定组中第1个单选按钮的标识符。
nlDLastButton:指定组中最后一个单选按组的标识符。
nlDCheckButton:指出要选中的那个单选按钮的标识符。
返回值:如果函数执行成功,返回值非零;如果失败,则返回零。若想获取更多错误信息,请调用GetLastError函数。
速查:Windows NT:......
Windows API参考大全(二)(2005-05-13 19:18:00)
摘要:第二章 窗口管理函数(Window Control Function)
2.1 易用特性函数(Accessibility Features)
2.1.1 SoundSentryProc
函数功能:该函数是一个库定义的回调函数,当SOUNDSENTRY易用特性存在,并且一个基于win32的应用程序(或者在窗口内运行的应用程序)通过计算机的内置扬声器发声时,它产生一个控制的可视化消息。
函数原型:LRESULT CALLBACK SOUNDSENTRYProc(DWORD dwMillisec,DWORD fdwEffect);
参数:
Millisec:指定可视化消息的持续时间,以毫秒为单位。该消息是在一个基于win32的应用程序(或运行在窗口的应用程序)发声时显示出来的。
tdwEffect:指定要显示的可视化消息的类型。当前值通常应为SSWF_CUSTOM。
返回值:如果可视化消息已经或将要正确显示,那么返回值为TRUE,如果消息异步,并当调用该函数时其状态无效,那么应该返回TRUE。如果出错使得消息无法显示,那么返回值为FALSE。若想获得更多错误信息,请调用GetLastError函数。
备注:包含SOUNDSENTRYProc函数的库必须是一个32位的DLL,并且该 DLL必须导出名为SOUNDSENTRYProc的函数,即供外部调用和连接。SOUNDSENTRYProc函数只是在应用程序或库调用SystemParameterslnfo函数之后才调用。SystemParameterslnfo函数指定SPI_SETSOUNDSENTRY项的值以及SOUNDSENTRY结构的地址,在SOUNDSENTRY结构中,成员iWindowsEffect的值设为SSWF_CUSTOM。
速查:Windows NT:3.1及以上版本;Windows:95及以上版本;Windows CE:不支持;库文件:用户自定义。
2.1.2 SystemParametersinfo
函数功能:该函数查询或设置系统级参数。该函数也可以在......
Windows API参考大全(三)(2005-05-13 19:18:00)
摘要:第二章 窗口管理函数(Window Control Function)
2.1 易用特性函数(Accessibility Features)
2.1.1 SoundSentryProc
函数功能:该函数是一个库定义的回调函数,当SOUNDSENTRY易用特性存在,并且一个基于win32的应用程序(或者在窗口内运行的应用程序)通过计算机的内置扬声器发声时,它产生一个控制的可视化消息。
函数原型:LRESULT CALLBACK SOUNDSENTRYProc(DWORD dwMillisec,DWORD fdwEffect);
参数:
Millisec:指定可视化消息的持续时间,以毫秒为单位。该消息是在一个基于win32的应用程序(或运行在窗口的应用程序)发声时显示出来的。
tdwEffect:指定要显示的可视化消息的类型。当前值通常应为SSWF_CUSTOM。
返回值:如果可视化消息已经或将要正确显示,那么返回值为TRUE,如果消息异步,并当调用该函数时其状态无效,那么应该返回TRUE。如果出错使得消息无法显示,那么返回值为FALSE。若想获得更多错误信息,请调用GetLastError函数。
备注:包含SOUNDSENTRYProc函数的库必须是一个32位的DLL,并且该 DLL必须导出名为SOUNDSENTRYProc的函数,即供外部调用和连接。SOUNDSENTRYProc函数只是在应用程序或库调用SystemParameterslnfo函数之后才调用。SystemParameterslnfo函数指定SPI_SETSOUNDSENTRY项的值以及SOUNDSENTRY结构的地址,在SOUNDSENTRY结构中,成员iWindowsEffect的值设为SSWF_CUSTOM。
速查:Windows NT:3.1及以上版本;Windows:95及以上版本;Windows CE:不支持;库文件:用户自定义。
2.1.2 SystemParametersinfo
函数功能:该函数查询或设置系统级参数。该函数也可以在......
Windows API参考大全(一)(2005-05-13 19:15:00)
摘要: 第一章 Win32 API概论
1.1为什么使用 Win32 API
在Windows程序设计领域处于发展初期时,Windows程序员可使用的编程工具唯有API函数。这些函数在程序员手中犹如“积木块”一样,可搭建出各种界面丰富、功能灵活的应用程序。不过,由于这些函数结构复杂,所以往往难以理解,而且容易误用。
随着软件技术的不断发展,在Windows平台上出现了很多优秀的可视化编程环境,程序员可以采用“所见即所得”的编程方式来开发具有精美用户界面和功能的应用程序。这些可视化编程环境操作简便、界面友好,比如:Visual C++,Delphi,Visual Basic等等。在这些工具中提供了大量的类库和各种控件,它们替代了API的神秘功能。事实上,这些类库和控件都是构筑在Windows API的基础上的,但它们使用方便,加速了Windows应用程序的开发,所以受到程序员的普遍采用。有了这些类库和控件,程序员们便可以把主要精力放在整体功能的设计上,而不必过于关注具体细节。不过,这也导致了非常多的程序员在类库面前“固步自封”,对下层API函数的强大功能一无所知。
实际上。程序员要想开发出更灵活、更实用、更具效率的应用程序,必然要涉及到直接使用API函数。虽然类库和控件使应用程序的开发容易得多,但它们只提供Microsoft Windows的一般功能,对于一些比较复杂和特殊的功能来说,单使用类库和控件是难以实现的,必须直接使用API函数来编写。API函数是构筑整个Windows框架的基石,只有充分理解和利用API函数,才能深入到Windows的内部,充分发挥各种32位平台的强大功能和灵活性,才能成功地扩展和突破类库、控件和可视开发环境的限制。
1.2 Win32 API 简介
Win32 API即为Microsoft 32位平台的应用程序编程接口(Applicat......
ASP常用Sql语句(2005-05-13 19:06:00)
摘要:用ASP操作数据库时,很多人都使用记录集,但我觉得用SQL语句更好些,于是就写了这篇文章,希望对你有帮助。
<%
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'以下段为连接数据库和断开连接(数据库为Access格式,采用DSN来连接)
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
sub connect()
dsn="FILEDSN=acces.dsn" 'dacces.dsn为mdb文件的dsn,在配置ODBC时建立,如果要上传文件的话,可以把access.dsn一同上传
set cnn=server.createobject("ADODB.Connection") '建立ADO对象
cnn.open dsn '打开当前目录下的dsn文件(dsn为access文件的dsn)
response.write "数据库连接成功:" & cnn.state & "<br>"
cnn.close '关闭连接
response.write"数据库已经关闭" & cnn.state & "<br>"
set cnn=nothing '清除变量
end sub
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'以下段为操纵数据库(查询内容)
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
sub sel()
dsn="FILEDSN=acces.dsn" 'dacces.dsn为mdb文件的dsn
set cnn=server.createobject("ADODB.C......
常用SQL语句(2005-05-13 19:06:00)
摘要:--语 句 功 能
--数据操作
SELECT --从数据库表中检索数据行和列
INSERT --向数据库表添加新数据行
DELETE --从数据库表中删除数据行
UPDATE --更新数据库表中的数据
--数据定义
CREATE TABLE --创建一个数据库表
DROP TABLE --从数据库中删除表
ALTER TABLE --修改数据库表结构
CREATE VIEW --创建一个视图
DROP VIEW --从数据库中删除视图
CREATE INDEX --为数据库表创建一个索引
DROP INDEX --从数据库中删除索引
CREATE PROCEDURE --创建一个存储过程
DROP PROCEDURE --从数据库中删除存储过程
CREATE TRIGGER --创建一个触发器
DROP TRIGGER --从数据库中删除触发器
CREATE SCHEMA --向数据库添加一个新模式
DROP SCHEMA --从数据库中删除一个模式
CREATE DOMAIN --创建一个数据值域
ALTER DOMAIN --改变域定义
DROP DOMAIN --从数据库中删除一个域
--数据控制
GRANT --授予用户访问权限
DENY --拒绝用户访问
REVOKE --解除用户访问权限
--事务控制
COMMIT --结束当前事务
ROLLBACK --中止当前事务
SET TRANSACTION --定义当前事务数据访问特征
--程序化SQL
DECLARE --为查询设定游标
EXPLAN --为查询描述数据访问计划
OPEN --检索查询结果打开一个游标
FETCH --检索一行查询结果
CLOSE --关闭游标
PREPARE --为动态执行准备SQL 语句
EXECUTE --动态地执行SQL 语句
DESCRIBE --描述准备好的查询
---局部变量
declare @id ch......