問題タブ [taction]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
1349 参照

delphi - TActionラジオアイテム

アクション バンドには TAction コンポーネントがあります。

そのコンポーネントは、という名前のプロパティを保持しています

しかし、フィールド

そこにいない。

  1. 何故ですか?
  2. TAction をチェックボックスにするにはどうすればよいですか?

アクションの向きは、ActionMainMenuBar と ActionManager です。

0 投票する
2 に答える
2440 参照

delphi - 実行時にドロップダウン メニューをアクション アイテムに追加する方法

次のメソッドを使用して、実行時に Action を持つ ActionClient を作成しています。

これは、リストに項目が既に存在する場合は正常に機能しますが、存在しない場合はまったく機能しません

たとえば、設計時に項目を追加すると、実行時にさらに項目を追加できます

ここに画像の説明を入力 ここに画像の説明を入力

しかし、設計時に何も追加しないと、アイテムのリストを表示するドロップダウンがなく、アイテムを追加した後にドロップダウンが表示されません。

ここに画像の説明を入力

これはアクションで行う必要はありませんが、メニュー システムの残りの部分はアクションを使用するため、アクション ドロップダウンに標準の MenuItem を追加することはできないと思います。

デルファイ 2005

0 投票する
1 に答える
1144 参照

delphi - Delphi XE - TRibbon アクションは常に MainForm にフォーカスを送信します

TRibbon コントロールをアプリケーションの MainForm ではないフォームに配置すると、TRibbon のアクション (切り取り、貼り付けなど) は、アクションの実行後に常にフォーカスを MainForm に戻します。

これは、TRibbon を保持する TForm が MainForm の子でない場合でも発生します。

Windows 7 64 ビット、Embarcadero RAD Studio XE バージョン 15.0.3953.35171 を使用しています。

TRibbon コントロールを間違って使用していますか、それとも TRibbon の問題ですか?

0 投票する
3 に答える
1608 参照

delphi - 設計時にサブコンポーネント TAction を使用可能にする方法は?

カスタム コンポーネントで、いくつかの TAction をサブコンポーネントとして作成しました。それらはすべて公開されていますが、オブジェクト インスペクタからは利用できなかったため、設計時に割り当てることができませんでした。

オブジェクトインスペクターでそれらを「反復可能」にするにはどうすればよいですか? アクションの所有者をカスタム コンポーネント (ホスティング フォーム) の所有者に設定しようとしましたが、成功しませんでした。

編集: Embarcadero がこの問題に関連する Delphi IDE の動作を変更したようです。XE より前のバージョンの Delphi を使用している場合は、私自身の回答のソリューションを使用する必要があります。XE 以降では、Craig Peterson のソリューションを使用する必要があります。

編集: 問題を解決する独自の回答を追加しました。つまり、カスタム コンポーネントで TCustomActionList インスタンスを作成し、その所有者をホスティング フォーム (カスタム コンポーネントの所有者) に設定します。ただし、TCustomActionList のインスタンスは冗長だと思うので、このソリューションにはあまり満足していません。だから私はまだより良い解決策を得ることを望んでいます。

編集:コードサンプルを追加

0 投票する
1 に答える
331 参照

delphi - カスタム描画 TAction ドロップダウン メニュー

TAction のリストを含む TActionClientItem のドロップダウン メニューを作成します。メニューまたは内部の各 TAction の描画イベントをフックして、これらの TAction のキャプションを別の方法で表示する方法を知りたいです!? TAction.OnDrawItem や TActionClientItem.OnDrawItem のようなもの...

乾杯。

0 投票する
1 に答える
1100 参照

delphi - 実行時にTActionをツールバーボタンに割り当てる方法は?

設定ファイルに基づいてツールバーボタンを動的に追加します。それらにTActionを割り当てたいと思います。今のところ、アクションOnExecuteハンドラーを使用してOnClickイベントを追加しましたが、アクションが無効になっている場合、たとえばデザイン時に追加されたTMenuItemsのように、ツールバーボタンは自動的に無効になりません。

つまり、IDEの[アクション]ドロップダウンメニューを使用して、実行時バージョンの設計時にTActionを割り当てる必要があります。

これが私がこれまでに行ったことです(コードはC ++ですが、それが何をするかは明らかです)。

これによりツールバーにボタンが追加され、アクションの有効化/無効化状態に従うように見えますが、クリックしても何も起こりません。アクションを適切かつ完全に追加するにはどうすればよいですか?

0 投票する
2 に答える
684 参照

delphi - TActionの名前を別のフォームに変更

TActionManager1つのシングルと割り当てられTActionた-sを共有したい2つのフォームがあります。

最初のフォームはメインフォームです-それはTActionManagerTActionキャプション「アクション」で保持されます。

Form1のメインメニューでは、このアクションとmenuitemのcaptionプロパティが「アクションA」に設定されています。Form2にはForm1が含まれ、メニュー項目にアクションを割り当て、キャプションは「アクションB」に設定されます。

設計時はすべてが良好に見えます。メニュー項目には、Form1とForm2で「アクションA」と「アクションB」という名前が付けられ、同じアクションが割り当てられます。実行時にも正常に動作します(OnExecuteは両方のフォームで適切に処理されます)。

ただし、実行時に、Form1メニュー項目には「アクションA」というキャプションがあり、Form2にはアクションキャプションと同じように「アクション」というメニュー項目キャプションがあります。

それらを誤って含めていますか?アクションを共有し、キャプションを変更するためにForm2にForm1を含めることは可能ですか?D2010 / CB2010のバグですか?

例:

  1. Form1とForm2を作成し、両方にメインメニューを追加します
  2. TActionManagerをForm1にドロップし、その中にAction1を作成します。
  3. Form1 Action1でメニュー項目を割り当て、その後キャプションを変更します(キャプションはデフォルト値からの変更を示す太字で表示されます)
  4. Form2のメニュー項目もAction1(Form1 TActionManagerから)に割り当て、デフォルトのキャプションも変更します。
  5. 実行時に、Form1はキャプションを変更し(Action1.Captionとは異なります)、Form2はAction1.Captionと同じキャプションを持ちますが、キャプションは手順4で変更された新しい値である必要があります。
0 投票する
1 に答える
810 参照

delphi - MDI アプリケーションの TActionManager。アクションを失う

MDI アプリケーションがあり、TActionManager を使用してアプリケーション内のアクションを管理しています。これは、MDIChild フォームのアクションが含まれていることも意味します。

私の問題を再現する簡単な例を次に示します。

2 つのフォームを含む新しい VCL フォーム アプリケーションを作成します。Form1 & Form2 Form1 に TButton と TActionManager をドロップします。TActionManager のポップアップ エディタを使用して 2 つの TAction を作成します。Form1 に FormStyle := fsMDIForm を設定します。Form2 に FormStyle := fsMDIChild を設定します。

このコードを対応するイベントに追加します。

Form2 に TActionToolBar をドロップします。TActionManager PopUp Editor を使用して、この TActionToolBar に Action1 と Action2 をドロップします。保存して実行します。Form1 のボタンをクリックして、Form2 を表示します。すべてが期待どおりに機能します。Form2 を閉じて、再度開きます。アクションが不足しています...

本当に TActionManager を使用する必要があることを知って、アクションが失われないようにする方法はありますか?

0 投票する
1 に答える
1451 参照

delphi - TActionList の Action に新しいプロパティを追加する

Delphi の TActionList のアクションに、新しく公開された (オブジェクト インスペクタに表示される) プロパティを追加するにはどうすればよいですか?

プロパティのデータ型はブールです。

ありがとう。

0 投票する
1 に答える
624 参照

delphi - TActionManager からすべての TAction を取得するには?

TActionManagerすべてのアクションが定義されているアプリケーションに があります。すべてのアクションのリストを取得する必要があります。現在、その Actions プロパティを使用して、アクション ( GetNamePath) の「パス」を取得できますが、そのキャプションも取得したいと考えています。

アクションマネージャーからすべてのアクションを取得することは可能ですか?