You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Current »

[ |../../index.htm#lansa/lansa048_3440.htm]
Visual LANSA フレームワーク ガイド > フレームワーク・プログラミング > エンドユーザー・ヘルプ > VLF-WIN アプリケーションで、F1=ヘルプ・キーの無効化、および別の機能の割り当て

VLF-WIN アプリケーションで、F1=ヘルプ・キーの無効化、および別の機能の割り当て


Visual LANSAアプリケーションでは、F1キーに特別な機能が割り当てられています。
オンライン・ヘルプを起動する、という機能であり、Windowsアプリケーションでは一般に、ほかの目的でこのキーを使うことはできないようになっています。
ただし、これを無効にし、処理を取り込んで別の目的(CHM文書を表示するなど)に使うことも可能です。
F1=ヘルプ・キーを取り込んで、無効にするコード例を以下に示します。付属のユーザー・エントリー・ポイント・フォームUF_EXECを若干修正したものです。
試してみる場合は、UF_EXEC以外の名前のフォームを作り、以下のコードをコピーしてください。
独自のエントリー・ポイント・フォームを作成する方法については、コード末尾の注釈も参照してください。
 

  • =============================================================================
  • Component   :XX_EXEC
  • Type        :Form
  • Ancestor    :VF_AC006
    *
  • =============================================================================
    *
    *         注:  このコンポーネントは提供されているバージョンのコピーです。
    *               修正して使用できます。
    *       このコンポーネントの独自のバージョンを作成する詳細については、
    *       このコンポーネントの最後を参照してください。
    *
    Function Options(*DIRECT) 
    BEGIN_COM ROLE(*EXTENDS #VF_AC006 *implements #Prim_App.IHelpHandler) CLIENTWIDTH(771) LEFT(153) TOP(32) WIDTH(779)
    DEFINE_COM CLASS(*ANCESTOR) NAME(#BROWSER) WIDTH(247)
    DEFINE_COM CLASS(*ANCESTOR) NAME(#COMMANDHANDLER) WIDTH(578)
    DEFINE_COM CLASS(*ANCESTOR) NAME(#COMMAND_PANEL) WIDTH(578)
    DEFINE_COM CLASS(*ANCESTOR) NAME(#INTRO) WIDTH(578)
    DEFINE_COM CLASS(*ANCESTOR) NAME(#INTRO_PANEL) WIDTH(578)
    DEFINE_COM CLASS(*ANCESTOR) NAME(#RIGHT_PANEL) WIDTH(578)
    DEFINE_COM CLASS(*ANCESTOR) NAME(#SELECT_PANEL) WIDTH(247)
    DEFINE_COM CLASS(*ANCESTOR) NAME(#TOP_PANEL) WIDTH(578)
    DEFINE_COM CLASS(*ANCESTOR) NAME(#WORK_PANEL) WIDTH(578)
    DEFINE_COM CLASS(*ANCESTOR) NAME(#STATUS) LEFT(239)
    DEFINE_COM CLASS(*ANCESTOR) NAME(#TOOLBAR) WIDTH(767)
    DEFINE_COM CLASS(*ANCESTOR) NAME(#IDENT_PANEL) WIDTH(767)
    DEFINE_COM CLASS(*ANCESTOR) NAME(#MAIN_PANEL) WIDTH(767)
    DEFINE_COM CLASS(*ANCESTOR) NAME(#IDENT_BUTTON) LEFT(746)
    DEFINE_COM CLASS(*ANCESTOR) NAME(#CURRENT_OBJECT) WIDTH(467)
    DEFINE_COM CLASS(*ANCESTOR) NAME(#APPLICATION) WIDTH(185)
    DEFINE_COM CLASS(*ANCESTOR) NAME(#LEFT_PANEL) WIDTH(185)
    DEFINE_COM CLASS(*ANCESTOR) NAME(#STATUS_BAR) WIDTH(771)
    DEFINE_COM CLASS(*ANCESTOR) NAME(#MiniFilter) WIDTH(467)
    DEFINE_COM CLASS(*ANCESTOR) NAME(#Right_panel_Main) LEFT(189) WIDTH(578)
     
     
  • =============================================================================
  • メソッド・ルーチン
  • =============================================================================
     
    MthRoutine uInitializeFramework Options(*Redefine)
     
  • エンドユーザー・モードの設定
     
    Set #Com_Owner uDesignMode(FALSE)
    Set #Com_Owner uAdminMode(FALSE)
     
  • スタート・イメージ名の設定
     
    Set #Com_Owner uStartupImage(#uf_im001)
     
  • フレームワーク設計を含む XML ファイルを指定
     
    Set #Com_Owner uSystemXMLFile('vf_sy001_system.xml') uSystemXMLChoice('vf_sy001_system_choice')
     
    EndRoutine
     
    Mthroutine Name(ProcessHelpRequest) Options(*Redefine)
  • Define_Map For(*input) Class(#prim_objt) Name(#Requestor) Pass(*by_reference)
  • Define_Map For(*input) Class(#prim_alph) Name(#Tag)
  • Define_Map For(*input) Class(#prim_boln) Name(#Handled)
     
    ****************************************************************************
  • F1 を無視するかどうかのロジックを追加
    ****************************************************************************
     
  • Handled が TRUE の場合、通常の VL ヘルプ機能にヘルプ要求は送られません。
     
    Set Com(#Handled) Value(True)
     
    Endroutine
     
    *  =============================================================================
  • このコンポーネントの独自のバージョンを作成
    *  =============================================================================
  • フレームワーク用の開発または設計のエントリー・ポイントを作成することは推奨されていません。
  • この提供のフレームワークを使って、[名前を付けて保存] のオプションを使用する、または、異なるフレームワークを作成

  • してください。次に、管理者と実稼働ユーザーに必要なユーザー・エントリー・ポイントのみを作成し、
  • これを指定の XML ファイルにロックして、エンドユーザーにフレームワーク XML ファイルの選択を
  • 許可しないようにします。
  • 独自のエントリー・ポイントの作成は次の手順に従ってください。
  • *  -> 自分で指定したエントリー・ポイント名 (MYEXEC など) で、VL フォームを作成。
  • *  -> EF_EXEC のコードをコピー。
    *  最初はこれによりエラーが表示されます。
  • *  -> 新しいフォームの祖先を VF_AC006 に変更。
  • *  -> コピーされたコードには、次のようなメソッド・ルーチンが
    *   含まれているはずです。
  • *  MthRoutine uInitializeFramework Options(*Redefine)
    *  Set #Com_Owner uDesignMode(FALSE)
    *  Set #Com_Owner uAdminMode(FALSE)
    *  Set #Com_Owner uStartupImage(#uf_im001)
    *  Set #Com_Owner uSystemXMLFile('vf_sy001_system.xml')
    *  EndRoutine
  • このコードでは、このエントリー・ポイントがアプリケーション設計 (uDesignMode) を許可するかどうか、
  • サーバーおよびユーザーの管理者 (uAdminMode).を許可するかどうかが定義されます。
  • また、どのスタートアップ・ビットマップを表示するか (uStartUpImage) や、
  • フレームワーク設計を含む XML ファイルも
  • 定義されます。
  • -> 要望に合わせてプロパティを変更し、独自に作成したエントリー・ポイントのテストを行います。
    *  エントリー・ポイントのロジックにその他の変更は加えないでください。
  • -> 任意で uSystemXMLChoice ファイル名を加えることで、
    *  ユーザーが指定のファイルに含まれるリストからどのフレームワークを開くかを
    *  選択できるようにすることができます。
  • -> 設計モードでのエントリー・ポイントでのみ、オプションで uSystemXMLSaveAs プロパティ
    *  を追加して、デザイナーがフレームワーク XML ファイルを異なる名前で保存できることを
    *  示します。
  • -> LANSA リポジトリにビットマップを登録する場合、
    *  例えば #MYLOGO という名前で会社のロゴを登録するには、次の行を変更します。
  • *  Set #Com_Owner uStartupImage(#uf_im001)
  • を以下に変更します。
  • *  Set #Com_Owner uStartupImage(#MYLOGO)
  • *  これにより、フレームワークが開始されている間、このロゴを表示させておくことができます。
  • -> UF_DESGN、UF_DEVEL、UF_ADMIN、UF_EXEC の使途は、フレームワークのエントリー・ポイントとして
    *  のみです。UF_DESGN、UF_DEVEL、UF_ADMIN、UF_EXEC (および、このコピーも含め) は、フレームワーク内で
    *  絶対に使用しないでください。
  •  
    End_Com
     
    [ |../../index.htm#lansa/lansa048_3440.htm]
  • No labels