問題タブ [tgridpanel]
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 - GridPanel が最初のサイズ変更時に調整されない
長い時間をかけて解決しようとしても解決できない問題があります。
私は通常、GridPanels を使用してフォーム上のコントロールを整列させます。ただし、厄介なバグがあります。GridPanel の整列モードが alClient で、その親ウィンドウを最大化すると、GridPanel はそのウィンドウの新しいサイズに調整されますが、グリッド上にあるコントロールは調整されません。ウィンドウのサイズ変更前と同じ位置にとどまります。これは、最初のウィンドウの最大化時にのみ発生します。ウィンドウが最初に手動でサイズ変更された場合は、すべて問題ありません。グリッドは、2 番目のサイズ変更イベント (??) の後に子コントロールを調整すると思います。
このバグが発生した場合、GridPanel を正しく動作させるにはどうすればよいですか? メッセージを送信するだけで十分かもしれません (しかし、何のメッセージでしょうか?)、私にはわかりません。Realign、Refresh などを使用しようとしましたが、役に立ちませんでした。
事前にご協力いただきありがとうございます。
マリウス。
delphi - TGridPanel内のコントロールの位置を見つける
TGridPanel内のコントロールの位置(行と列のインデックス)を確認するにはどうすればよいですか?ボタンの数に一般的なOnClickイベントを使用したいのですが、ボタンのX、Y位置を知る必要があります。
Delphi2007を使用しています。
extjs - extjsでExt.grid.GridPanelのheaderclickイベントをアタッチする方法は?
headerclickまたはheaderdblclickイベントをExt.grid.GridPanelにアタッチする方法を教えてください。
delphi - DelphiTGridPanelの使用方法
Delphiの2009TGridPanelを使用したいのですが、正しく使用する方法がわかりません。
たとえば、GripPanelsの幅の25%パーセントをそれぞれ持つ必要がある4つの列を持つGridPanelが必要です。
そこで、フォームにGripPanelを配置し、4つのColumnItemを追加します。列アイテムにSizeStylessPercentを指定し、次に各ColummItemに25の値を指定しようとします(オブジェクトインスペクターに従います)。しかし、いくつかの理由で、オブジェクトインスペクターは値25を受け入れません。値は自動的に「23,8095238095238」のようなものに変更されます。誰かがこのコンポーネントの使い方を簡単に説明してもらえますか?ありがとう!
delphi - TGridPanelでセルをクリックする
フォームにがTGridPanel
あり、クリックされた特定の「セル」にコントロールを追加したいと思います。
私は簡単にポイントを得ることができます:
おそらくif ControlAtPos(P) = nil then
行は必要ありませんが、すでにコントロールが含まれているセルにコントロールを挿入しないようにしたいのです。
では...InsColとInsRowを取得するためにどのコードを使用しますか?クラスコードを上下に移動しましたがTGridPanel
、TControlCollection
マウス座標から列または行の値を取得できるものが見つかりません。また、。以外に使用する関連イベントではないようですOnDblClick()
。
どんな助けでも大歓迎です。
編集:混乱を避けるために、変数ResultをMyControlに変更しました。
delphi - DelphiTGridPanel-一部の行を動的に非表示にします
私はこのような16x4のグリッドパネルを持っています:
一部の行を非表示にして、下の行を上に移動したい場合があります。コンポーネントのvisibleプロパティをfalseに設定すると、レイアウトが更新されません。
それにもかかわらず、行サイズのタイプは自動に設定されています。
表示するものがないのに、コンポーネントが行の高さをゼロに設定しないのはなぜですか?
delphi - XE2: TGridPanel の問題
TGridPanel
IDEで以下を作成しました。
これTGridPanel
は、上にある の内部TPageControl:TTabSheet
にありTFrame
ます。
IDE でのデザイン タイムでは、すべて問題ありません。
TFrame
ただし、空の (メイン) フォームをドロップして [コンパイル] ボタンをクリックすると、コンパイルが終了すると、フォームで行ったすべてColumnSpan
のRowSpan
設定TFrame
がリセットされます。
その後、アプリケーションを実行すると、次のようなメッセージが表示されEGridPanelException
ます。
読み取りエラー...Panel_Setup_Content.ColumnCollection: コントロールを含む列を削除できません
「OK」を押すとアプリケーションが終了します。
さらに、プロジェクトを閉じて再度開くと (TFrame
メイン フォームにドロップされた状態で)、まったく同じエラーが表示されます + "エラーを無視して続行しますか? 注: エラーを無視すると、コンポーネントが削除されたり、プロパティ値が削除される可能性があります失われます。"
メモ帳を使用してメインのフォーム DFM から TFrame を削除すると、エラー メッセージや問題が発生することなく、プロジェクトと TFrame ファイルを再度開くことができます。
TFrame
メインフォームにドロップするとすぐに問題が発生します。
これは Delphi の問題ですか? それとも私が何か間違ったことをしているのですか?
delphi - TGridPanel でクリックされたコントロールの列インデックスを取得する
を使用しTGridPanel
ていくつかのパネルを保持しています。設計時に、グリッド パネルを 1 行 5 列に設定しました。
このコードを使用してグリッドにパネルを追加できます。これはうまく機能します。
私がやりたいことは、TPanel
クリックしたときにグリッドから a を削除することです (これが、上記のコードでオンクリック ハンドラーをグリッド パネルのハンドラーに設定した理由です)。
そのクリックハンドラーでこれを行います。これはほとんど機能します:
パラメータを使用するUpdateControlColumn()
と、グリッド内のパネルの順序が変更されます (1 番目と 2 番目の場所が入れ替わります)。
これを回避するには、列の idex をパネルのタグ プロパティに追加し、それを UpdateControlColumn() に渡します。これは機能しますが、パネルが削除されると、より高いタグ番号は無効になります - パネルは列を移動しました。
OnClick
では、ハンドラー 内からパネルが入っている列を取得するにはどうすればよいでしょうか?
私はDelphi 10.1 Berlinを使用しています-それが違いを生む場合。
これをテストするために、新しいプロジェクトを開始し、 を追加しTGridPanel
、1 行と 5 つの等幅の列を持つように設定しました。6 つTButton
のコントロールを追加OnClick
し、次のコードを使用してそれぞれのハンドラーを作成しました。
いくつかのボタンをクリックしてパネルを追加し、パネルをクリックして削除します。
delphi - Delphi 2007 - 垂直方向に機能する THeaderControl はありますか
の行のサイズを変更する必要があり、ヘッダー コントロールのセクション幅に一致するように起動したときに TGridPanel の行を左揃えにしてサイズ変更するTGridPanel
ことで、それを実行できると考えました。THeaderControl
OnSectionResize
Kind
ただし、スクロールバーとは異なり、THeaderControl には、水平に動作するコントロールか垂直に動作するコントロールかを決定するプロパティがありません。この機能を私に与えるものはありますか?