問題タブ [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 投票する
5 に答える
235 参照

delphi - フォームが更新されない

私のアプリケーションでは (メイン フォームは TTntForm、C++Builder 2006):

この問題の原因は何ですか?

編集: ご回答いただきありがとうございます。バグを見つけました。プロジェクト ファイルで 2 回フォームが作成されました:

0 投票する
8 に答える
4439 参照

delphi - delphi7のスキン

私は自分のアプリケーションのスキンを作成したいと思っていますが、これを行う明確な方法がないように見えることに気づきました。

私はJavaのファイルのスキニングに慣れていて、「標準」のdelphi7アプリケーションの外観を変更する方法があるかどうか疑問に思いました。

編集:(taggs)

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

delphi - TGraphicControlの子孫であるコンポーネントにマウスホイールサポートを追加するにはどうすればよいですか?

TGraphicControlから派生したdelphiコンポーネントを作成しました。マウスホイールのサポートを追加することは可能ですか?

- - 編集 - -

以下に示すようにMouseWheelイベントを公開しましたが、呼び出されません。

- - 編集 - -

以下に示すように、WM_MOUSEWHEELメッセージとCM_MOUSEWHEELメッセージをトラップしようとしましたが、機能していないようです。しかし、私はなんとかCM_MOUSEENTERメッセージをトラップすることができました。あるタイプのメッセージをトラップできるのに、他のタイプのメッセージをトラップできない理由がわかりません。

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

delphi - 一部の Delphi コンポーネントでは、それらを構築するために「AOwner: TComponent」が必要なのはなぜですか?

ある種のオブジェクトをインスタンス化するために所有者として TComponent を要求することは、まったく無関係に思えます。これを必要とする Delphi コンポーネントが非常に多いのはなぜですか?

たとえば、TXMLDocument をインスタンス化するには、TComponent オブジェクトが必要です。

これはなぜですか? 正当な理由がある場合、「正しいことを行う」ために何を使用すればよいですか?

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

windows-vista - 右側にアンカーされたコントロールを含む Borland C++Builder 5 フォームが Vista で正しく表示されないのはなぜですか?

解決策を探すのに少し時間を費やし、現在それを見つけたので、これは Stack Overflow で文書化するのに適していると考えました。したがって、私の答えはこの質問の直後に続きます。

私は Borland C++ Builder 5 を使用していました。これはおそらく、同等のバージョンの Delphi にも当てはまります。TPanel に TButton を含むフォームがありました。ボタンは akRight,akBottom に設定されました。XP およびそれ以前の Windows では、すべて問題ありませんでした。Vista で Aero を使用すると、ボタンが右に 4 ピクセルずれて表示されました。アンカリングは引き続き正常に機能しました。

もう 1 つの例は、akTop、akRight、akLeft を持つ TComboBox を含むフォームです。コンボは、Vista では 4 ピクセル幅が広すぎます。

Vista で「クラシック」な外観に戻すと、すべてが正しく表示されます。

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

delphi - TDBNavigator コンポーネントの動作を変更するには?

標準 DBNavigator バーの挿入ボタンの動作を、データセットの挿入から追加に変更したいと考えています。

ボタンのクリックを BeforeAction イベントでトラップしたり、追加を行ったりすることができます。次に、OnClick イベントで元の挿入を中止しますが、これは少しハックのようです。より良いアイデアはありますか?私は D6 を使用しています (時計で 500,000 kms、そしてまだ強くなっています...)。

アドバイスをありがとう

よろしく、

PhilW.

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

delphi - TGraphicControl.Paintはいつ呼び出されますか?

ユーザーがSDLレンダリングサーフェスをVCLフォームに埋め込むことができるカスタムTGraphicControl子孫を作成しようとしています。これにより、SDLアニメーションをフォームに表示する簡単な方法が提供されます。

どうやらTGraphicControlはPaintメソッドで再描画されているようです。これはどのくらいの頻度で呼び出されますか?何かがコントロールを無効にすることが起こったときだけですか、それともそれを呼び出す他のものがありますか?それはそれ自身の描画を行う何かとどのように相互作用しますか?

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

delphi - コンポーネントの作成またはストリーミング中にハンドルを使用してはならないのはなぜですか?

SDL_CreateWindowFrom 関数を介して SDL レンダリング サーフェスをラップするカスタム VCL コントロールを作成したいと考えています。SDL_CreateWindowFrom は、既存の HWND ハンドルを取得し、高性能レンダリング コンテキスト (DirectX や OpenGL を含むいくつかのバックエンドが利用可能) をそれに配置します。

ヘルプファイルには、「コンポーネントの作成中またはストリーミング中にハンドル プロパティを参照しないでください」と記載されています。しかし、それは理由を述べていません。最初に Handle プロパティにアクセスしようとすると、有効なハンドルが存在することを確認するために HandleNeeded が呼び出されます。

そこで、質問が 2 つあります。1: コンポーネントの作成中に Handle プロパティを参照してはならない理由は何ですか? 2. コントロールのポイント全体が、HWND の初期化を必要とするレンダリング サーフェスをラップすることである場合、(理想的には) 作成/ストリーミング中に行われるべき初期化を安全に実行できるのはいつですか?

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

c++builder - Borland C++ でメイン フォームのクローズを無効にする方法