問題タブ [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.

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

delphi - GridPanel が最初のサイズ変更時に調整されない

長い時間をかけて解決しようとしても解決できない問題があります。

私は通常、GridPanels を使用してフォーム上のコントロールを整列させます。ただし、厄介なバグがあります。GridPanel の整列モードが alClient で、その親ウィンドウを最大化すると、GridPanel はそのウィンドウの新しいサイズに調整されますが、グリッド上にあるコントロールは調整されません。ウィンドウのサイズ変更前と同じ位置にとどまります。これは、最初のウィンドウの最大化時にのみ発生します。ウィンドウが最初に手動でサイズ変更された場合は、すべて問題ありません。グリッドは、2 番目のサイズ変更イベント (??) の後に子コントロールを調整すると思います。

このバグが発生した場合、GridPanel を正しく動作させるにはどうすればよいですか? メッセージを送信するだけで十分かもしれません (しかし、何のメッセージでしょうか?)、私にはわかりません。Realign、Refresh などを使用しようとしましたが、役に立ちませんでした。

事前にご協力いただきありがとうございます。

マリウス。

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

delphi - TGridPanel内のコントロールの位置を見つける

TGridPanel内のコントロールの位置(行と列のインデックス)を確認するにはどうすればよいですか?ボタンの数に一般的なOnClickイベントを使用したいのですが、ボタンのX、Y位置を知る必要があります。

Delphi2007を使用しています。

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

extjs - extjsでExt.grid.GridPanelのheaderclickイベントをアタッチする方法は?

headerclickまたはheaderdblclickイベントをExt.grid.GridPanelにアタッチする方法を教えてください。

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

delphi - DelphiTGridPanelの使用方法

Delphiの2009TGridPanelを使用したいのですが、正しく使用する方法がわかりません。

たとえば、GripPanelsの幅の25%パーセントをそれぞれ持つ必要がある4つの列を持つGridPanelが必要です。

そこで、フォームにGripPanelを配置し、4つのColumnItemを追加します。列アイテムにSizeStylessPercentを指定し、次に各ColummItemに25の値を指定しようとします(オブジェクトインスペクターに従います)。しかし、いくつかの理由で、オブジェクトインスペクターは値25を受け入れません。値は自動的に「23,8095238095238」のようなものに変更されます。誰かがこのコンポーネントの使い方を簡単に説明してもらえますか?ありがとう!

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

delphi - TGridPanelでセルをクリックする

フォームにがTGridPanelあり、クリックされた特定の「セル」にコントロールを追加したいと思います。

私は簡単にポイントを得ることができます:

おそらくif ControlAtPos(P) = nil then行は必要ありませんが、すでにコントロールが含まれているセルにコントロールを挿入しないようにしたいのです。

では...InsColとInsRowを取得するためにどのコードを使用しますか?クラスコードを上下に移動しましたがTGridPanelTControlCollectionマウス座標から列または行の値を取得できるものが見つかりません。また、。以外に使用する関連イベントではないようですOnDblClick()

どんな助けでも大歓迎です。

編集:混乱を避けるために、変数ResultをMyControlに変更しました。

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

delphi - DelphiTGridPanel-一部の行を動的に非表示にします

私はこのような16x4のグリッドパネルを持っています:

ここに画像の説明を入力してください

一部の行を非表示にして、下の行を上に移動したい場合があります。コンポーネントのvisibleプロパティをfalseに設定すると、レイアウトが更新されません。

ここに画像の説明を入力してください

それにもかかわらず、行サイズのタイプは自動に設定されています。

ここに画像の説明を入力してください

表示するものがないのに、コンポーネントが行の高さをゼロに設定しないのはなぜですか?

0 投票する
0 に答える
323 参照

delphi - XE2: TGridPanel の問題

TGridPanelIDEで以下を作成しました。

ここに画像の説明を入力

これTGridPanelは、上にある の内部TPageControl:TTabSheetにありTFrameます。

IDE でのデザイン タイムでは、すべて問題ありません。

TFrameただし、空の (メイン) フォームをドロップして [コンパイル] ボタンをクリックすると、コンパイルが終了すると、フォームで行ったすべてColumnSpanRowSpan設定TFrameがリセットされます。

その後、アプリケーションを実行すると、次のようなメッセージが表示されEGridPanelExceptionます。

読み取りエラー...Panel_Setup_Content.ColumnCollection: コントロールを含む列を削除できません

「OK」を押すとアプリケーションが終了します。

さらに、プロジェクトを閉じて再度開くと (TFrameメイン フォームにドロップされた状態で)、まったく同じエラーが表示されます + "エラーを無視して続行しますか? 注: エラーを無視すると、コンポーネントが削除されたり、プロパティ値が削除される可能性があります失われます。"

メモ帳を使用してメインのフォーム DFM から TFrame を削除すると、エラー メッセージや問題が発生することなく、プロジェクトと TFrame ファイルを再度開くことができます。

TFrameメインフォームにドロップするとすぐに問題が発生します。

これは Delphi の問題ですか? それとも私が何か間違ったことをしているのですか?

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

delphi - TGridPanel でクリックされたコントロールの列インデックスを取得する

を使用しTGridPanelていくつかのパネルを保持しています。設計時に、グリッド パネルを 1 行 5 列に設定しました。

このコードを使用してグリッドにパネルを追加できます。これはうまく機能します。

私がやりたいことは、TPanelクリックしたときにグリッドから a を削除することです (これが、上記のコードでオンクリック ハンドラーをグリッド パネルのハンドラーに設定した理由です)。

そのクリックハンドラーでこれを行います。これはほとんど機能します:

パラメータを使用するUpdateControlColumn()と、グリッド内のパネルの順序が変更されます (1 番目と 2 番目の場所が入れ替わります)。

これを回避するには、列の idex をパネルのタグ プロパティに追加し、それを UpdateControlColumn() に渡します。これは機能しますが、パネルが削除されると、より高いタグ番号は無効になります - パネルは列を移動しました。

OnClickでは、ハンドラー 内からパネルが入っている列を取得するにはどうすればよいでしょうか?

私はDelphi 10.1 Berlinを使用しています-それが違いを生む場合。

これをテストするために、新しいプロジェクトを開始し、 を追加しTGridPanel、1 行と 5 つの等幅の列を持つように設定しました。6 つTButtonのコントロールを追加OnClickし、次のコードを使用してそれぞれのハンドラーを作成しました。

いくつかのボタンをクリックしてパネルを追加し、パネルをクリックして削除します。

0 投票する
0 に答える
78 参照

delphi - Delphi 2007 - 垂直方向に機能する THeaderControl はありますか

の行のサイズを変更する必要があり、ヘッダー コントロールのセクション幅に一致するように起動したときに TGridPanel の行を左揃えにしてサイズ変更するTGridPanelことで、それを実行できると考えました。THeaderControlOnSectionResize

Kindただし、スクロールバーとは異なり、THeaderControl には、水平に動作するコントロールか垂直に動作するコントロールかを決定するプロパティがありません。この機能を私に与えるものはありますか?

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

delphi - コードから TGridPanel に追加するときに、2 つのパーセンテージ行の間に絶対行を配置するにはどうすればよいですか?

コードから TGridPanel を使用してフォームを作成しようとしています。

を含む:

  • 上部のメモ (50% に設定)
  • 中央のナビゲーター (24 ピクセルに設定)
  • 下部のグリッド (50% に設定)

これは私が書いたコードです:

結果は次のようになります。

ここに画像の説明を入力

問題: フォームの下部にギャップがあり、DB ナビゲーターが表示されない!

DFM のダンプは問題ないように見えます。

位置を変えるとナビゲーターは正しい位置にあるのですが絶対位置にしたいです。

この場合、なぜ はTGridPanelそれほど奇妙に振る舞うのでしょうか? 私はそれについて何ができますか?