掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
TGridのセルに枠を描画したい (ID:151109)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
yTakeです。 当方、DELPHI XE6 with FMXです。 TGridにTImageColumnを複数配置しています。(カラム数は可変です) あるImageColumnセルをダブルクリックしたらそのセルを枠で囲む事を考えます。 Grid1DbClickで、 var idx : Byte; bRect : TRectF; bBr : TStrokeBrush; begin idx := Grid1.ColumnIndex; bRect := TRectF.Create( 0, 0, Grid1.Columns[ idx ].Width - 1, Grid1.Columns[ idx ].Height - 1 ); bBr := TStrokeBrush.Create( TBrushKind.Solid, TAlphaColors.Yellowgreen ); Grid1.Columns[ idx ].Canvas.BeginScene(); Grid1.Columns[ idx ].Canvas.DrawRect( bRect, 0, 0, ALLCORNERS, 1, bBr ); Grid1.Columns[ idx ].Canvas.EndScene(); end; としてみましたが、Grid1のあるセルをダブルクリックすると枠は描画されますが、ダブルクリックされたセルを囲う様な枠ではなく、フレームの原点を起点とした枠になってしまいます。(枠の大きさは正しく描画出来ている様です) また、セル数(カラム数)が多くGrid幅を超えている為、左右にスクロールしてセルを移動しダブルクリックします。この時ダブルクリックで表示された枠も当然スクロールに合わせて移動する様にしたいと思います。 現状のフレーム起点の枠はスクロールしても移動しません。 Column[idx]に帰属するCanvasに枠を描画させているつもりなのですが、フレーム起点で描画されてしまっている様です。 ご教示頂ければと思います。
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.