よくある質問

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;
}


採用情報

Recruit

アイ・エル・シーでは一緒に働くメンバーを
随時募集しております。