問題タブ [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.
delphi - ListBox の長い項目のヒント
いくつかの長い項目を含む ListBox があります。これらの長い項目は ListBox の右端を超えています。ここでは、マウスが項目の上にあるときにそのような項目のヒントを表示するというアイデアが生まれました。
例を見つけました:(http://delphi.about.com/cs/adptips2001/a/bltip0201_4.htmから)
それは機能しますが、別のアイテムのヒントを表示するたびに、マウスを ListBox から離し、別のアイテムをポイントしてそのヒントを表示する必要があります。マウスを ListBox の境界線から離さずにすべてのアイテムのヒントを表示する方法はありますか?
delphi - リストビューでアイテムとサブアイテムを取得するにはどうすればよいですか?
リストビューのすべてのアイテムとサブアイテムを取得したいのですが、取得するのは「TlistItem」だけです。
これが私のコードです:
アイテムの名前を文字列として取得し、その2つのサブアイテムの名前を取得するにはどうすればよいですか?
windows - Delphi でタスクバー ボタンをクリックするとフォームが他のフォームの上に表示される
基本的な質問: Update プロシージャを呼び出すと、TStatusBar がちらつきます。これを無痛に修正する方法
実行されたコードは、質問の最初の投稿の最初の部分にあります (薄い灰色の区切り線が表示されます) ...
しかし、問題は、このコードが実行されている間、フォームが自動的にアクティブ化されず、他のすべてのアプリケーションの上部にフォーカスされないことです。
私はこれらの記事を読みました:
http://www.installationexcellence.com/articles/VistaWithDelphi/Original/Index.html
http://delphi.about.com/od/formsdialogs/l/aa073101b.htm
しかし、彼らによれば、それは何があっても機能するはずです。TApplicationEvents と TForm のすべてのイベントを Show で試しました。表示: 再描画; リフレッシュ; 前に持ってくる; ...何も機能しません。
したがって、マルチスレッドまたはWM_SYSCOMMANDメッセージのトラップと、SC_ACTIVEイベントでの単純なフォームの再描画の2つのオプションがあると思います。このシナリオは成功するでしょうか?
delphi - GUI 情報を隠すための Delphi でのフレームの使用
私は過去 3 年間、趣味/職業レベルで Delphi を学んでいます。初期のコードを恐怖と恥ずかしさで振り返ることができるところまで進歩したことを嬉しく思います。そのため、初期のアプリのいくつかを調べて、それらを書き直し/リファクタリングしています。
私がやめようとしている悪い習慣の 1 つは、あるフォームのコンポーネントに別のユニットからアクセスすることです。これを強制するために、私は情報隠蔽の方法としてフレームを使用する実験を行ってきました。コンポーネントを含むフォームを作成する代わりに、すべてのフォーム コンポーネントを保持するフレームを作成し、そのフレームをフォームに配置して、フレーム宣言をプライベート宣言に移動します。
次に、フォーム初期化セクションにフレームを登録します
次に、フレームとそのコンポーネントにアクセスできるフォーム ユニットのパブリック セクションで、必要なプロパティを宣言します。
また、フレームを使用して、頻繁に繰り返されるコンポーネント グループを統合しています。
これは私が望む目的 (Myframe とそのコンポーネントを非表示にする) で機能しているようですが、この方法の経験がある人はいますか?
フレームの使用に欠点はありますか? これを行うことで実際に利益を得ていますか?フレーム内でネストされたフレームを使用する際に問題はありますか? Delphi でフレームを使用するための適切なガイドはありますか? Delphi に隠れている GUI 情報に関して、同じ効果を達成するためのより良い/簡単な方法はありますか?
HMcG
c# - C++ Builder コードを C# .NET (TComponent、TOjbect、TList など) に変換する
TComponent
、TObject
、などの API ドキュメントはどこにありますTList
か? C++ ビルダーを使用して記述された一部の C++ コードを C# に変換しています。C# に相当するものを見つけるために、これらのクラスの関連ドキュメントを見つけるのに苦労しています。
delphi - Delphi の「カスタマイズ可能な VCL デザイナー ガイドライン」とは何ですか?
Web ページhttp://www.codegear.com/en/products/bds2006は、次の行を含むリストで始まります。
- カスタマイズ可能な VCL デザイナー ガイドラインと視覚的な一貫性を確保します。
これは「レーザーライン」ガイドラインに関連していますか? これらのガイドラインはどのように「カスタマイズ」できますか?
編集:このページは、この機能に関する追加情報を提供します。
c++ - VCLフォームで使用する場合のIDropTargetの問題
Codegearで開発されたVCLGUIがあります。メインフォーム用のDropTargetを作成し、DropTargetオブジェクトはIDropTargetインターフェイスを実装しており、エクスプローラーからファイルをドラッグアンドドロップできます。子コンポーネントの一部(フォーム全体ではなく)のみをドロップターゲットにしたいので、POINTL座標がコンポーネントの境界内にある場合にのみ、DragEnterメソッドがS_OKを返すようにします。
ただし、アイテムをフォームの境界にゆっくりとドラッグし、コンポーネントをドラッグしない場合、DragEnterはE_NOINTERFACEを返すため、ドロップは許可されません。ドロップゾーンにドラッグし続けると、DragEnterが起動しません。なぜ、起動しないのか理解できます。だから私の質問は、DragEnterイベントを手動で発生させるにはどうすればよいですか?
delphi - Delphiフォームは、表示されたときに常にOnResizeを起動しますか?
新しいDelphiフォームを作成し、そのOnResizeイベントをフックしてアプリを実行すると、ウィンドウが表示される前にOnResizeが起動されます。私が知らないのは、どのウィンドウでも、これが常に発生するかどうかです。
(Windows APIに精通している人は、TCustomForm.ShowingChanged(Delphi 2007のForms.pas行5503)のShowWindow呼び出しにトレースしました。これにより、WM_SIZE
少なくとも、他のウィンドウがない新しいウィンドウに対して...がトリガーされます。プロパティが設定されています。ShowWindowが常に起動することが文書化されているのを見たことがないWM_SIZE
ので、これを信頼できるかどうかわかりません。)
だから:最初に表示されたときに常にOnResizeを起動するTFormに頼ることはできますか?または、ウィンドウが最初に表示される前にOnResizeが起動しない状況(ウィンドウのサイズが変更できない場合、Positionプロパティに特定の値がある場合など)がありますか?