0

作成したウィンドウにデータウィンドウ グリッドがあり、この DW の 1 つの列にはデータとして、作成したメニューとサブメニューと同じ異なるメニュー パスがあります。ポイントは、すべての DW 行をダブルクリックしたときに、各行にデータとして格納されている別のメニュー パスのクリック イベントを実行したいということです。たとえば、最初の行は「m_epith_frame.m_parms_su.m_poi.m_poi_ergast」、2 番目の行は「m_appl_frame.m_1_sb.m_2_sb」などです。スクリプトで m_epith_frame.m_parms_su.m_poi.m_poi_ergast.Clicked()このメニュー項目の Clicked イベントをトリガーし、たとえばフォームを開きます...各行をクリックして、各行のすべてのメニュー パスに対して clicked イベントをトリガーするにはどうすればよいですか? 動的イベント呼び出しの問題だと思いますが、解決策が見つかりません..

前もって感謝します

4

1 に答える 1

0

メニューを再帰して、メニュー パスの文字列配列を作成できます。同時に、メニュー項目の配列をmenuitem作成し、文字列と同じ配列インデックス番号を使用してオブジェクトをこれに割り当てます。menuitemcreate を使用せず、単に配列に割り当てます。

誰かが行をクリックすると、文字列配列でパスのインデックスを見つけ、同じインデックスを使用してメニュー項目配列でクリック イベントをトリガーします。

メニュー項目配列は、メニュー内の実際のメニュー項目へのポインターを保持するため、メニュー オプションをクリックするのと同じです。たとえば、次のようにコーディングできます。

im_menuitems[li_menuindex].Triggerevent (Clicked!) 

これm_epith_frame.m_parms_su.m_poi.m_poi_ergastがクリックされたものである場合。

于 2011-10-26T12:24:50.467 に答える