■5519 / inTopicNo.8) |
Re[1]: 表形式編集 .or フォーム形式編集
|
□投稿者/ ONnoji -(2010/01/21(Thu) 11:34:43)
| > イベントで他のウィンドウの表示状態(表形式編集またはフォーム形式編集)を知る関数または一括コマンドはありますでしょうか?
拙作(INF Tools)を利用している場合ならば、という前提ですが…
以下をご参考にしてみてください。
ブログ版−桐のイベント道場|INF_Toolsの話|ランチャー機能/シーカー(探知機)/ http://blogs.yahoo.co.jp/siliconvalley_bay_7565/30228107.html
第30話 ランチャー機能 シーカー(探知機) 一般手続き:LNCprcHdlinfo( )
実際にフォームまたは表のウィンドウを開かずに、 ウィンドウの状態だけを調べたい場合がしばしばあります。
これは大抵の場合、ウィンドウがすでに在るか否かを調査するのが目的です。
INF_Tools には、ランチャー機能(LNC)のシーカー(探知機)が用意されています。
■LNCのシーカー(探知機) 一般手続き:LNCprcHdlinfo( )
LNCのシーカー(探知機)を利用するには、次の手続きを呼び出してください。
手続き実行 LNCprcHdlinfo( 作業表の番号, ファイル名, ハンドル, 状態, 多重化, 更新モード )
・整数/作業表の番号は[値渡し]です。
・文字列/ファイル名は[値渡し]です。 フォーム名または表名をフルパスで指定します。拡張子は省略できません。
・整数/ハンドルは[参照渡し]です。 ハンドルの値を返す。/作業表の番号の編集表がない場合、何も実行せず未定義値を返す
・整数/状態は[参照渡し]です。 フォーム編集ならばハンドルの値を返す/表編集ならば未定義値を返す/ファイルが見つからなければゼロを返す
・整数/多重化は[参照渡し]です。 表が多重化されているならば2番目の表番号を返す
・整数/更新モード[参照渡し]です。 更新モードの番号を返す
<注意> 一般手続き:LNCprcHdlinfo( )は、ウィンドウでなく編集表と開いている表を調べません。 あくまでも、フォームまたは表のウィンドウのハンドルに関する情報を得るだけです。 ウィンドウでなく編集表と開いている表を調べる機能は、 一般手続き:LNCprcWindowAppear( )だけに用意されています。
(例)
手続き定義開始 sample( ) 変数宣言 自動,文字列{ &wfm, &tbl, &targetFileName } 変数宣言 自動,整数 { &workTblNum, &found, &status, &multi, &mode }
&wfm = #一括パス名 + "○×△.wfm" &tbl = #一括パス名 + "○×△.tbl"
* フォーム名と表名はフルパスで指定します(拡張子は省略できません)。 * シーカー(探知機)を実行する場合には自身のフォームを表示モードにしておく必要があります。
&workTblNum = &hwindow &targetFileName = &wfm 手続き実行 LNCprcHdlinfo( &workTblNum, &targetFileName, &found, &status, &multi, &mode )
&workTblNum = &hwindow &targetFileName = &tbl 手続き実行 LNCprcHdlinfo( &workTblNum, &targetFileName, &found, &status, &multi, &mode )
手続き定義終了
|
|