· 

Registry Open Close

PowerBuilder Totalworksystem

Window Open & Close Registry

Window画面の配置を閉じた時に座標位置を覚えてOpen時に呼出しセットする方法。Registryを使って、業務別(業務アプリケーション)、プログラムID毎にRegistryへ座標位置(x、y)を保存呼出しして以前に作業したWindow画面の配置から開始できます。

<使い方>

String XWin,YWin  //レジストリ 開始終了位置確保

//-----------------------------------------------------

// OPEN処理レジストリ設定(Window画面位置の読込み)

//   String XWin,YWin グローバル変数へ設定

//-----------------------------------------------------

Integer I

I = (RegistryGet(  &

HKEY_CURRENT_USER\SOFTWARE\業務名ID\プログラムID","X", XWin ))

IF I < 0 Then

// MessageBox("-->","X:レジストリ取得ERROR!!")

END IF

 

 

 

I = (RegistryGet(  &

"HKEY_CURRENT_USER\SOFTWARE\業務名ID\プログラムID","Y", YWin ))

IF I < 0 Then

// MessageBox("-->","Y:レジストリ取得ERROR!!")

END IF

 

This.X = Integer(XWin)

This.Y = Integer(YWin)

 

次は、Closeの時座標位置をレジストリへ保存します。

 

//------------------------------------------------------

// CLOSE処理レジストリ設定(書込み)

//------------------------------------------------------

String W_XWin, W_YWin

W_XWin = String(This.X)

W_YWin = String(This.Y)

 

RegistrySet(  &

"HKEY_CURRENT_USER\SOFTWARE\業務名ID\プログラムID", "X", W_XWin )

RegistrySet(  &

"HKEY_CURRENT_USER\SOFTWARE\業務名ID\プログラムID", "Y", W_YWin )

 

これをOpenとCloseへ各Windowへセットします。書込み確認は「regedit.exe」で確認する事ができます。


◎PTW(PowerBuilder TotalWorksystem)で自動生成されたプログラムは自動的に作成されます。 

 

 

※グローバル変数 レジストリ基準パスを先に設定しておく方法も有ります。

RegPathへ各WindowのOPENへ「プログラムID」を付けて設定します。 

<例>

・グローバル変数へ

string RegPath = "HKEY_CURRENT_USER\SOFTWARE\PTW\業務名ID\"

 

・各WindowのOPENへ

RegistryGet( RegPath + ClassName(), "X", XWin )

RegistryGet( RegPath + ClassName(), "Y", YWin )

This.X = Integer(XWin)

 

This.Y = Integer(YWin)