この研究は、PowerBuilder 8.5高度なウィンドウコントロールを指摘します

1.リストボックスコントロール

リストボックスコントロール(リストボックス)、ピクチャリストボックスコントロール(ピクチャ)、ドロップダウンリストボックスコントロール(ドロップダウンリストボックス)、ドロップダウンリストボックスコントロールピクチャ(ドロップダウンピクチャリストボックス)。

 役割:ユーザーが一つ以上を選択するためにユーザから実行するオプションや、視覚的なオプションのセットを提供します。

共通するのは、カテゴリと説明リストボックスコントロールの属性:

[名前]リストボックスコントロールのデフォルトの接頭辞:lb_

ピクチャリストボックスコントロールという名前のデフォルトの接頭辞:plb_

デフォルトの接頭辞という名前のドロップダウンリストボックスコントロール:ddlb_

ピクチャードロップダウンリストボックスコントロールという名前のデフォルトの接頭辞:ddplb_

 1.1共通の属性リストボックスコントロール、イベントや機能

1.リストボックスコントロールの共通プロパティ

(1)Sorteプロパティ:リスト項目は、リストボックスが自動的に昇順でソートされているかどうかを指定します。

(2)MultiSelectプロパティ:ユーザーが複数のリスト項目を選択することができますが、唯一のマウスをクリックすることによって選択することができるかどうかを指定します。

(3)ExtendedSelectと属性:ユーザーが同時にリスト項目を複数選択できるかどうかを指定します。非連続番号を選択するにはCtrlキーを押しながらクリック、または複数の項目を選択するには、長方形のボックスを引き出した後、連続した数を選択するために、+マウスを移動します。

2.共通イベントリストボックスコントロール

(1)イベントをダブルクリックさ:ダブルクリックイベント

(2)SelectionChangedイベント:トリガされたとき、リストボックスの項目の選択されたリスト。

3.一般的に使用される機能のリストボックスコントロール

(1)AddItemメソッド()関数:リスト項目の末尾に新しいリスト項目を追加します。

フォーマット:AddItemメソッド(文字列の項目)例:( "第5項目")lb_1.additem

(2)deleteitemは():指定されたリストの項目を削除します

フォーマット:deleteitem(中間インデックス)

ここで、あなたは番号付きリストの項目を削除したい位置のインデックス

例えば:lb_1.deleteitem(3)//第3のリストアイテムを削除します

(3)SelectedIndexを():リストボックス、2つ以上が、最初のインデックスを返す必要な項目のインデックスのリストを返します

戻り値Integer型。例:整数li_no li_no = lb_1.SelectedIndex()

(4)SelecteIndex():リストボックスコントロールで選択されたテキストを返します。リスト項目の複数が選択される場合、機能は、第一の選択されたテキストのリスト項目を返します。

上記の使い方

(5)テキストは、():リストボックスのオプションで指定したテキストを返します。

形式:テキスト(中間インデックス)

戻り値はStringです

例:文字列SQ

SQ = lb_1.text(3)

(6)TotalItems():リストボックスのリスト項目の総数を返し

戻り値Integer

(7)TotalSelected():リストボックスの項目の選択リストの総数を返します。

戻り値Integer


(8)状態()関数:(強調表示された場合)、リストボックスが選択されているかどうかを判断します。
フォーマット:
状態(中間インデックス)
インデックスパラメータは、リスト項目が(強調表示)選択された指定した場合、関数は1を返し、そうでない場合は0を返します。インデックスパラメータは、有効なエントリのリストで指定されていない場合、関数は-1を返します。いずれかのパラメータがnullの場合、ステート()関数はNULLを返します。
例:整数li_s
li_s lb_1.State =(3)
IFはTHEN li_s 1 =
...
END IF

(9)のInsertItem()関数:指定されたインデックスで示された項目の前に、リストに新しいエントリを挿入します。
フォーマット:
のInsertItem(項目文字列のInt指数)
挿入するアイテムのリストに、アイテム、インデックス番号のインデックス。
例えば、第3のインサートコンピュータ:
lb_1.InsertItem(「コンピュータ」,. 3)

(10)のSelectItem()関数。
フォーマット1:のSelectItem(文字列の項目、のIntのインデックス)

アイテムを見つけるために先頭のインデックスから、見つかった場合は、その項目を選択し、選択した項目のインデックスを返します。
たとえば、次のように
のInt R1
R1 = lb_1.selectitem( "ブック" ,. 1)

フォーマット2:
のSelectItem(中間インデックスが)
インデックス・エントリを選択しました。インデックスが0の場合、選択リストボックスのチェックを外します。
たとえば、次
のInt R1
R1 = lb_1.selectitem(3)。

(11)SetState関数()関数。
フォーマット:
SETSTATE(中間インデックス、ブール州)が
ハイライト表示や強調表示、キャンセルのインデックスエントリを設定します。ここで、状態値がTrueで、設定が強調され、状態値はFalseです、強調表示設定解除します。インデックス= 0はすべてのエントリことを意味します。
例えば:
lb_1.setstate(2、TRUE)// 2番目の項目がハイライト
lb_1.setstate(0、FALSE)//ハイライト表示を解除すべてのアイテムをlb_1

(12)FindItem関数()関数:指定した文字列を検索するには、項目リスト内の項目のリストを指定したインデックスをバック一致します。
フォーマット:
FindItem関数(文字列、テキスト、のIntインデックス)
関数は成功した屈折率整合項目を実行する最初のを返します。これは、テキストを検索したい文字列の先頭であり、インデックスはリスト項目の前に検索を開始するインデックスです。すべての項目のリストを見つけるには、このパラメータを0に指定します。
例えば、BOOを開始する第2項の先頭から項目のリストを見て:
のInt R
R = lb_1.finditem(「BOO」、1)

 

 2.リストビューコントロール、ツリービューコントロール

 1.リストビューコントロール(リストビュー)

リストビューコントロールのアイコンとテキストラベルを使用してデータセットを表現するために高度なコントロールです。がlv_:デフォルトの接頭辞に名前を付け

1.1リストビューコントロールのプロパティ

[プロパティ]タブ「リストビュー」コントロールは、7つのオプションページを持っています

 

リストビューコントロール内のいくつかのユニークな属性と説明、「一般」ページ

 

一般的に使用される機能のリストビューコントロール

レター番号

機能

返却値

パラメータ説明

例    子

listviewname。
AddLargePicture
(もPictureName)

大きなアイコンリストアイコンを追加します。

、成功に大きなアイコンインデックスのリターンを追加します。失敗すると-1

listviewname:名前リストビューコントロール;もPictureName:アイコンの名前を追加します。

リストビューコントロールについて「lv_1」大きいアイコンpic.icoを追加します。

整数インデックス

インデックス= lv_1.AddLargePicture( "pic.ico")

listviewname。
DeleteLargePicture
(インデックス)

大きなアイコンリストを削除するには、アイコン

成功であれば1を返し、失敗した場合は-1

listviewname:Listview控件的名称;index:大图标的索引

删除第1项大图标:

lv_1.DeleteLargePicture(1)

listviewname.
AddColumn
(label,lignment,

width)

在报告显示形式下添加一个指定的文本标签、对齐方式和宽度的特定栏目

成功时返回添加的栏目的索引,失败时返回-1

listviewname:Listview控件名称;label:添加的栏目的名称;alignment:添加的项目的对齐方式;width:添加的项目的宽度

在Listview控件的事件中,添加三个栏目:

This.AddColumn("名称",Left!,1000)

This.AddColumn("尺寸" ,Left!,400)

This.AddColumn("日期",Left!,300)

listviewname.
Sort(sorttype,
{ column })

对Listview控件中的项目进行排序

成功时返回1,失败时返回-1

listviewname:Listview控件名称;sorttype:排序方式;column:指定排序的栏目

对第2列按升序排序:

lv_1.SetRedraw(FALSE)

lv_1.Sort(Ascending! , 2)

lv_1.SetRedraw(TRUE)

listviewname.
TotalItems()

读取全部项目数

成功时返回项目数,失败时返回-1

 

读取“lv_1”项目数:

Integer Total

Total = lv_1.TotalItems()

listviewname.
TotalColumns()

读取全部栏目数

成功时返回栏目数,失败时返回-1

 

读取“lv_1”栏目数:

Integer Total

Total = lv_1.TotalColumns()

listviewname.
TotalSelected()

读取选中的项目数

成功时返回项目数,失败时返回-1

 

读取“lv_1”选中的项目数:

Integer Selected

Selected=lv_1.TotalSelected()

listviewname.
SelectedIndex()

读取当前选中项目的索引号

成功时返回选中项目的索引号,没有选中或失败时返回-1

 

读取“lv_1”选中的项目的索引号:

Integer li_Index

li_Index=lv_1.SelectedIndex()

listviewname.
AddItemlabel,

picindex)

添加项目

成功时返回添加项目的索引,失败时返回-1

label:添加的项目的名称;picindex:图片索引号

添加项目:

lv_1.AddItem("数学系",3)

listviewname.InsertItem(index,label,picindex)

插入项目

成功时返回插入项目的索引,失败时返回-1

index:要插入的项目索引号;label:添加的项目的名称;picindex:图片索引号

插入项目:

lv_1.InsertItem(2, "CCTV",4)

listviewname.DeleteItem(index)

删除项目

成功时返回1,失败时返回-1

index:要删除的项目索引号

删除项目:

lv_1.DeleteItem(3)

listviewname.
SetItem(index,
column,label)

设置指定项、指定栏目的标签

成功时返回1,失败时返回-1

index:要设置的项目索引号;column:栏目号;label:要设置的项目的标签

设置指定项、指定栏目的标签

lv_1.SetItem(1,1,"刘明")

lv_1.SetItem(1,2,"男")

lv_1.SetItem(1,3,"23")

lv_1.SetItem(1,4,"南京师大")

listviewname.

GetItem index,

column,label)

读取指定索引、指定栏目的标签

成功时返回1,失败时返回-1

index:要读取的项目索引号;column:栏目号;label:读取的项目的标签

读取第3个项目的第2栏的内容:

String s1

Lv_1.GetItem(3,2,s1)

 

 

 ListView控件的常用事件

 2.树状视图控件

 树状视图控件(TreeView)是以树图形式组织项目的,具有直观和易于管理的特点。命名默认前缀:tv_

1.树状视图控件的常用属性

(1)“HasButtons”属性:指定是否在父节点列表项前显示“+”和“-”按钮,取值为True或False。用户单击“+”按钮时将扩展列表项,单击“-”按钮时将折叠列表项。
(2)“HasLines”属性:指定是否用连线将列表项连接起来,取值为True或False。
(3)“Indent”属性:值为Integer类型,指定下层节点(列表项)的缩进宽度,以PBU为单位。可以使用负值,此时节点被缩进到该控件的边界外边。
(4)“LinesAtRoot”属性:指定是否使用连线连接所有根节点,取值为True或False。
(5)“SortType”属性:取值为枚举类型,指定列表项按标题名排序的方式。有效取值为“Ascending!”“Descending!”“UserDefined!”“Unsorted!”
(6)PictureName[ ]:String型数组,表示该控件使用的图像文件名。可以在创建树状视图时,通过其“Picture”属性页加入这些图像文件。

2.树状视图控件的常用事件有以下九种。
(1)“SelectionChanged”事件:在用户选择新的选项后触发。该事件是树状视图控件比较常用的事件。
(2)“SelectionChanging”事件:当用户选择新的选项时触发。该事件返回1时阻止用户改变当前选项,返回0时允许用户改变当前选项。
(3)“ItemCollapsed”事件:在某个列表项被折叠后触发。
(4)“ItemCollapsing”事件:在某个列表项要被折叠时触发。该事件返回1时阻止折叠,返回0时完成折叠。
(5)“ItemExpanded”事件:在某个列表项被展开后触发。
(6)“ItemExpanding”事件:在某个列表项要被展开时触发。该事件返回1时阻止展开,返回0时完成展开。
(7)“ItemPopulate”事件:当第1次展开某列表项时触发。该事件返回1时阻止展开,返回0时完成展开。
(8)“DoubleClicked”事件:双击鼠标时触发。
(9)“RightClicked”事件:右击鼠标时触发。

 

 

3.树状视图的常用函数

(1)AddPicture()函数。
格式:
AddPicture(String picturename)
在图像列表中增加图片文件,返回值为新加入的图片文件索引号。
(2)CollapseItem()函数。
格式:
CollapseItem(Long itemhandle)
折叠指定的列表项(节点)。其中,itemhandle为要折叠的列表项的句柄(一个长整数,每个节点都有一个唯一代表该节点的句柄)。成功时返回1,失败时返回-1。
(3)ExpandAll()函数。
格式:
ExpandAll(Long itemhandle)
展开指定列表项(节点)的所有各级子项(子节点)。itemhandle为要展开各级子项的列表项的句柄。
(4)ExpandItem()函数。
格式:
ExpandItem(Long itemhandle)
展开指定的列表项(节点)。itemhandle为要展开列表项的句柄。
ExpandItem()函数只展开指定的列表项,而不展开该列表项下的各级子列表项。
(5)FindItem()函数。
格式:
FindItem(navigationcode,itemhandle)
根据列表项位置返回指定列表项的句柄,失败时返回-1。其中,itemhandle为开始查找的列表项的句柄,Long型;navigationcode为要查找的节点,枚举类型,取值如下。
① RootTreeItem!:根节点。
② NextTreeItem!:与itemhandle列表项同一个父节点中同一层的下一个列表项。
③ PreviousTreeItem!:与itemhandle列表项同一个父节点中同一层的前一个列表项。
④ ParentTreeItem!:itemhandle列表项的父节点。
⑤ ChildTreeItem!:itemhandle节点的第一个子列表项。
⑥ CurrentTreeItem!:当前所选列表项。
例如,得到树状视图控件中当前所选项的句柄:
Long tv_curt
tv_curt=tv_1.FindItem(CurrentTreeItem!, 0)
例如,如果希望展开树状视图控件中的所有列表项,则以根节点的句柄为参数调用ExpandAll()函数:
Long tv_rt //查找根节点的句柄
tv_rt = tv_1.FindItem(roottreeitem!,0) //展开所有节点
tv_1. ExpandAll(tv_rt)
(6)GetItem()函数。
格式:
GetItem(itemhandle,item)
得到指定句柄的完整列表项。其中,itemhandle为要得到完整信息的列表项的句柄,为Long型;item为TreeViewItem类型的变量,用于保存itemhandle参数指定列表项的完整信息。
使用GetItem()函数可以得到指定列表项的完整信息,如标题label、句柄itemhandle、使用的图片索引pictureindex等。
(7)InsertItemLast()函数。
格式:
InsertItemLast(handleparent,label,pictureindex)
在末尾加入新节点。其中,handleparent为指定要插入列表项父节点的句柄;label为新插入列表项的标题,即显示在树状视图控件中的文字;pictureindex为新插入列表项标题前显示的图片的索引号。返回值为Long型。函数执行成功时返回新插入列表项的句柄;发生错误时返回-1。
例如,下面的代码在当前列表项后面加入一个列表项“计算机系”,新加入列表项与当前列表项位于同一个层次上(有相同父节点):

Long tv_ct, tv_parent //首先求当前列表项的句柄
tv_ct = tv_1.FindItem(CurrentTreeItem!,0) //再求当前列表项父节点的句柄
tv_parent = tv_1.FindItem(ParentTreeItem!,tv_ct) //加入新列表项
tv_1.InsertItemLast(tv_parent,"计算机系",2)
(8)InsertItem()函数。
格式:
InsertItem(handleparent,handleafter,label,pictureindex)
插入新节点。其中,handleparent指定要插入列表项父节点的句柄;handleafter指定在同一层中句柄为handleafter的项后面插入新项;label为新插入列表项的标题,即显示在树状视图控件中的文字;pictureindex为新插入列表项标题前显示的图片的索引号。返回值为Long型。函数执行成功时返回新插入列表项的句柄,发生错误时返回-1。
例如,下面的代码在当前列表项后面插入一个列表项,新插入列表项与当前列表项位于同一个层次上:
Long tv_ct, tv_parent //得到当前列表项的句柄
tv_ct = tv_1.FindItem(currenttreeitem!,0) //得到当前列表项父列表项的句柄
tv_parent = tv_1.FindItem(parenttreeitem!,tv_ct) //插入新列表项
tv_1.InsertItem(tv_parent,tv_ct,"计算机系",2)
(9)InsertItemFirst()函数。
格式:
InsertItemFirst(handleparent,label,pictureindex)
插入新节点。其中,handleparent指定要插入列表项父节点的句柄;label为新插入列表项的标题,即显示在树状视图控件中的文字;pictureindex为新插入列表项标题前显示的图片的索引号。返回值为Long型。函数执行成功时返回新插入列表项的句柄,发生错误时返回-1。
(10)SelectItem()函数。
格式:
SelectItem(Long itemhandle)
选中指定的列表项(高亮显示该列表项),使其成为当前列表项。
(11)SetItem()函数。
格式:
SetItem(itemhandle, item)
设置指定列表项的数据。其中,itemhandle为要设置列表项数据节点的句柄;item为TreeViewItem对象指定新的数据值。
例如,要将当前列表节点的标签“计算机系”改为“南京师大计算机系”:
Long tv_ct
treeviewitem im //得到当前列表项的句柄
tv_ct = tv_1.FindItem(currenttreeitem!,0)
GetItem(tv_ct, im)
Im.label="南京师大计算机系"
SetItem(tv_ct,im)
(12)Sort()函数。
格式:
Sort(itemhandle,sorttype)
节点排序。其中,itemhandle指定要对其子列表项排序的列表项的句柄;sorttype指定排序方式,取值为Ascending!、Descending!和UserDefined!。
Sort()函数只对指定列表项下面第一层子项进行排序。
(13)SortAll()函数。
格式:
SortAll(itemhandle, sorttype)


通常在窗口的“Open”事件中为“TreeView”加上根节点,在“TreeView”控件的“SelectionChanged”事件或其他事件中编写加入子节点的代码。
当然也可以在窗口的“Open”事件中生成“TreeView”的全部子节点。

 

おすすめ

転載: www.cnblogs.com/Bokeyan/p/11364095.html