- 質問:ウィンドウの開閉方法を教えてください。
- 回答:GENWARE2では「モーダレスウィンドウ」と「モーダルウィンドウ」の2種類のウィンドウが用意されています。以下にそれぞれにウィンドウの開閉処理を記載します。
【モーダレスウィンドウ】
■モーダレスウィンドウのオープン処理
GWGetVmt( GScreen_VMT, GWGetScreen() )->CreateGWindow( GWGetScreen(),
WINDOW_NO);
■モーダレスウィンドウのクローズ処理
GFrame *pFrame; //フレームのポインタ
GWindow *pWindow; //ウィンドウのポインタ
//フレームのポインタを取得
pFrame = (GFrame*)GWGetVmt( GScreen_VMT, GWGetScreen() )->GetFrame(
GWGetScreen() );
//ウィンドウのポインタを取得
pWindow = (GWindow*)GWGetVmt( GFrame_VMT, pFrame )->GetChild(
pFrame, (short)(WINDOW_NO+1) );
//モーダレスでウィンドウをクローズ
GWGetVmt( GScreen_VMT, pWindow )->Close( pWindow );
【モーダルウィンドウ】
■モーダルウィンドウのオープン
GWGetVmt( GScreen_VMT, GWGetScreen() )->ModalGWindow( GWGetScreen(),
WINDOW_NO);
■モーダルウィンドウのクローズ
GFrame *pFrame; //フレームのポインタ
GWindow *pWindow; //ウィンドウのポインタ
//フレームのポインタを取得
pFrame = (GFrame*)GWGetVmt( GScreen_VMT, GWGetScreen() )->GetFrame(
GWGetScreen() );
//ウィンドウのポインタを取得
pWindow = (GWindow*)GWGetVmt( GFrame_VMT, pFrame )->GetChild(
pFrame, (short)(WINDOW_NO+1) );
//モーダルでウィンドウをクローズ
GWGetVmt( GWindow_VMT, pWindow)->EndModal(pWindow,NULL);
※WINDOW_NO:GENSKECH2上の画面番号
【補足】
ウィンドウの種類には「モーダルウィンドウ」と「モーダレスウィンドウ」の2種類があります。
「モーダルウィンドウ」とは一度開いたウィンドウを閉じるまで、他のパネルやウィンドウの操作をできなくするタイプの
ウィンドウのことです。
「モーダレスウィンドウ」とは一度開いたウィンドウを閉じなくても、他のパネルやウィンドウの操作ができるタイプのウィンドウのことです。