ここは旧式の4DドキュメントWebサイトです。最新のアップデートされたドキュメントを読むには新サイトをご利用下さい→ developer.4d.com |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v18
On VP Ready フォームイベント
|
標準の4D イベント(Form event code参照) | 4D View Pro 特有イベント |
On Load | On VP Ready |
On Getting Focus | On Clicked |
On Losing Focus | On Double Clicked |
On Unload | On Header Click |
On After Edit | |
On Selection Change | |
On Column Resize | |
On Row Resize |
4D View Pro エリアを初期化するためのコード (値の読み込みなど) は当該エリアの On VP Ready フォームイベント内に書く必要があります。このフォームイベントはエリアの読み込みが完了したときに生成されるため、有効なコンテキスト内でコードを実行するには、同イベントの利用が確実です。On VP Ready フォームイベントが生成される前に 4D View Proコマンドを呼び出してしまうと、エラーが返されます。
注: 4D View Pro エリアは非同期的に4Dフォーム上に読み込まれます。したがって、標準の On load フォームイベントは4D View Proエリアの読み込み完了を保証せず、4D View Proの初期化コードに利用することはできません。On VP Ready は常に On load の後に生成されます。
4D View Pro ドキュメント上のどこかをクリックすると、On Clicked イベントが生成されます。FORM Event コマンドによって返されるオブジェクトには、以下のプロパティが格納されています:
プロパティ | 型 | 詳細 |
code | 倍長整数 | On Clicked |
description | テキスト | "On Clicked" |
objectName | テキスト | 4D View Pro エリア名 |
sheetName | テキスト | イベントのシート名 |
range | オブジェクト | セルのレンジ |
例:
If(FORM Event.code=On Clicked)
VP SET CELL STYLE(FORM Event.range;New object("backColor";"green"))
End if
ユーザーが4D View Pro ドキュメント上のどこかをダブルクリックすると、On Double Clicked イベントが生成されます。FORM Event コマンドによって返されるオブジェクトには、以下のプロパティが格納されています:
プロパティ | 型 | 詳細 |
code | 倍長整数 | On Double Clicked |
description | テキスト | "On Double Clicked" |
objectName | テキスト | 4D View Proエリア名 |
sheetName | テキスト | イベントのシート名 |
range | オブジェクト | セルのレンジ |
例:
If(FORM Event.code=On Double Clicked)
$value:=VP Get value(FORM Event.range)
End if
ユーザーが4D View Pro ドキュメント内のカラムまたは行ヘッダーをクリックすると、On Header Click イベントが生成されます。FORM Event コマンドによって返されるオブジェクトには以下のプロパティが格納されています:
プロパティ | 型 | 詳細 |
code | 倍長整数 | On Header Click |
description | テキスト | "On Header Click" |
objectName | テキスト | 4D View Pro エリア名 |
sheetName | テキスト | イベントのシート名 |
range | オブジェクト | セルのレンジ |
sheetArea | 倍長整数 | イベントが発生したシートの場所: |
例:
If(FORM Event.code=On Header Click)
Case of
:(FORM Event.sheetArea=1)
$values:=VP Get values(FORM Event.range)
:(FORM Event.sheetArea=2)
VP SET CELL STYLE(FORM Event.range;New object("backColor";"gray"))
:(FORM Event.sheetArea=0)
VP SET CELL STYLE(FORM Event.range;New object("borderBottom";New object("color";"#800080";"style";vk line style thick)))
End case
End if
4D View Pro ドキュメントで何か変更があると、On After Edit イベントが生成されます。FORM Event コマンドから返されるオブジェクトには以下のプロパティが格納されています:
プロパティ | 型 | 詳細 |
code | 倍長整数 | On After Edit |
description | テキスト | "On After Edit" |
objectName | テキスト | 4D View Proエリア名 |
sheetName | テキスト | イベントのシート名 |
action | テキスト | "editChange"、"valueChanged"、"DragDropBlock"、"DragFillBlock"、"formulaChanged"、"clipboardPasted" |
注: On VP Range Changed イベントも参照してください。
action プロパティの値によって、オブジェクトには追加のプロパティが格納されていることがあります。
テキストの編集をした場合、以下の追加のプロパティが生成されます:
プロパティ | 型 | 詳細 |
range | オブジェクト | セルのレンジ |
editingText | バリアント | カレントのエディターからの値 |
値を変更すると、以下の追加のプロパティが生成されます:
プロパティ | 型 | 詳細 |
range | object | セルのレンジ |
oldValue | バリアント | 変更前のセルの値 |
newValue | バリアント | 変更後のセルの値 |
ドラッグとドロップのアクションをすると、以下の追加のプロパティが生成されます:
プロパティ | 型 | 詳細 |
fromRange | オブジェクト | ソースセルレンジ(ドラッグされる範囲)のレンジ |
toRange | オブジェクト | 移行先セルレンジ(ドロップされる場所)のレンジ |
copy | ブール | ソースレンジがコピーされたかどうかを表します |
insert | ブール | ソースレンジが挿入されたかどうかを表します |
セルのコンテンツをドラッグして近隣のセルに自動入力をしようとすると、以下の追加のプロパティが生成されます:
プロパティ | 型 | 詳細 |
fillRange | オブジェクト | 自動入力のために使用されるレンジ |
autoFillType | 倍長整数 | 自動入力のために使用される値。 |
fillDirection | 倍長整数 | ドラッグが行われた方向 |
フォーミュラを入力すると、以下の追加のプロパティが生成されます:
プロパティ | 型 | 詳細 |
range | オブジェクト | セルのレンジ |
formula | テキスト | 入力されたフォーミュラ |
クリップボードからコンテンツをペーストすると、以下の追加のプロパティが生成されます:
プロパティ | 型 | 詳細 | |||||||||
range | オブジェクト | コンテンツを受け取るセルのレンジ | |||||||||
pasteOption | 倍長整数 | クリップボードから何をペーストされたかを表します: | |||||||||
pasteData | オブジェクト | クリップボードからペーストされるデータ | |||||||||
|
以下はOn After Edit イベントを管理する例です:
If(FORM Event.code=On After Edit)
If(FORM Event.action="valueChanged")
ALERT("WARNING: You are currently changing the value from "+String(FORM Event.oldValue)+" to "+String(FORM Event.newValue)+"!")
End if
End if
上記のコードの結果生成されたイベントオブジェクト(FORM Event参照)は、以下のような形式をしています:
{
"code":45;
"description":"On After Edit";
"objectName":"ViewProArea"
"sheetname":"Sheet1";
"action":"valueChanged";
"range": {area:ViewProArea,ranges:[{column:1,row:2,sheet:1}]};
"oldValue":"The quick brown fox";
"newValue":"jumped over the lazy dog";
}
4D View Pro ドキュメント内で行またはカラムのカレントセレクションを変更すると、On Selection Change イベントが生成されます。FORM Event コマンドによって返されるオブジェクトには以下のプロパティが格納されています:
プロパティ | 型 | 詳細 |
code | 倍長整数 | On Selection Change |
description | テキスト | "On Selection Change" |
objectName | テキスト | 4D View Proエリア名 |
sheetName | テキスト | イベントのシート名 |
oldSelections | オブジェクト | 変更前のセルレンジ |
newSelections | オブジェクト | 変更後のセルレンジ |
例:
If(FORM Event.code=On Selection Change)
VP SET CELL STYLE(FORM Event.oldSelections;New object("backColor";Null))
VP SET CELL STYLE(FORM Event.newSelections;New object("backColor";"red"))
End if
4D View Pro ドキュメント内でユーザーがカラムの幅を変更した場合、On Column Resize イベントが生成されます。FORM Event コマンドによって返されるオブジェクトには以下のプロパティが格納されています:
プロパティ | 型 | 詳細 |
code | 倍長整数 | On Column Resize |
description | テキスト | "On Column Resize" |
objectName | テキスト | 4D View Proエリア名 |
sheetName | テキスト | イベントのシート名 |
range | オブジェクト | 幅が変更されたカラムのセルレンジ |
header | ブール | 行ヘッダーカラム(最初のカラム)がリサイズされた場合にはTrue、それ以外の場合にはFalse |
例:
If(FORM Event.code=On Column Resize)
VP SET CELL STYLE(FORM Event.range;New object("hAlign";vk horizontal align right))
End if
4D View Pro ドキュメント内でユーザーが行の高さを変更した場合、On Row Resize イベントが生成されます。FORM Event コマンドによって返されるオブジェクトには以下のプロパティが格納されています:
プロパティ | 型 | 詳細 |
code | 倍長整数 | On Row Resize |
description | テキスト | "On Row Resize" |
objectName | テキスト | 4D View Proエリア名 |
sheetName | テキスト | イベントのシート名 |
range | オブジェクト | 高さが変更された行のセルレンジ |
header | ブール | カラムのヘッダー行(最初の行)がリサイズされた場合にはTrue、それ以外の場合にはFalse |
例:
If(FORM Event.code=On Row Resize)
VP SET CELL STYLE(FORM Event.range;New object("vAlign";vk vertical align top))
End if
プロダクト: 4D
テーマ: On VP Ready フォームイベント
4D View Pro リファレンス ( 4D v18)