よくある質問
FAQ
ウィンドウ上のビューフレーム内に配置しているコントロールにフォーカスを移動させる方法を教えてください。
以下の手順を実施することで、ウィンドウ上のビューフレーム内のコントロールにフォーカスを移動させることができます。
- ビューフレームコントロールのオブジェクトを取得します。
- ビューフレームのパネルオブジェクトを取得します。
- ビューフレーム上のコントロールオブジェクトを取得します。
- SetActiveChild()関数でアクティブオブジェクトの設定をします。
- ChangeFocus()関数でパネルにフォーカスを移動します。
※ChangeFocus()関数でパネルを指定することでSetActiveChild()関数で指定したコントロールにフォーカスが移動します。
以下にウィンドウ上ビューフレーム内のコントロールにフォーカスを移動させるサンプルコードを記載します。本サンプルはウィンドウ上にボタンを配置し、ボタンのOnClick関数内で、ビューフレーム内のボタンにフォーカスを移動させるサンプルです。
■サンプルコード(C++言語版)
#include "GCWindow00001Frame00001.hpp"
#include "GCSVFrame.hpp"
GCSVFrame *pVFrame;
GCButton *pButton;
GCPanel *pPanel;
/*ビューフレームのオブジェクトを取得します*/
pVFrame = (GCSVFrame *)GetChild( FRAME00001 );
/*ビューフレームパネル000のオブジェクトを取得します*/
pPanel=(GCPanel *)pVFrame->GetChild( GCWindow00001Frame00001::PANEL000 );
/*ビューフレーム上のボタンのオブジェクトを取得します*/
pButton =(GCButton *)pPanel->GetChild( GBUTTON00002 );
/*アクティブオブジェクトの設定をします*/
SetActiveChild( GWINDOW_SEARCH_FROM_FIRST, (GCBaseWindow *)pButton );
/*フォーカスをボタンへ移動します*/
GCWGetScreen()->ChangeFocus( pPanel );
■サンプルコード(C言語版)
#include "GWindow00001Frame00001.h"
#include "GSVFrame.h"
GSVFrame *pVFrame;
GButton *pButton;
GPanel *pPanel;
GWindow *pWindow;
GFrame *pFrame;
/*フレームオブジェクトを取得*/
pFrame = (GFrame*)GWGetVmt( GScreen_VMT, GWGetScreen() )->GetFrame( GWGetScreen() );
/*ウィンドウオブジェクトを取得*/
pWindow = (GWindow*)GWGetVmt( GFrame_VMT, pFrame )->GetChild( pFrame, 1+1 );
pPanel=(GPanel *)GWGetVmt(GWindow_VMT,pWindow)->GetPanel(pWindow);
/*ビューフレームのオブジェクトを取得します*/
pVFrame = (GSVFrame *)GWGetVmt( GPanel_VMT, pPanel )->GetChild( pPanel, FRAME00001);
/*ビューフレームパネルのオブジェクトを取得します*/
pPanel=(GPanel *)GWGetVmt( GPanel_VMT, pVFrame )
->GetChild( pVFrame,GWINDOW00001FRAME00001_PANEL000 );
/*ビューフレーム上のボタンのオブジェクトを取得します*/
pButton =(GButton *)GWGetVmt( GPanel_VMT, pPanel )->GetChild(pPanel, GBUTTON00002 );
/*アクティブオブジェクトの設定をします*/
GWGetVmt( GPanel_VMT, pPanel )
->SetActiveChild( pButton,GWINDOW_SEARCH_FROM_FIRST, (GBaseWindow *)pButton );
/*フォーカスをボタンへ移動します*/
GWGetVmt(GScreen_VMT, GWGetScreen() )->ChangeFocus( GWGetScreen(),(GBaseWindow *) pPanel );
キーワードで検索する
カテゴリーから検索する
- よくある質問
- 導入フロー
- セミナー
- カタログダウンロード
- On YouTube