お知らせ

電子会議

ライブラリ

パレット

Delphi FAQ検索

Delphi FAQ一覧

サンプル蔵





FDelphi FAQ
16番会議室「玉石混淆みんなで作るSample蔵」に寄せられたサンプル

"StringGrid に Focusがないときの反転色"

この発言に対し以下のコメントが寄せられています
#00600 yone さん TStringGridに HideSelection追加

■説明  通常 StringGrid がアクティブではないときに選択されているセルが 反転色で表示されますが、それを消すサンプルです。(MES 15 #4,#85, #106 を参照。)  Form1 に StringGrid1 と Focus を受け取ることができる別のコント ロールを適当に配置して下さい。 ■サンプルコード //===================================================================== {...略...} implementation {$R *.DFM} var Flg : Boolean; //アクティブであるときに矩形選択ができるように //Focus が他に移るときかどうかを区別するため procedure TForm1.StringGrid1DrawCell(Sender: TObject; Col, Row: Integer; Rect: TRect; State: TGridDrawState); begin with TStringGrid( Sender ).Canvas do begin if Flg and ( gdSelected in State ) then //Focus が他へ移る時で begin //かつ、選択状態のセル Brush.Color := TStringGrid( Sender ).Color; Font.Color := TStringGrid( Sender ).Font.Color; end; FillRect( Rect ); OffSetRect( Rect, 0, 2 ); //文字描画位置の調整 DrawText( Handle, PChar( TStringGrid( Sender ).Cells[ Col, Row ] ), -1, Rect, DT_CENTER ); end; //ここでセル内の文字列描画位置を指定します______/~~~~~~~~~ end; //API のヘルプ、DrawText を参照して下さい procedure TForm1.StringGrid1Enter(Sender: TObject); begin Flg := False; end; procedure TForm1.StringGrid1Exit(Sender: TObject); begin Flg := True; end; {...略...} //===================================================================== 97/10/19(Sun) 18:55 Fermion [KHF03264] Original document by Fermion 氏 ID:(KHF03264)



ここにあるドキュメントは NIFTY SERVEの Delphi Users' Forum の16番会議室「玉石混淆みんなで作るSample蔵」に投稿されたサンプルです。これらのサンプルはボーランド株式会社がサポートする公式のものではありません。また、必ずしも動作が検証されているものではありません。これらのサンプルを使用したことに起因するいかなる損害も投稿者、およびフォーラムスタッフはその責めを負いません。使用者のリスクの範疇でご使用下さい。

Copyright 1996-2002 Delphi Users' Forum