当前位置:文档之家› PB事件大全

PB事件大全

PB事件大全
PB事件大全

1.window中的事件

事件名触发的时机

01.Activate 在窗口激活之前触发

02.Clicked 当用户用鼠标单击窗口的空白区域(没有控件的区域)时触发

03.Close当关闭窗口时触发

04.CloseQuery 当清除或关闭窗口时触发。然后检查Message.ReturnValue的值,若为1,则窗口不能关闭

05.Deactivate 当窗口变为非活动状态时触发

06.DoubleClicked 当用户双击窗口的空白区域时触发

07.DragDrop 当一个可拖动的控件被拖动到窗口上时触发

08.DragEnter 当一个可拖动的控件进入窗口时触发

09.DragLeave 当一个可拖动的控件离开窗口时触发

10.DragWithin 当一个可拖动的控件在窗口内部拖动时触发

11.Hide 在窗口被隐藏时触发

12.HotLinkAlarm 在DDE中服务器应用已经发送了新的数据,客户DDE应用已经接收到这些数据时触发

13.Key当用户击了一个键且插入点不在RichTextEdit编辑控件或数据窗口控件时触发

14.MouseDown 当用户在窗口的空白区域按下鼠标左键时触发

15.MouseMove 当鼠标在窗口内移动时触发

16.MouseUp 当用户在窗口的空白区域释放鼠标左键时触发

17.Open当程序调用以此窗口为参数的Open函数时,此事件在该窗口打开之后,显示之前触发

18.Help .........

19.Other 当一个非PowerBuilder事件的Windows信息发生时触发

20.RButtonDown 在窗口的空白区域单击鼠标右键时触发

21.RemoteExec 当一个DDE客户应用发送了一个命令时触发

22.RemoteHotLinkStart 当一个DDE客户应用开始一个热连接时触发

23.RemoteHotLinkStop 当一个DDE客户应用结束一个热连接时触发

24.RemoteRequest 当一个DDE客户应用请求数据时触发

25.RemoteSend 当一个DDE客户应用已经发送了数据时触发

26.Resize 当用户或程序打开或重设窗口大小时触发

27.Show 当程序运行此窗口的show函数时,此事件在窗口显示之前触发

28.SystemKey 当插入点不在某个行编辑中且用户按了ALT或ALT加其它键时触发

29.Timer 在调用Timer函数后,经过了Timer 函数指定的时间后触发

30.ToolBarMoved 当MDI窗口的工具条移动时触发

以上是我新建一个window是window的事件原来的顺序,

下面是我自己常用的排序:

01.window打开时发生的事件

事件名触发的时机

Activate 在窗口激活之前触发

Resize 当用户或程序打开或重设窗口大小时触发

Open当程序调用以此窗口为参数的Open函数时,此事件在该窗口打开之后,显示之前触发

Show 当程序运行此窗口的show函数时,此事件在窗口显示之前触发

02.window关闭时发生的事件

Deactivate 当窗口变为非活动状态时触发

CloseQuery 当清除或关闭窗口时触发。然后检查Message.ReturnValue的值,若为1,则窗口不能关闭

Close当关闭窗口时触发

03.关于鼠标击键事件

Clicked 当用户用鼠标单击窗口的空白区域(没有控件的区域)时触发

DoubleClicked 当用户双击窗口的空白区域时触发MouseDown 当用户在窗口的空白区域按下鼠标左键时触发

MouseMove 当鼠标在窗口内移动时触发

MouseUp 当用户在窗口的空白区域释放鼠标左键时触发、

RButtonDown 在窗口的空白区域单击鼠标右键时触发

注:当按下鼠标左键时,MouseDown事件触发,当释放鼠标左键时,Clicked事件和MouseUp事件触发

04.计时触发

Timer 在调用Timer函数后,经过了Timer函数指定的时间后触发

05.托动触发

DragDrop 当一个可拖动的控件被拖动到窗口上时触发

DragEnter 当一个可拖动的控件进入窗口时触发DragLeave 当一个可拖动的控件离开窗口时触发DragWithin 当一个可拖动的控件在窗口内部拖动时触发

06.菜单及菜单工具栏移动是触发

ToolBarMoved 当MDI窗口的工具条移动时触发

07.其它不常用的(指的是我自己)

Hide 在窗口被隐藏时触发

HotLinkAlarm 在DDE中服务器应用已经发送了新的数据,客户DDE应用已经接收到这些数据时触发

RemoteExec 当一个DDE客户应用发送了一个命令时触发RemoteHotLinkStart 当一个DDE客户应用开始一个热连接时触发RemoteHotLinkStop 当一个DDE客户应用结束一个热连接时触发RemoteRequest 当一个DDE客户应用请求数据时触发RemoteSend 当一个DDE客户应用已经发送了数据时触发Key当用户击了一个键且插入点不在RichTextEdit编辑控件或数据窗口控件时触发

Help .........

Other 当一个非PowerBuilder事件的Windows 信息发生时触发

SystemKey 当插入点不在某个行编辑中且用户按了ALT 或ALT加其它键时触发

-----------------------------------------------------------------------

在window上的能应用的控件非常多

但是控件的事件有一部分是相同的

2.窗口上控件的公共事件

事件名触发的时机

Clicked 当单击窗口或控件时触发

Constructor 在窗口中的open事件发生之前触发

Destructor 在窗口中的close事件发生之后触发

GetFocus 在此控件得到焦点上时触发

LoseFocus 在此控件失去焦点时触发

DragDrop 当一个可拖动的控件被拖动到窗口或控件上时触发DragEnter 当一个可拖动的控件进入窗口或控件上时触发DragLeave 当一个可拖动的控件离开窗口或控件时触发DragWithin 当一个可拖动的控件在窗口或控件内部时触发RbuttonDown 在控件区域内单击鼠标右键时触发

Other 当一个非PowerBuilder事件的Windows信息发生时触发

-------------------------------------------------------------------------

3.datawindow上的事件,按照顺序(除开公用事件)

事件名称事件触发的时机01.ButtonClicking 在数据窗口中的按钮对象正在被单击时触发

02.ButtonClicked 在数据窗口中的按钮对象被单击后触发

03.DbError 当数据窗口中发生了数据库错误时触发

04.DoubleClicked 当用户双击数据窗口控件时触发;对于RichText风格的数据窗口,当双击数据窗口中的文本时触发

05.EditChanged 当光标进入数据窗口对象中的一个字段时触发

06.Error 当数据窗口数据表达式或属性表达式中发现错误时触发

07.ItemChanged 当数据窗口上的区域被修改并且失去了焦点(如用户按回车键、Tab键或箭头键,或者用鼠标选另一个区域)时触发08.ItemError 当一个域被修改并且失去焦点,且域不符合列上的合法性规则时触发

09.ItemFocusChanged 当焦点改变时触发

10.PrintStart 当数据窗口打印开始时触发

11.PrintEnd 当数据窗口打印结束时触发

12.PrintPage 在数据窗口的每一页设置打印格式之前触发

13.Resize 当用户或程序重设窗口大小时触发

14.RetrieveStart 当数据窗口检索将要开始时触发

15.RetrieveEnd 当数据窗口的检索完成时触发

16.RetrieveRow 在一行数据被检索出来之后触发

17.RowFocusChanging 当数据窗口当前行正在改变时触发

18.RowFocusChanged 当数据窗口当前行改变之后触发

19.ScrollHorizontal 当用户用Tab键、箭头键或滚动条左右滚动数据窗口控件时触发

20.ScrollVertical 当用户用Tab键、箭头键或滚动条上下滚数据窗口控件时触发

21.SqlPreview 在调用Retrieve、Update或Selectrow函数时,SQL语句提交到DBMS之前触发

22.UpdateStart 恰在调用Update函数之后,数据窗口中的改变发送到数据库之前触发

23.UpdateEnd 当所有从数据窗口到数据库的修改完成时触发

说一下我个人常用的几种事件

01.数据窗口字段输入的时候触发的事件

EditChanged 当光标进入数据窗口对象中的一个字段时触发

ItemChanged 当数据窗口上的区域被修改并且失去了焦点(如用户按回车键、Tab键或箭头键,或者用鼠标选另一个区域)时触发ItemFocusChanged 当焦点改变时触发

ItemError 当一个域被修改并且失去焦点,且域不符合列上的合法性规则时触发

如果EditChanged,ItemChanged,ItemFocusChanged这三个事件报错促发ItemError

如果在ItemChanged事件中设置了行为/返回代码1,则DataWindow控件拒绝接受数据且不允许焦点发生变化

02.鼠标单双击数据窗口按钮

ButtonClicking 在数据窗口中的按钮对象正在被单击时触发

ButtonClicked 在数据窗口中的按钮对象被单击后触发

eg:

choose case https://www.doczj.com/doc/c018794800.html,

case'cb_name'

//动作......

case.......

end choose

03.数据窗口检索前后触发的事件

RetrieveStart 当数据窗口检索将要开始时触发RetrieveEnd 当数据窗口的检索完成时触发RetrieveRow 在一行数据被检索出来之后触发

在RetrieveStart事件中设置了行为/返回代码2,在检索数据之前不要重置行,也就是上次retrieve的数据会被保留下来

04.打印前后

PrintStart 当数据窗口打印开始时触发PrintEnd 当数据窗口打印结束时触发PrintPage 在数据窗口的每一页设置打印格式之前触发

05.其它的我自己不常用,就不多说了

------------------------------------------------------------------

4.单行编辑器控件、编辑掩码控件、多行编辑控件的事件

这三个控件有相同的事件,都有公共事件中除了Clicked事件之外的10种事件,另外还有Modify事件

Modify事件在控件的文本被改变之后,用户按了回车键或Tab键,或用鼠标把焦点改变到另一个控件上时触发

---------------------------------------------------------------------

5.超文本编辑控件的事件

事件名称触发的时机

01.FileExists 当该控件的内容保存到一个已存在的文件时触发

02.InputFieldSelected 当选定输入域后双击或按下回车键时触发

03.key当按下一个键时触发

04.Modify当该控件中的内容第一次改变,但还没有保存时触发

05.MouseDown 当按下鼠标左键时触发

06.MouseMove 当鼠标在该控件中移动时触发

07.MouseUp 当放开鼠标左键时触发

08.PictureSelected 当选定位图后双击或按下回车键时触发

09.PrintFooter 当打印该控件内容的页脚时触发

10.PrintHeader 当打印该控件内容的页眉时触发

11.RbuttonUp 当在该控件中放开鼠标右键时触发

---------------------------------------------------------------------

6.滚动条事件

左右滚动条事件名称事件触发时机

LineLeft 当点中了控件的左箭头时触发LineRight 当点中了控件的右箭头时触发

PageLeft 当点中了控件的左部的开放空间时触发

PageRight 当点中了控件的右部的开放空间时触发

Moved 当控件的滚动钮被移动时触发

上下滚动条事件名称事件触发时机

LineDown 当点中了控件的下箭头时触发

LineUp 当点中了控件的上箭头时触发

PageDown 当点中了控件的下部的开放空间时触发

PageUp 当点中了控件的上部的开放空间时触发

Moved 当控件的滚动钮被移动时触发

----------------------------------------------------------------------

7.列表框控件的事件

PowerBuilder提供了四个列表框控件:列表框、图片列表框、下拉列表框和下拉图片列表框。

它们都有公共事件中除了Clicked事件之外的10种事件。

此外,下拉列表框和下拉图片列表框还有DoubleClicked事件、Modify事件和SelectionChanged事件。

列表框、图片列表框还有DoubleClicked事件和SelectionChanged事件。

------------------------------------------------------------------------

8.树状浏览控件的事件

事件名称事件触发时机

01.BeginDrag 按下鼠标左键开始拖动时触发

02.BeginLabelEdit 编辑TreeView选中的项标签时触发

03.BeginRightDrag 按下鼠标右键开始拖动时触发

04.DeleteItem TreeView项被删除时触发

05.DoubleClicked 双击鼠标左键时触发

06.EndLabelEdit 对TreeView的项标签结束编辑时触发

07.ItemCollapsed 当TreeView控件收缩完成时触发

08.ItemCollapsing 当TreeView控件收缩开始时触发

09.ItemExpanded 当TreeView控件展开后触发

10.ItemExpanding 当TreeView控件展开之前触发

11.ItemPopulate 当TreeView控件第一次展开时触发

12.RightClicked 按下鼠标右键时触发

13.RightDoubleClicked 在控件中双击鼠标右键时触发

14.SelectionChanged TreeView项目被选中后触发

15.SelectionChanging TreeView当前项目改变之前触发

16.Sort 两个项目为排序进行比较时触发

-------------------------------------------------------------------------------

9.列表浏览控件的事件

事件名称事件触发时机01.BeginDrag 按下鼠标左键开始拖动时触发

02.BeginLabelEdit 编辑ListView选中的项标签时触发

03.BeginRightDrag 按下鼠标右键开始拖动时触发

04.ColumnClicked 在控件中鼠标左键单击列标题时触发

05.DeleteAllItems 所有项被删除时触发

06.DeleteItem ListView项被删除时触发

07.DoubleClicked 双击鼠标左键时触发

08.EndLabelEdit 对ListView的项标签结束编辑时触发

09.InsertItem 为ListView插入项时触发

10.ItemChanged 控件中当前项目改变后触发

11.ItemChanging 控件中当前项目改变前触发

12.key用户按下键时触发

13.RightClicked 按下鼠标右键时触发

14.RightDoubleClicked 在控件中双击鼠标右键时触发

15.Sort 两个项目为排序进行比较时触发

----------------------------------------------------------------------------------

10.Tab页控件的事件

事件名称事件触发时机

01.DoubleClicked 双击鼠标左键时触发

02.Key用户按下键时触发

03.RightClicked 按下鼠标右键时触发

04.RightDoubleClicked 在控件中双击鼠标右键时触发

05.SelectionChanging Tab控件当前页改变之前触发

06.SelectionChanged Tab控件当前页改变后触发

-----------------------------------------------------------------------------------

11.OLE控件的事件

事件名称事件触发时机

01.Close当OLE控件的服务器关闭时触发

02.Datachange 服务器应用数据改变时触发

03.DoubleClicked 在控件内双击鼠标左键时触发

04.Error 当OLE控件操作出现错误时触发

05.ExternalException OLE服务器自动执行处理以外的操作时触发

06.PropertyChanged OLE控件改变对象后触发

07.PropertyRequestEdit OLE控件改变对象时触发

08.Rename 当服务器中对象改名时触发

09.Save 服务器写数据时触发

10.ViewChange 服务器进行预览时触发

-------------------------------------------------------------------------------------

12.菜单事件

菜单对象的事件比较简单,只有两个Clicked事件和Selected事件。

Clicked事件:在某菜单上单击鼠标左键时触发。

Selected事件:光标移入菜单条时触发。

--------------------------------------------------------------------------------------

13.用户自定义事件

这种东东目前正在研究,太多了,慢慢来

转资料一份

PB中自定义事件ID含义

Event ID 含义内容浅析,

单选或多选按钮消息(前缀:pbm_bm)

pbm_bmgetcheck 单选按钮或多选按钮是否被选。

pbm_bmgetstate 按钮是否加亮。

pbm_bmsetcheck 将无线按钮或确认框的选中状态改为未选中状态,反之亦然。

pbm_bmsetstate 加亮或不加亮按钮。

pbm_bmchange 改变按钮的风格,例如,改为单选按钮或组合框。

单选或多选按钮通知消息(前缀:pbm_bn)

pbm_bnclicked 按钮控件被点中。

pbm_bndisable 使按钮控件无效。

pbm_bndoubleclicked 按钮控件被双点。

pbm_bndragdrop 一个对象被放到按钮控件。

pbm_bndragenter 一个对象被拖到按钮控件。

pbm_bndragleave 一个对象被拖离按钮控件。

pbm_bndragover 一个对象被拖经按钮控件。

pbm_bnhilite 按钮控件被加亮。

pbm_bnpaint 按钮控件被绘制。

pbm_bnsetfocus 按钮控件获得聚焦。

pbm_bnunhilite 按钮控件不被加亮。

通用对话框消息(前缀:pbm_cb)

pbm_cbaddstring 将字符串加到通用对话框。

pbm_cbdeletestring 从通用对话框删除一个字符串。

pbm_cbdir 加一个目录列表到通用对话框。

pbm_cbfindstring 搜索以一组字符开头的字符串。

pbm_cbfindstringexact 搜索与所提供的字符完全匹配的字符串。pbm_cbgetcount 列表框中的项数。

pbm_cbgetcursel 当前被选项的数目。

pbm_cbgetdroppedcontrolset 列表框在屏幕上的坐标位置。

pbm_cbgeteditsel 编辑器控件中被选字符的范围。

pbm_cbgetextendedui 缺省或扩展的用户界面。

pbm_cbgetitemdata 重画的列表框中的4字节(32位)项。

pbm_cbgetitemheight 列表框中某一项的高度。

pbm_cbgetlbtext 列表框中的文本。

pbm_cbgetlbtextlen 列表框中文本的长度。

pbm_cbinsertstring 向列表框中增加新的字符串或4字节项。pbm_cblimittext 限制能被输入到列表框中的字符数。

pbm_cbresetcontent 删除列表框中所有元素。

pbm_cbselectstring 搜索匹配的字符串并显示。

pbm_cbsetcursel 在列表框中选择并显示一项。

pbm_cbseteditsel 在列表框的编辑区域中选择一块文本。

pbm_cbsetextendedui 设置缺省或扩展的用户界面。

pbm_cbsetitemdata 在列表框中设定4字节(32位)项。

pbm_cbsetitemheight 设置列表框中项的高度。

pbm_cbshowdropdown 转换(显示或隐藏)列表框中拖放区域。

通用对话框通知消息(前缀:pbm_cbn)

pbm_cbndblclk 用户在列表中某一项上双点。

pbm_cbndragdrop 一个对象被放到通用对话框控件上。

pbm_cbndragenter 一个对象被拖到通用对话框控件上。

pbm_cbndragleave 一个对象被拖离通用对话框控件。

pbm_cbndragover 一个对象被拖经通用对话框控件。

pbm_cbndropdown 列表框的下放区域即将被显示。

pbm_cbneditchange 编辑器控件中的文本发生变化。

pbm_cbneditupdate 列表框编辑器控件中的文本即将被改变。

pbm_cbnerrspace 列表框满,不能再向其中加入项。

pbm_cbnkillfocus 通用列表框失去聚焦。

pbm_cbnselchange 列表框中被选文本被改变。

pbm_cbnselendcancel 用户按下了"取消"按钮。

pbm_cbnselendok 用户按下了"确认"按钮。

pbm_cbnsetfocus 通用对话控件拥有聚焦。

数据窗口消息(前缀:pbm_dw)

pbm_dwclosedropdown 关闭下拉式数据窗口。

pbm_dwscrollend 在数据窗口中卷滚到最后一行。

pbm_dwscrollhome 在数据窗口中卷滚到第一行。

pbm_dwscrolllineend 卷滚到当前行的行尾(水平方向)。

pbm_dwscrolllinehome 卷滚到当前行的行首(水平方向)。

数据窗口通知消息(前缀:pbm_dwn)

pbm_dwnbacktabout 即将通过Shift+Tab组合键离开该控件。

pbm_dwnchanging 控件即将被改变。

pbm_dwndropdown 下拉式列表框的下拉部分即将可见。

pbm_dwngraphcreate 即将创建图形。

pbm_dwnitemchangefocus 数据窗口控件中当前项的聚焦改变。

pbm_dwnitemvalidationerror 对当前项的修改引起了一个合法性检查错误。pbm_dwnkey 有键被按下。使用KeyDown()处理键盘值。

pbm_dwnlbuttondown 鼠标左键被按下。

pbm_dwnlbuttonup 鼠标左键被松开。

pbm_dwnmbuttonclk 鼠标中键点击。

pbm_dwnmbuttondbclk 鼠标中键双击。

pbm_dwnmousemove 鼠标移动。

pbm_dwnprintmarginchange 打印边界被改变。

pbm_dwnprocessenter 回车键被按下。

pbm_dwnrowchange 数据窗口中聚焦从一行转向另一行。

pbm_dwntabdownout 用户在数据窗口最后一行按了下箭头键。

pbm_dwntabout 用户在数据窗口的最后一行/列中按了tab键。

pbm_dwntabupout 用户在数据窗口第一行中按了上箭头键。

动态数据交换(DDE)消息(前缀:pbm_dde)

pbm_ddeddeack 收到一个DDE消息。

pbm_ddeddeinitiate 开始一个DDE会话。

pbm_ddeddeterminate 终止一个DDE会话。

编辑器控件消息(前缀:pbm_em)

pbm_emcanundo 编辑器控件是否能撤消上一次修改。

pbm_ememptyundobuffer 清空由Windows管理的取消操作的缓冲区。

pbm_emfmtlines 在多行编辑器控件的行尾增加或删除回车换行。

pbm_emgetfirstvisibleline 返回编辑器控件中可见的第一行的行号。

pbm_emgethandle 获得编辑器控件使用的内存句柄。

pbm_emgetline 从编辑器控件中复制一行到内存中的一个缓冲区。

pbm_emgetlinecount 返回多行编辑器控件的行数。

pbm_emgetmodify 文本是否被用户修改。

pbm_emgetrect 返回控件的长方形域。

pbm_emgetsel 返回被选文本的起始位置。

pbm_emlimittext 限制用户键入的文本长度。

pbm_emlinefromchar 返回被选文本的行号。

pbm_emlineindex 返回编辑器控件中被选行第一个字符在编辑串中的位置。pbm_emlinelength 返回编辑器控件中被选行中的字符数。

pbm_emlinescroll 水平或垂直卷滚编辑器控件。

pbm_emreplacesel 从剪贴板或从键盘上用新文本替换被选文本。

pbm_emsethandle 设置编辑器控件的句柄指向内存中的一个缓冲区。

pbm_emsetmodify 设置编辑器控件的modified标志。

pbm_emsetpasswordchar 设置用户输入任何文本时显示的字符,在输入密码时的显示。

pbm_emsetrect 设置/重置编辑器控件所在的长方形区域,编辑器控件中的文本被重画。

pbm_emsetrectnp 除了不重画文本,大致与setrect相同。

pbm_emsetsel 选择字符。

pbm_emsettabstops 在多行编辑器控件中设置tabstops。

pbm_emsetwordbreak 设置新的词拆分函数。

pbm_emsetwordbreakproc 设置新的词拆分过程。

pbm_emundo 撤消最近的编辑操作。

编辑控件通知消息(前缀:pbm_en)

pbm_enchange 编辑器控件中的文本发生改变。

pbm_enerrspace 编辑器控件内存缓冲区溢出。

pbm_enhscroll 用户点中上水平卷滚条。

pbm_enmaxtext 用户试图输入比允许更多的文本。

pbm_enupdate 编辑器控件即将显示用户的修改。

pbm_envscroll 用户点中了垂直卷滚条。

列表框消息(前缀:pbm_lb)

pbm_lbaddstring 向列表框控件中增加一项或一个字符串。

pbm_lbdeletestring 从列表框中删除一项或一个字符串。

pbm_lbdir 用目录列表填充列表框。

pbm_lbfindstring 在列表框中搜索与所给字符串部分匹配的第一项。

pbm_lbfindstringexact 在列表框中搜索与所给字符串精确匹配的第一项。pbm_lbgetcaretindex 在列表框中搜索拥有聚焦的项。

pbm_lbgetcount 确定列表框中的项数。

pbm_lbgetcursel 确定所选项是第几项。

pbm_lbgethorizontalextent 获得列表框的宽度、计算水平卷滚。

pbm_lbgetitemheight 确定列表框控件中项的高度。

pbm_lbgetitemrect 确定列表框的尺寸。

pbm_lbgetsel 获得列表框中当前所选的项。

pbm_lbgetselcount 在多选列表框中获得所选项的数目。

pbm_lbgetselitems 用列表框中表框各自的项号填充一个给定的整数数组。pbm_lbgettext 获得列表框中当前所选项的文本。

pbm_lbgettextlen 获得列表框中当前所选项的文本中的字符数。

pbm_lbgettopindex 确定列表框中可见的最上面一项的项号。

pbm_lbinsertstring 向列表框中加入一个新字符串。

pbm_lbresetcontent 重置(消除)列表框中的内容。

pbm_lbselectstring 搜索并加亮与所给字符匹配的字符串。

pbm_lbselitemrange 选择/取消列表框中某一范围中的项。

pbm_lbsetcaretindex 设置列表框中的某一项拥有聚焦。

pbm_lbsetcolumnwidth 设置列表框中列的宽度。

pbm_lbsetcursel 在列表框中选择并加亮一项;如果需要,卷滚到列表框。pbm_lbsethorizontaltext 设置列表框中被水平卷滚的单元数。

pbm_lbsetitemdata 设置与列表框相关的32位/4字节值。

pbm_lbsetitemheight 设置列表框中项的高度。

pbm_lbsetsel 在列表框中选择一个字符串。

pbm_lbsettabstops 设置列表框控件中tabstops的位置。

pbm_lbsettopindex 卷滚列表框使特定的项成为可见的最上面一项。

列表框通知消息(前缀:pbm_en)

pbm_endblclk 用户在列表框控件中的某一项上双击。

pbm_enerrspace 用户试图超越可在列表框中输入字符的最大限制。

pbm_enselcancel 当前选取文本被取消。

pbm_enselchange 用户在列表框中选择或取消了一项。

窗口消息(前缀:pbm_)

pbm_activateapp 被激活的窗口属于另外一个应用。

pbm_askcbformatname 要求剪贴板中的内容被复制到一个使用自定义格式的文本缓冲区中。

pbm_char 传送键盘上按下的键。

pbm_chartoitem 通过转换键盘来的字符,帮助列表框定位其中的项。

pbm_childactivate 一个子窗口被移动或激活。

pbm_clear 用户要删除当前编辑器控件中的内容。

pbm_command 用户选择了一个菜单项、控件,或使用了加速键。

pbm_compacting 系统内存资源不足;当Windows占用了多于1/8的CPU时间紧缩内存时,产生这条消息。

pbm_compareitem 当新的一项被加入列表框或组合框时产生此消息,Window用这条消息进行项之间的比较。

pbm_ctlcolor 一个控件即将被画出,可在此时改变控件的颜色。

pbm_deadchar 用户选择了一种非英语字符集或其它特殊字符集,这将改变下面将要输入的字符。

pbm_deleteitem 从列表框或通用对话框中移去一项。

pbm_destroyclipboard 剪贴板内容被清除。

pbm_devmodechanged WIN.INI中的一个设备名被修改。

pbm_drawclipboard 剪贴板内容发生改变。

pbm_drawitem 列表框或通用对话框的一项内容被改变。

pbm_dropfiles 当鼠标左键在一个注册为拖放文件接受器的应用上释放时,发出该消息。

pbm_erasebkgnd 窗口的客户区需要重画。

pbm_fontchange 应用可用的字体数改变。

pbm_getdlgcode 通知消息,说明当前使用哪种类型的键盘。

pbm_getfont 获取当前激活的字体。

pbm_getminmaxinto Windows正在检查最小化或最大化窗口的尺寸。

pbm_gettext 从一个控件(如按钮或编辑器控件)中复制文本到一个内存缓冲区。

pbm_gettextlength 用来确定一个控件中的字符数。

pbm_hscrollclipboard 剪贴板的水平卷滚条被使用。

pbm_iconerasebkgnd 一个最小化窗口需要重化背景。

pbm_initdialog 一个对话框即将被显示。

pbm_initmenu 一个菜单即将被显示。

pbm_initmenupopup 一个弹出式窗口即将被显示。

pbm_keydown 键盘上的一个键被按下。

pbm_keyup 键盘上的一个键被释放。

pbm_mdiactive 一个MDI子窗口(表单)被激活。

pbm_mdicascade 以重叠的形式重排所有的表单。

pbm_mdicreate 创建一个表单。

pbm_mdidestroy 从MDI框架中移去一个表单。

pbm_mdigetactive 获得当前活动的MDI表单的句柄。

pbm_mdiiconrange 在一个MDI框架中重排最小化表单的图标。

pbm_mdimaximize 最大化一个MDI子表单。

pbm_mdinext 激活下一个MDI表单(紧接着活动表单的表单)。

pbm_mdirestore 把MDI表单恢复到它原来的大小。

pbm_mdisetmenu 将一个菜单与一个MDI表单联系起来。

pbm_mdifitle 平铺所有的MDI表单。

pbm_measureitem 这个消息被送给即将创建的、内有按钮或其它控件的窗口。pbm_menuchar 用户使用了一个快捷键,但系统不支持该快捷键。

pbm_menuselect 用户选择了一个菜单项。

pbm_mouseactivate 用户在一个非活动窗口中点击了鼠标。

pbm_mousemove 用户移动了鼠标。

pbm_ncactivate 窗口的非客户区即将被激活。

pbm_nccalcsize 窗口的尺寸需要重新计算。

pbm_nccreate 窗口即将创建它的非客户区。

pbm_ncdestroy 窗口的非共享区被析构。

pbm_nchittest 每次非客户区被移动时都发送该消息。

pbm_nclbuttondblclk 用户在非客户区双点了鼠标左键。

pbm_ncpaint 非客户需要画出。

pbm_nextdlgctl 在对话框中将聚焦转给另一个控件。

pbm_paint 窗口的客户区需要被画出。

pbm_paintclipboard 剪贴板应用有剪贴操作,剪贴板查看器需重画。

pbm_palettechanged 系统调色板被改变。

pbm_paletteischanging 系统调色板即将被改变。

pbm_parentnotify 通知父窗口一个子窗口即将被创建。

pbm_querydragicon 用户要拖一个最小化窗口。

pbm_queryendsession 通知消息,说明窗口即将被关闭。

pbm_querynewpalette 应用即将收到输入聚焦,应该执行必要的颜色调整。pbm_queryopen 一个最小化窗口即将被恢复。

pbm_quit 应用处理的最后一个消息。

pbm_renderallformats 通知一个剪贴板格式的拥有者,应用将失去所有的格式。

pbm_renderformats 通知消息,说明放在剪贴板中的数据应该用一种特殊格式传送。

pbm_setcursor 通知消息,说明鼠标指针在一个窗口中移动。

pbm_setfont 用来在对话框中改变字体。

pbm_setredraw 在加一个新项之前发送给列表框或通用对话框。

pbm_settext 用来改变窗口的标题或文本。

pbm_sizeclipboard 剪贴板查看器应用改变尺寸。

pbm_spoolerstatus 一个打印管理器任务被添加或删除。

pbm_syschar 键和其它某键同时被按下。

pbm_syscolorchange 一种或多种系统颜色被改变。

pbm_syscommand 用户选择了一个系统菜单命令。

pbm_sysdeadchar 通知消息,说明一种非英语字符集被选定。

pbm_syskeydown 用户按下某键的同时按下了键。

pbm_syskeyup 用户释放了组合键。

pbm_timechange 系统时钟被修改。

pbm_undo 从undo缓冲区复制文本到编辑器控件。

pbm_vkeytoitem 当一个列表框拥有聚焦时,用户按下了一个键。

pbm_vscroll 用户点击了垂直卷滚条。

pbm_vscrollclipboard 剪贴板查看器的垂直卷滚条被点击。

pbm_windowposchanged 窗口位置发生改变。

pbm_windowposchanging 窗口位置即将发生改变。

pbm_wininichange WIN.INI文件被修改。

数据结构实验指导书(2016.03.11)

《数据结构》实验指导书 郑州轻工业学院 2016.02.20

目录 前言 (3) 实验01 顺序表的基本操作 (7) 实验02 单链表的基本操作 (19) 实验03 栈的基本操作 (32) 实验04 队列的基本操作 (35) 实验05 二叉树的基本操作 (38) 实验06 哈夫曼编码 (40) 实验07 图的两种存储和遍历 (42) 实验08 最小生成树、拓扑排序和最短路径 (46) 实验09 二叉排序树的基本操作 (48) 实验10 哈希表的生成 (50) 实验11 常用的内部排序算法 (52) 附:实验报告模板 .......... 错误!未定义书签。

前言 《数据结构》是计算机相关专业的一门核心基础课程,是编译原理、操作系统、数据库系统及其它系统程序和大型应用程序开发的重要基础,也是很多高校考研专业课之一。它主要介绍线性结构、树型结构、图状结构三种逻辑结构的特点和在计算机内的存储方法,并在此基础上介绍一些典型算法及其时、空效率分析。这门课程的主要任务是研究数据的逻辑关系以及这种逻辑关系在计算机中的表示、存储和运算,培养学生能够设计有效表达和简化算法的数据结构,从而提高其程序设计能力。通过学习,要求学生能够掌握各种数据结构的特点、存储表示和典型算法的设计思想及程序实现,能够根据实际问题选取合适的数据表达和存储方案,设计出简洁、高效、实用的算法,为后续课程的学习及软件开发打下良好的基础。另外本课程的学习过程也是进行复杂程序设计的训练过程,通过算法设计和上机实践的训练,能够培养学生的数据抽象能力和程序设计能力。学习这门课程,习题和实验是两个关键环节。学生理解算法,上机实验是最佳的途径之一。因此,实验环节的好坏是学生能否学好《数据结构》的关键。为了更好地配合学生实验,特编写实验指导书。 一、实验目的 本课程实验主要是为了原理和应用的结合,通过实验一方面使学生更好的理解数据结构的概念

C#自定义控件属性与行为

C#自定义控件属性与行为收藏 控件应该定义属性而不是公共字段,因为可视化设计器在属性浏览器中显示属性,而不显示字段。属性就像智能字段。属性通常具有带访问函数的专用数据成员,在语法上属性被作为类的字段进行访问。(虽然属性可以具有不同的访问级别,但此处的讨论将重点放在公共访问这种更加常见的情况上。 属性定义通常由以下两部分组成: 1、专用数据成员的定义。 view plaincopy to clipboardprint? 01.private int number = 0; private int number = 0; 2、使用属性声明语法对公共属性进行的定义。 view plaincopy to clipboardprint? 01.//该语法通过get 和set 访问函数将专用数据成员和公共属性关联起来。 02. public int MyNumber 03. { 04. get 05. { 06. return number; 07. } 08. set 09. { 10. number = value; 11. } 12. } //该语法通过get 和set 访问函数将专用数据成员和公共属性关联起来。 public int MyNumber { get { return number; } set { number = value; }

} 虽然属性定义中通常包含专用数据成员,但这不是必需的。get 访问器不用访问私有数据成员就可以返回值。get 方法返回系统时间的属性就属于这种情况。属性启用数据隐藏,访问器方法隐藏属性的实现。 定义属性时需考虑以下重要的注意事项: 1、必须将属性应用于定义的属性。属性用来指定设计器显示属性的方式。 2、如果改变属性将影响控件的外观显示,请从set 访问器中调用Invalidate 方法(从Control 继承该方法)。Invalidate 随后调用OnPaint 方法,该方法将重新绘制控件。为提高效率起见,对Invalidate 的多次调用将产生对OnPaint 的一次调用。 3、 .NET Framework 类库为常见数据类型(如整数、小数、布尔值和其他数据)提供了类型转换器。类型转换器的目的通常是用来提供字符串到数值的转换(从字符串数据转换为其他数据类型)。常见数据类型与默认类型转换器(将数值转换为字符串,并将字符串转换为相应数据类型)相关联。如果定义了自定义(即,非标准)数据类型的属性,则应用的属性必须将类型转换器指定为与该属性相关联。还可以使用属性使自定义UI 类型编辑器与某个属性相关联。UI 类型编辑器提供了一个用来编辑属性或数据类型的用户界面。颜色选择器是UI 类型编辑器的一个示例。 例:首先创建一个名为DrawingMode 的简单枚举。 view plaincopy to clipboardprint? 01.public enum DrawingMode 02. { 03. Happy = 0, 04. Sad = 1, 05. Angry = 2 06. } public enum DrawingMode { Happy = 0, Sad = 1,

数据结构课后习题

第一章 3.(1)A(2)C(3)D 5.计算下列程序中x=x+1的语句频度 for(i=1;i<=n;i++) for(j=1;j<=i;j++) for(k=1;k<=j;k++) x=x+1; 【解答】x=x+1的语句频度为: T(n)=1+(1+2)+(1+2+3)+……+(1+2+……+n)=n(n+1)(n+2)/6 6.编写算法,求一元多项式p n(x)=a0+a1x+a2x2+…….+a n x n的值p n(x0),并确定算法中每一语句的执行次数和整个算法的时间复杂度,要求时间复杂度尽可能小,规定算法中不能使用求幂函数。注意:本题中的输入为a i(i=0,1,…n)、x和n,输出为P n(x0)。算法的输入和输出采用下列方法 (1)通过参数表中的参数显式传递 (2)通过全局变量隐式传递。讨论两种方法的优缺点,并在算法中以你认为较好的一种实现输入输出。 【解答】 (1)通过参数表中的参数显式传递 优点:当没有调用函数时,不占用内存,调用结束后形参被释放,实参维持,函数通用性强,移置性强。 缺点:形参须与实参对应,且返回值数量有限。 (2)通过全局变量隐式传递 优点:减少实参与形参的个数,从而减少内存空间以及传递数据时的时间消耗 缺点:函数通用性降低,移植性差 算法如下:通过全局变量隐式传递参数 PolyValue() { int i,n; float x,a[],p; printf(“\nn=”); scanf(“%f”,&n); printf(“\nx=”); scanf(“%f”,&x); for(i=0;i

PB9.0实验操作说明

实验步骤: 一、建立数据库 1.创建数据库exam_pb 2.建立表students 3.为表students指定主键为“学号” 4.向表中输入数据 二、建立应用程序 1.建立工作空间“练习一” 2.建立应用程序“test” 3.建数据窗口dw_1 5.建应用程序窗口w_main 6在应用程序窗口中添加控件 7.为数据窗口指定目标对象“student”为主窗口定义标题!为控件定义标题! 8.为应用程序和控件编写脚本一定要保存窗口!! ①应用程序test脚本: open(w_main) ——打开主窗口 ②应用程序窗口w_main的各个脚本: w_main open事件的脚本: SQLCA.DBMS = "ODBC" SQLCA.AutoCommit = False SQLCA.DBParm = "Connectstring='DSN=exam_pb;uid=dba;pwd=sql'" connect using sqlca;

dw_1.settransobject(sqlca) “增加”命令按钮click事件的脚本: dw_1.insertrow(0) dw_1.setfocus() “删除”命令按钮click的脚本: dw_1.deleterow(0) “检索”命令按钮click的脚本: dw_1.retrieve() “过滤”命令按钮click的脚本: w_main.dw_1.setfilter("系别='计算机系'") w_main.dw_1.filter() “保存”命令按钮click的脚本: dw_1.update() “退出”命令按钮click的脚本: close(parent) 三、连接数据库 1.建立ODBC数据源“exam_pb”用户名:dba 密码:sql 考试时也是这个 2.建立数据库描述文件“exam_pb”预览和测试!! 3.连接数据源 四、运行程序

根式函数值域定稿版

根式函数值域 HUA system office room 【HUA16H-TTMS2A-HUAS8Q8-HUAH1688】

探究含有根式的函数值域问题 含根式的函数的值域或者最值问题在高中数学的学习过程中时常遇到,因其解法灵活,又缺乏统一的规律,给我们造成了很大的困难,导致有些学生遇到根式就害怕。为此,本文系统总结此类函数值域的求解方法,供学生参考学习。 1.平方法 例1:求31++-=x x y 的值域 解:由题意知函数定义域为[]1,3-,两边同时平方得:322422+--+=x x y =4+()4212+- +x 利用图像可得[]8,42∈y ,又知?y 0[]22,2∈∴y 所以函数值域为[]22,2 析:平方法求值域适用于平方之后可以消去根式外面未知量的题型。把解析式转化为()x b a y ?+=2 的形式,先求y 2 的范围,再得出y 的范围即值域。 2.换元法 例2: 求值域1)12--=x x y 2)x x y 2 4-+= 解:(1)首先定义域为[)+∞,1,令()01≥-=t x t ,将原函数转化为 [)+∞∈,0t ,?? ????+∞∈∴,815y 析:当函数解析式由未知量的整数幂与根式构成,并且根式内外的未知量的次幂保持一致。可以考虑用代数换元的方法把原函数转化成二次函数,再进行值域求解。 (2)首先,函数定义域为[]2,2-∈x ,不妨设αsin 2=x ,令?? ????-∈2,2ππα

则原函数转化为:??? ? ?+=+=4sin 22cos 2sin 2παααy ?? ????-∈2,2ππα,∴??????-∈+43,44πππα 析:形如题目中的解析式,考虑用三角换元的方法,在定义域的前提下,巧妙地规定角的取值范围,避免绝对值的出现。 不管是代数换元还是三角换元,它的目的都是为了去根式,故需要根据题目灵活选择新元,并注意新元的范围。 3.数形结合法 例3:1)求()()8222+-+= x x y 的值域。 2)求1362222+-++-= x x y x x 的最小值。 解:(1)()()8222+-+=x x y 82++-=x x 其解析式的几何意义为数轴上的一动点x ,到两定点2与-8的距离之和,结合数轴不难得到[]+∞∈,10y (2)解析式可转化为()()41312 2+++=--x x y , 定义域为R ,进行适当的变形 ()()=+++--413122x x ()()()()2031012 222----+++x x , 由它的形式联想两点间的距离公式,分别表示点到点的距离与点的距离之和。 点()0,x P 到()1,1A 和()2,3B 的距离之和。即PB PA y +=,结合图形可知 13min =+'=PB A P y ,其中()1,1-'A 析:根据解析式特点,值域问题转化成距离问题,结合图形得出最值,进而求出了值域。 例4:1) 求x x y x 2312 +--+=的值域

二次函数和几何综合压轴题题型归纳

学生: 科目: 数 学 教师: 刘美玲 一、二次函数和特殊多边形形状 二、二次函数和特殊多边形面积 三、函数动点引起的最值问题 四、常考点汇总 1、两点间的距离公式:()()22B A B A x x y y AB -+-= 2、中点坐标:线段AB 的中点C 的坐标为:??? ??++22 B A B A y y x x , 直线11b x k y +=(01≠k )与22b x k y +=(02≠k )的位置关系: (1)两直线平行?21k k =且21b b ≠ (2)两直线相交?21k k ≠ (3)两直线重合?21k k =且21b b = (4)两直线垂直?121-=k k 3、一元二次方程有整数根问题,解题步骤如下: ① 用?和参数的其他要求确定参数的取值范围; ② 解方程,求出方程的根;(两种形式:分式、二次根式) ③ 分析求解:若是分式,分母是分子的因数;若是二次根式,被开方式是完全平方式。 例:关于x 的一元二次方程()0122 2 =-m x m x ++有两个整数根,5<m 且m 为整数,求m 的值。 4、二次函数与x 轴的交点为整数点问题。(方法同上) 例:若抛物线()3132 +++=x m mx y 与x 轴交于两个不同的整数点,且m 为正整数,试确定 此抛物线的解析式。 课 题 函数的综合压轴题型归类 教学目标 1、 要学会利用特殊图形的性质去分析二次函数与特殊图形的关系 2、 掌握特殊图形面积的各种求法 重点、难点 1、 利用图形的性质找点 2、 分解图形求面积 教学内容

5、方程总有固定根问题,可以通过解方程的方法求出该固定根。举例如下: 已知关于x 的方程2 3(1)230mx m x m --+-=(m 为实数),求证:无论m 为何值,方程总有一个固定的根。 解:当0=m 时,1=x ; 当0≠m 时,()032 ≥-=?m ,()m m x 213?±-= ,m x 3 21-=、12=x ; 综上所述:无论m 为何值,方程总有一个固定的根是1。 6、函数过固定点问题,举例如下: 已知抛物线22 -+-=m mx x y (m 是常数),求证:不论m 为何值,该抛物线总经过一个固定的点,并求出固定点的坐标。 解:把原解析式变形为关于m 的方程()x m x y -=+-122 ; ∴ ???=-=+-0 1 02 2x x y ,解得:???=-=1 1 x y ; ∴ 抛物线总经过一个固定的点(1,-1)。 (题目要求等价于:关于m 的方程()x m x y -=+-122 不论m 为何值,方程恒成立) 小结.. :关于x 的方程b ax =有无数解????==0 b a 7、路径最值问题(待定的点所在的直线就是对称轴) (1)如图,直线1l 、2l ,点A 在2l 上,分别在1l 、2l 上确定两点M 、N ,使得MN AM +之和最小。 (2)如图,直线1l 、2l 相交,两个固定点A 、B ,分别在1l 、2l 上确定两点M 、N ,使得 AN MN BM ++之和最小。

PB常用函数

PB常用函数日期时间类函数 日期时间类函数的功能如下: Date:把日期转换为Date类型。 Time:把时间转换为Time类型。 Day:日期值。 Month:月值。 Year:年值。 DayName:星期几。 DayNumber:一周中的第几天。 DaysAfer:两个日期之间所差的天数。 SecondsAfer:两个时间之间所差的秒数。 Hour:小时。 Minute:分钟。 Second:秒。 Now:系统当前时间。 Today:系统日期和时间。 RelativeDate:指定日期前后的天数值。 RelativeTime:指定时间的前后时间值。 数值计算类函数 数值计算类函数主要的作用就是对数据进行计算,功能如下:Abs:返回数据的绝对值。 Max:求输入的最大值。 Min:求输入的最小值。 Ceiling:返回整数,小数会自动向上进位。 Int:返回整数,小数会自动向下退位。 Round:对数据进行四舍五入操作。 Truncate:删除掉小数点后若干位。 Cos:求余弦值。 Sin:求正弦值。 Tan:求正切值。 Exp:以e为底,输入值为次方的乘方值。 Sqrt:求平方根。 Fact:求阶乘。 Log:求自然对数。 LogTen:求以10为底的对数。 Mod:求余数。 Pi:求与PI的乘积。 Rand:返回1与输入值之间的一个伪随机数。 字符串类函数 字符串类函数的功能如下。 Fill:建立一个指定长度的字符串。 Lower:转换为小写字母。

Upper:转换为大写字母。 WordCap:首写字母大写,其他小写。 Space:由指定字符个数组成的空格字符串。 Left:从字符串左边开始指定字符串。 Right:从字符串右边开始指定字符串。 LeftTrim:删除字符串左边的空格。 RightTrim:删除字符串右边的空格。 Trim:删除左右两边的空格。 Len:返回字符串长度。 Match:判断是否有指定模式的字符。 Mid:取子字符串。 Replace:用指定字符替换另外一个字符串。 String:将数据转换为指定格式的字符串。 信息类函数 信息类函数可以获取数据窗口中的一些信息,函数的功能如下: CurrentRow:获取数据窗口的焦点的行数。 Page:获取当前记录的页数。 PageAcross:获取当前水平方向的页面。 PageCount:获取总页数。 RowHeight:获得记录的高度。 Describe:获取数据窗口对象的属性值。 IsRowModified:获取记录是否修改过,如果修改过返回True。 IsRowNew:获取是否新插入数据,如果插入返回True。 IsSelected:获取记录是否被选中,选中返True。 PageCountAcross:获取水平方向总页面。 RowCount:获取主缓冲区的总记录数。 统计类函数 统计类函数主要是用来对数据库中的数据进行统计操作,统计函数功能如下: Avg:计算字段的平均数,例如Avg(id)。 Max:计算字段的最大值,例如Max(id)。 Min:计算字段的最小值,例如Min(id)。 Median:计算字段的中间值。 Count:计算表或字段的记录数,例如Count(*)。 Frist:返回第一条记录。 Last:返回最后一条记录。 交叉表函数 只能在交叉列表风格的数据窗口中的细节区使用交叉表函数,交叉表的函数功能如下:CrosstabVag:计算字段数据的平均数。 CrosstabCount:计算字段数据的记录数。 CrosstabMax:计算字段数据的最大值。 CrosstabMin:计算字段数据的最小值。 数据类型转换与检查函数 数据类型转换与检查函数用于定义数据窗口的过滤条件、有效性检查和数据类型转换,数据类型转换与检查函数的功能如下:

过程与自定义函数

一、选择题 1.某VB程序如下: Private Sub Label1_DblClick( ) Dimx As Single,y As Single Label1.Caption ="Welcome." x =Val(Text2.Text) y=Sqr(Abs(x)) Text1.Text =Str(x +y) End Sub 程序运行时,能触发该事件过程的是( ) A. 单击Command1 B. 单击Label1 C. 双击Label1 D. 双击Text1 2.在VB中,使用过程主要是为了( ) A. 使程序模块化 B. 使程序界面美观 C. 给程序加密 D. 人机交互更友好 3.某对象的一个事件过程代码如下: Private Sub Obj_Click( ) s=s +1 Text1.Text =Str(s) End Sub 下列说法正确的是( ) A. 该过程的过程名为“Obj” B. 该对象的类名为“Sub” C. 该对象的对象名为“Obj_Click” D. 该事件是一个“单击”事件 4.某VB程序的一个事件过程如下: Private Sub Command1_Click( ) Label1.Caption ="welcome!" End Sub 程序运行时,能触发该事件的是( ) A. 窗体装载 B. 单击窗体 C. 单击标签Label1 D. 单击命令按钮Command1 5.在VB中,设已定义函数过程f,它有三个实型传值参数。设a,b,c为实型变量,则下列能调用该函数的正确语句是( ) A. f B. f(a+b,b+c) C. f(a+b,b+c,c+a) D. fa+b,b+c,c+a 6.有如下VB自定义函数: Function f(x As Integer)As Single f =Int(Abs(x)) End Function 该函数返回值的数据类型是( ) A. 整数型 B. 日期型 C. 逻辑型 D. 单精度实数型 7.有如下VB自定义函数: Function f(i As Single)As Boolean If i<=0Then f =True Else f=False End Function 执行语句s =f(-0.4)后,逻辑型变量s的值是( ) A. 0 B. 1 C. True D. False 8.在VB中,有如下程序: Function f(x As Integer)As Integer f =Int(Abs(x)/3)+0.1 End Function Private Sub Command1_Click( ) Dimy As Single y =f(-9) Text1.Text =Str(y) End Sub 运行该程序,单击命令按钮Command1,文本框Text1中显示的是( ) A. -9 B. 9 C. 3 D. 3.1 9.小明在VB中定义了以下函数,功能是求a和b的最大公约数。 Function gcd(a As Integer,b As Integer)As Integer DoWhile b >0 c =aMo d b a =b b =c Loop End Function 调试中发现计算结果一直是0。经过仔细观察与分析,发现错误的原因是( ) A. 函数名有错 B. 变量C没有定义 C. 函数没有返回值 D. b>0应该改为b>=0 10.某VB程序如下: Private Sub Text1_KeyPress(KeyAscii As Integer) If KeyAscii =13Then Text2.Text =Text1.Text +Str(5) End If End Sub 程序运行时,能触发该事件过程的是( ) A. 单击文本框Text1 B. 单击文本框Text2 C. 文本框Text1被激活后,用户在键盘上按下某一个键 D. 文本框Text2被激活后,用户在键盘上按下某一个键 11.狄同学在设计VB程序时所使用复选框对象的属性窗口如图所示,她想编制该复选框单击事件的处理过程,则该事件处理过程名是( ) A. CheckBox_Click B. 加粗_Click C. Check1_Click D. 复选框_Click 12.下列VB程序中,f是一个递归函数: Private Sub Command1_Click( ) Dim y As Long Text1.Text ="" y =f(3) Label1.Caption =Str(y) End Sub Function f(n As Integer)As Long '递归函数 Text1.Text =Text1.Text +Str(n) If n <=1Then f =1 Else f =f(n -1)+2 End If End Function 程序运行时,单击命令按钮Command1后,文本框Text1中显示的内容是( ) A. 3 B. 321 C. 123 D. 1 13.以下为VB算定义求两个数最大公约数函数的代码:Private Function gcd(a as integer,b as integer)as integer …此处省略语句块内容 第1页共2页

PB中一些技巧

PB中一些技巧 1.RGB函数计算公式: 颜色值= (65536 * Blue) + (256 * Green) + (Red) 2.控件可拖动: send(handle(this),274,61458,0) 3.如何用程序控制下拉子数据窗口的下拉和收起 用modify或者直接用dw_1.object.col1.dddw.showlist = true 4.检索参数有些不需要传入则传%. 5.如何屏蔽鼠标滚轮触发 在控件的other事件写 if message.number = 522 then return 1 6.得到数据窗口的语法: string ls_dwsyntax ls_dwsyntax=dw_1.describe("datawindow.syntax") 7.得到数据窗口中各列及标题: long ll_count,i string ls_value,ls_colname ll_colnum = Long(dw_1.object.datawindow.column.count) for i = 1 to ll_colnum //得到标题头的名字 ls_colname = dw_1.describe('#' + string(i) + ".name") + "_t" ls_value = dw_1.describe(ls_colname + ".text") next 8.在程序中动态设置初始值: ex:dw_contro.object.columnName.initial = 'xxxx' 9.如何在DataWindow的SQL语法中不使用SELECT DISTINCT实现删除重复的行 ---- 起先对你要显示唯一值的列进行排序:"city A",然后增加如下过滤字符串:" city < > city [-1] or GetRow () = 1" 10.如何改变列的字体颜色,提醒用户此列已做修改

PB中实现图片按钮的mousemove事件

PB中实现图片按钮的mousemove事件 ---- PB中除窗口(window)和富文本(richtextedit)具有mousemove事件外,其他控件都不接收ousemove事件。在某些程序中,可能会对按钮进行动态的图片切换,如:鼠标移到按钮上时,切换按钮的图片以实现动感。 ---- 创建一个用户自定义对象(User Object),取名uo_picbutton,其上放一个Picture控件(p_1)。选中p_1,定义用户自定义事件(user events),在event name中输入mousemove, 由下面的Paste Event ID中选取pbm_mousemove放入Event ID栏。自此,p_1的事件栏中增加了事件mousemove,在其中编程: ---- p_1.picturename="c:\图片_over.bmp" //鼠标移动到p_1上时要显示的图片 ---- 关闭user object,新建一个窗口,添加刚才建成的user object(uo_1).在form的open事件中编程: ---- uo_1.p_1.picturename="c:\图片_up.bmp" //初始图片 ---- 在form的mousemove事件中编码: ---- uo_1.p_1.picturename="c:\图片_up.bmp" //恢复原来的图片 ---- 这样,运行时一旦鼠标移动到该控件上就会变换图片,从而产生动态效果。只要在uo_picbutton的mousemove事件中增加两三句代码,可以使其成为通用的图片按钮;添加user event事件,并拷贝下面列出的事件ID(event id),可以生成更多的原本不能接收的事件。

PB函数常用

Max() 功能求两个数中的最大值。 语法Max ( x, y ) 参数x:数值型变量或表达式,参加比较的第一个数y :数值型变量或表达式,参加比较的第二个数返回值以x、y中数据类型更精确的数据类型作为该函数的返回值数据类型。函数执行成功时返回参数比较的两个数中更大者。如果任何参数的值为NULL,Max()函数返回NULL。 Min() 功能求两个数中的最小值。 语法Min( x, y ) 参数x:数值型变量或表达式,参加比较的第一个数y :数值型变量或表达式,参加比较的第二个数返回值以x、y中数据类型更精确的数据类型作为该函数的返回值数据类型。函数执行成功时返回参数比较的两个数中较小者。如果任何参数的值为NULL,Min()函数返回NULL。 Mod() 功能求余数。 语法Mod ( x, y ) 参数x:数值型变量或表达式,被除数y :数值型变量或表达式,除数返回值以x、y中数据类型更精确的数据类型作为该函数的返回值数据类型。函数执行成功时返回x除以y所得的余数。如果任何参数的值为NULL,Mod()函数返回NULL。 Round() 功能将x四舍五入到n位。 语法Round ( x, n )参数x:要四舍五入的数值型数据n:整数类型,指定从哪个小数位上四舍五入x。有效值在0到18之间返回值Decimal。函数执行成功时返回将x四舍五入到小数点后第n位的数值,如果函数执行失败或任何参数的值为NULL,Round()函数返回NULL。Truncate() 功能截断数值到指定的小数位。 语法Truncate ( x, n ) 参数x:要截断的数值型数据n:整数类型,指定从哪个小数位上截断x。有效值在0到18之间返回值Decimal。函数执行成功时返回将x截断到小数点后第n位的数值,如果函数执行失败或任何参数的值为NULL,Truncate()函数返回NULL。所谓截断就是舍弃指定位之后的数值。 Asc() 功能得到字符串第一个字符的ASCII码整数值。 语法Asc ( string ) 参数string:要得到第一个字符ASCII值的字符串返回值Integer。函数执行成功时返回string 参数第一个字符的ASCII值,如果string参数的值为NULL,则Asc()函数返回NULL。Char() 功能将字符串的第一个字符、Blob变量的第一个值、或一个整数转换成字符。 语法Char ( n ) 参数n:字符串、Blob变量或整数,也可以是包含上述类型数据的Any类型变量返回值Char。返回参数n的第一个字符。如果n参数的值为NULL,则Char()函数返回NULL。 Dec()

PB自定义事件

pb中用户自定义事件内容   Event ID 含义 内容浅析  单选或多选按钮消息前缀:pbm_bm  pbm_bmgetcheck 单选按钮或多选按钮是否被选  pbm_bmgetstate 按钮是否加亮  pbm_bmsetcheck 将无线按钮或确认框的选中状态改为未选中状态,反之亦然 pbm_bmsetstate 加亮或不加亮按钮  pbm_bmchange 改变按钮的风格,例如,改为单选按钮或组合框  单选或多选按钮通知消息前缀:pbm_bn  pbm_bnclicked 按钮控件被点中  pbm_bndisable 使按钮控件无效  pbm_bndoubleclicked 按钮控件被双点  pbm_bndragdrop 一个对象被放到按钮控件  pbm_bndragenter 一个对象被拖到按钮控件  pbm_bndragleave 一个对象被拖离按钮控件  pbm_bndragover 一个对象被拖经按钮控件  pbm_bnhilite 按钮控件被加亮  pbm_bnpaint 按钮控件被绘制  pbm_bnsetfocus 按钮控件获得聚焦  pbm_bnunhilite 按钮控件不被加亮  通用对话框消息前缀:pbm_cb  pbm_cbaddstring 将字符串加到通用对话框  pbm_cbdeletestring 从通用对话框删除一个字符串  pbm_cbdir 加一个目录列表到通用对话框  pbm_cbfindstring 搜索以一组字符开头的字符串  pbm_cbfindstringexact 搜索与所提供的字符完全匹配的字符串  pbm_cbgetcount 列表框中的项数  pbm_cbgetcursel 当前被选项的数目  pbm_cbgetdroppedcontrolset 列表框在屏幕上的坐标位置  pbm_cbgeteditsel 编辑器控件中被选字符的范围  pbm_cbgetextendedui 缺省或扩展的用户界面  pbm_cbgetitemdata 重画的列表框中的4字节(32位)项  pbm_cbgetitemheight 列表框中某一项的高度  pbm_cbgetlbtext 列表框中的文本  pbm_cbgetlbtextlen 列表框中文本的长度  pbm_cbinsertstring 向列表框中增加新的字符串或4字节项  pbm_cblimittext 限制能被输入到列表框中的字符数  pbm_cbresetcontent 删除列表框中所有元素  pbm_cbselectstring 搜索匹配的字符串并显示  pbm_cbsetcursel 在列表框中选择并显示一项  pbm_cbseteditsel 在列表框的编辑区域中选择一块文本  pbm_cbsetextendedui 设置缺省或扩展的用户界面  pbm_cbsetitemdata 在列表框中设定4字节(32位)项  pbm_cbsetitemheight 设置列表框中项的高度  pbm_cbshowdropdown 转换(显示或隐藏)列表框中拖放区域  通用对话框通知消息前缀:pbm_cbn  pbm_cbndblclk 用户在列表中某一项上双点  pbm_cbndragdrop 一个对象被放到通用对话框控件上

PB操作技巧

窗口与控件 窗口与控件专题所涉及的范围比较广,如特殊功能控件的实现,友好漂亮界面的制作, 这些都是PB程序员比较感兴趣的话题。在PowerBuilder中,如果善于运用数据窗口与API技术,开发出的应用定将与众不同。本章结合实例介绍如下专题: 制作Splash窗口 制作美观的状态条 系统热键的实现 创建图标栏应用 MDI窗口显示背景图片 定制有特色的图标按钮 导航图界面的制作 制作图文并茂的菜单 窗口内控件大小与窗口大小同步 动态创建控件 控件融合技术 窗口中控件显示ToolTips 第章 1

PowerBuilder 8.0进阶篇 ·2· owerBuilder 编程离不开窗口与控件,从某种程度上可以说,现在的可视化编程无非就是将各种控件垒加到窗口中,再加上编写的一些代码,就构成了一个应用程序。因此可以这么理解:窗口与控件是可视化编程的基础。PowerBuilder 8.0提供了类型丰富的窗口及控件,灵活使用它们可以为应用开发提供极大的方便。 很多人认为,PowerBuilder 在界面制作方面功能不是很强,很难制作出Delphi 那样的漂亮界面。其实只要肯思考,善于利用数据窗口及API 等技术,PowerBuilder 一样可以制作出美观、友好的用户界面。 本章将结合实例介绍在PowerBuilder 中如何制作Splash 启动窗口、美观的状态条、图文并茂的菜单以及如何使用系统热键、创建图标栏、用MDI 窗口显示背景图片、定制按钮、制作导航图界面、使窗口内控件大小与窗口大小同步、动态创建控件、使用控件融合、用窗口中控件显示ToolTips 等实用技术。 1.1 制作Splash 窗口 现在很多商业软件如PowerBuilder 、Word 、金山词霸等都会在程序启动时呈现一个Splash 窗口,窗口上有软件名称、版本、图标等相关信息或“正在加载,请稍候…”等提示信息,该窗口显示一段时间后会自动关闭。如果在自己开发的系统中启动时也加上一个Splash 窗口,虽然不会改善程序性能,但会使应用程序添色不少。 下面介绍在PowerBuilder 中如何实现启动时的Splash 窗口。实例创建步骤如下: (1) 创建Splash 窗口。选择工具栏中的New 图标,弹出New 对话框,选择PB Object 标签页,再选择Window 新建一个窗口。 (2) 设置Splash 窗口的属性。其中窗口类型设为Popup!,Visible 属性、Enabled 属性和Center (居中)属性设为True ,其他属性都设为False 。属性设置如图1-1所示。 (3) 在Splash 窗口放置相关控件以显示信息如图标、软件名称、版本和公司名称等,可根据软件需要加以选择。最后以“w_Splash ”名称保存该窗口。 P 图1-1 Splash 窗口属性设置

pb函数

PrintDefineFont() 功能定义打印作业使用的字体,对每个打印作业PowerBuilder支持八种字体。 语法PrintDefineFont(printjobnumber,fontnumber,facename,height,weight,fontpitch,fontfamily, italic,underline) 参数printjobnumber:用PrintOpen()函数打开的打印作业号fontnumber:指定赋给当前定义字体的编号,有效值在1到8之间facename:string类型,指定字体名称,该字体应该是你的打印机支持的字体,比如“宋体”height:Integer类型,使用正值指定字体的高度,以千分之一英寸为单位;使用负值指定字体点数,比如,-18代表18点。一般来说,使用点数更精确些weight:指定字体的磅数,正常字体为400磅,粗体为700磅fontpitch:FontPitch 枚举类型,指定字体标准。有效取值为:Default! - 缺省值;Fixed! - 固定形式;Variable! - 可变形式fontfamily:FontFamily枚举类型,指定字体系列。有效取值为:AnyFont!、Decorative!、Modern!、Roman!、Script!、Swiss!italic:boolean类型,指定是否使用斜体样式。有效取值为:TRUE - 使用斜体样式;FALSE - 不使用斜体样式。缺省值为FALSEunderline:boolean类型,指定是否加下划线。有效取值为:TRUE - 加下划线;FALSE - 不加下划线。缺省值为FALSE 返回值Integer。函数执行成功时返回1,发生错误时返回-1。如果任何参数的值为NULL,PrintDefineFont()函数返回NULL。用法在一个打印作业中,应用程序能够最多同时定义8种字体。当应用程序需要使用更多的字体时,可以在使用了某个字体号输出内容后使用PrintDefineFont()函数将该字体号对应的字体更换为其它字体。 -------------------------------------------------------------------------------- PrintLine() 功能在当前打印页上绘出指定厚度的一条线。 语法PrintLine ( printjobnumber, x1, y1, x2, y2, thickness ) 参数printjobnumber:用PrintOpen()函数打开的打印作业号x1:integer类型,指定直线起点的x坐标,以千分之一英寸为单位y1:integer类型,指定直线起点的y坐标,以千分之一英寸为单位x2:integer类型,指定直线终点的x坐标,以千分之一英寸为单位y2:integer 类型,指定直线终点的y坐标,以千分之一英寸为单位thickness:integer类型,指定直线的厚度,以千分之一英寸为单位返回值Integer。函数执行成功时返回1,发生错误时返回-1。如果任何参数的值为NULL,PrintLine()函数返回NULL。用法应用程序执行了PrintLine()函数后,该函数并不改变打印光标的位置。 -------------------------------------------------------------------------------- PrintOpen() 功能启动打印作业并返回作业号。 语法PrintOpen ( { jobname } ) 参数jobname:string类型,可选项,指定要打开打印作业的名称,该名称将显示在打印管理器窗口中返回值Long。函数执行成功时返回打印作业号,发生错误时返回-1。如果任何参数的值为NULL,PrintOpen()函数返回NULL。用法应用程序执行PrintOpen()函数后,启动新的打印作业并走纸到下一页,同时将打印机缺省字体设置为该打印作业的字体。打印光标的位置位于打印区的左上角。其它同组的打印函数使用PrintOpen()函数返回的作业号来标识作

事故、事件、不符合、纠正和预防措施控制程序示范文本

事故、事件、不符合、纠正和预防措施控制程序示 范文本 In The Actual Work Production Management, In Order To Ensure The Smooth Progress Of The Process, And Consider The Relationship Between Each Link, The Specific Requirements Of Each Link To Achieve Risk Control And Planning 某某管理中心 XX年XX月

事故、事件、不符合、纠正和预防措施 控制程序示范文本 使用指引:此管理制度资料应用在实际工作生产管理中为了保障过程顺利推进,同时考虑各个环节之间的关系,每个环节实现的具体要求而进行的风险控制与规划,并将危害降低到最小,文档经过下载可进行自定义修改,请根据实际需求进行调整与使用。 1目的 为对实际存在的或潜在的不符合采取纠正和预防措 施,以减少和预防事故、事件或不符合的发生,保障安全 生产和职工的生命健康,特制定本程序。 2 适用范围 适用于本矿事故、事件、不符合、纠正预防措施的控 制。 3 职责 3.1责任单位负责本单位不符合原因的调查、分析,制 定并采取纠正措施。 3.2生产科和安监站负责纠正和预防措施的跟踪验证。

3.3管理者代表负责纠正和预防措施的组织、协调工作。 4 控制程序 4.1不符合的来源 4.1.1生产过程中监督及各项检查与检测中发现的不符合。 4.1.2调查分析事故、事件中发现的不符合。 4.1.3运行过程中表现出的与相关文件、标准的不符合。 4.1.4职业健康安全法律及相关法律、法规要求的变更引起的不符合。 4.1.5有关部门检查时发现的不符合。 4.1.6审核与管理评审中发现的不符合。 4.1.7相关方的合理建议与抱怨。 4.2事故与未遂事故的调查处理,根据人身伤害,设

相关主题
文本预览
相关文档 最新文档