よくある質問
FAQ
最前面に表示されているウィンドウにフォーカスを移動させたいのですが、どのようにしたら実現できますか。
ChangeFocus()関数を使用することで、最前面に表示されているウィンドウへのフォーカスの移動が実現可能です。
以下にChangeFocus()関数を使用したサンプルコードを記載いたします。
このサンプルは、パネル上でキーを押した場合にウィンドウにフォーカスが移動するサンプルです。
■最前面のモーダレスウィンドウにフォーカスを当てるサンプルコード
short GCPanel00000::PreKeyPress( unsigned short usKeyCode, unsigned long ulStatus,long *pReturnValue )
{
//{{_GUI_SCRIPT_FUNCTION_CALL(PreKeyPress)
GCScreen *pScreen = NULL;
GCFrame *pFrame = NULL;
GCWindow *pWindow = NULL;
GCPanel *pPanel = NULL;
GCBaseWindowList *pWindowList = NULL;
void *pvItem = NULL;
/*スクリーンオブジェクト取得*/
pScreen = GCWGetScreen();
/*フレームオブジェクト取得*/
pFrame = pScreen->GetFrame();
if( !pFrame ){
/* フレームが見つからなかった場合処理を抜ける*/
return FALSE;
}
/*パネルオブジェクト取得*/
pPanel = (GCPanel*)pScreen->GetPanel();
/* ウィンドウリスト取得*/
pWindowList = pFrame->GetChildList();
/* リストの検索位置を初期化*/
if( pWindowList->FindLastItem() == FALSE ){
return TRUE;
}
/* リストの検索処理*/
if( pWindowList->FindPrevItem( (GCBaseWindow**)&pWindow ) == TRUE ){
pPanel = (GCPanel*)pWindow->GetPanel();
if( pPanel ){
/*最前面のウィンドウに対してフォーカスを当てる*/
GCWGetScreen()->ChangeFocus( pPanel );
}
}
return TRUE;
}
キーワードで検索する
カテゴリーから検索する
- よくある質問
- 導入フロー
- セミナー
- カタログダウンロード
- On YouTube