問題タブ [vcl]

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 投票する
4 に答える
3183 参照

delphi - MultiSelect が有効な場合の TListBox のドラッグ アンド ドロップの問題

multiselect と ExtendedSelect の両方が true に設定された TListBox があります。リスト ボックス内の複数の項目をドラッグして再配置できるようにする必要があります。私の問題は、ユーザーが CTRL または SHIFT キーを押さずに既に選択されている項目をクリックするとどうなるかです。

ケース 1: DragMode が dmManual に設定されている場合 マウスが押される前に選択がクリアされます。これにより、複数のアイテムをドラッグできなくなります。

ケース 2: DragMode が dmAutomatic に設定されている場合 MouseDown イベントは発生しません。選択はクリアされないのでドラッグは問題ありませんが、ユーザーは選択された項目の 1 つをクリックして選択をクリアすることはできません。これは、すべてのアイテムが選択されている場合、またはユーザーが選択したい次のアイテムが現在の選択の一部である場合に、実際に問題を引き起こします。

この問題は、OnStartDrag プロシージャで DragObject に何かを割り当てた場合にのみ発生することに注意してください。ユーザーがマウスを動かした後にのみ OnStartDrag が開始されれば、問題は解決すると思います。Mouse.DragImmediate := false が設定されていますが、リスト ボックス内の項目をクリックするとすぐに StartDrag が起動されます。

このプロジェクトでは Delphi 7 を使用していますが、Delphi 2007 でも同じ動作が見られます。

0 投票する
11 に答える
29341 参照

delphi - グループ内の唯一の Delphi TSpeedButton が押されたままになるようにする方法

TSpeedButton にこのプロパティがある理由はわかりませんが、TSpeedButton が特定のグループ インデックスの唯一のボタンである場合、「AllowAllUp」が押されているかどうかに関係なく、押されたままになりません。ジェダイのコントロールで十分かもしれませんが、いくつかの修正があることを願っています. どんな助けや逸話も大歓迎です。

ところで、私は(まだ)Delphi 7を使用していますが、これが全体的な難問であるかどうかはわかりません。

0 投票する
4 に答える
886 参照

c++ - IStorage の VCL 代替

はじめに、私は Borland C++ と VCL を使用しています。

単一のファイルとしてディスクに保存でき、プログラムで列挙、アクセス、操作できるバイナリ データの複数の名前付き BLOB を格納できる、ある種の構造化ストレージ オブジェクトが必要です。

IStorageインターフェイスは私が望むものに近いようですが、とりわけ TStream (VCL) を IStream に変換するのは厄介であり、TIniFile のように既に利用可能な VCL のものを使用するより単純なソリューションでなければならないため、VCL スタイルのソリューションを好みますが、バイナリデータ。

バイナリ データのブロブは非常に大きく、XML で使用するために正しくエンコードされていれば、まったく効率が悪いため、XML は使用したくありません。

すべての提案を前もって感謝します。

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

delphi - Delphi コンポーネントのパッケージはどのように見つけますか?

以前は、Delphi コンポーネントがインストールされたパッケージをパレットから取得できました。ただし、その機能は最新バージョンにはないようです。D2007 または D2009 でコンポーネントが属しているパッケージを見つけるにはどうすればよいですか?

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

delphi - Delphiアプリケーションは、Visual Studioのようなダブルショートカットキーを持つことができますか?(つまり、Ctrl-k Ctrl-k)

タイトルに記載されているように、アプリケーションにはダブルショートカットキーが必要です(つまり、Ctrl-k Ctrl-kはVS.NETのトグルブックマークキーです)。Delphiでこれに対する解決策を見つけた人はいますか?VCLのコアを変更することで可能性があると思いますが、もっと簡単な方法はありますか?

0 投票する
5 に答える
7797 参照

delphi - Form.Release + NIL

フォームを使用した後に Form.Release が呼び出されると、関連するすべてのメモリが解放されますが、フォーム変数は nil に設定されません。

同じコードを再度呼び出せるようにするには、Form1 をある時点で nil に設定する必要があります。Release の説明より

Release の直後。これは、Release プロシージャが呼び出された直後、フォームが実際に解放される前に戻るためです。Form.Release が終了してフォーム var が nil に設定されるタイミングを検出できません。

これを行う最善の方法は何ですか?

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

delphi - コントロールをサイズ変更に集中させるための推奨される方法

親の幅または高さが変更されたときに、コントロールを親の中央に維持するための優先する方法は何ですか?

0 投票する
5 に答える
6778 参照

delphi - Vista Aero で進行状況バーのアニメーションを無効にする

Delphi 2009 VCL TProgressBar を一種の「空/満杯」ゲージとして使用しています。

Vista では、Aero テーマが有効になっていると、これに関連付けられたアニメーションが表示されますが、これは煩わしく、ゲージには不適切です。

このコントロールのアニメーションを防ぐために、これを無効にする方法はありますか (ユーザーのテーマ設定を調整することではありません!)。

明確にするために、Windows エクスプローラーの「使用ディスク容量」メーターと基本的に同じものが必要です。アニメーションはありませんが、素晴らしい境界線とシェーディング効果があります。

アップデート:

本当の進行状況バーではなく、「メーター」が必要であることを理解しています。標準の Windows プログレス バー コントロールを使用してテーマ メーターを実装するにはどうすればよいですか?

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

delphi - Delphi メニューのマージの問題

2 つのメイン メニューを結合しようとしていますが、サブ項目で正しい結果が得られません。マージ/挿入を制御するために、MenuItems で GroupIndex プロパティを使用しています。

Menu1(グループインデックス付き)はこんな感じ

  • ファイル=10
    • 開く=11
    • 閉じる=12
  • 編集=20
    • カット=21
    • 貼り付け=22
  • ヘルプ=90
    • 約=91

Menu2はこんな感じ

  • 編集=20
    • クリア=23
  • ウィジェット=30
    • ウィジェット1=31
    • ウィジェット2=32

そして、私はやっています

結合されたメニューに、新しいトップ メニュー「ウィジェット」と、編集メニューの新しい「クリア」コマンドが必要です。「ウィジェット」は正常に動作していますが、編集メニューでカット アンド ペーストが失われました。これは私が望んでいたものではありませんでした。

切り取りと貼り付けのコマンドが表示されないようにするにはどうすればよいですか?

0 投票する
6 に答える
34182 参照

delphi - コンテナー コントロールのすべてのコントロールを取得する方法はありますか?

たくさんのコントロールを含むフォームがあり、特定のパネルのすべてのコントロールを反復処理して、それらを有効/無効にしたいと考えていました。

私はこれを試しました:

しかし、それは何もしませんでした。すべてのコンポーネントは、親オブジェクトではなく、フォームのコンポーネント コレクションにあることがわかります。コントロール内のすべてのコントロールを取得する方法があるかどうか、誰かが知っていますか? (このような醜い回避策に加えて、これは私がしなければならなかったことです):

誰か良い方法を教えてください...