掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
StringGridの一部のセルの色を変えるには? (ID:9015)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
以下のコードでは、StringGrid1 の固定じゃないセルをクリックするとそのセルの 背景色が水色になります。もう一度クリックするともとに戻ります。 procedure TForm1.StringGrid1Click(Sender: TObject); var CurPos:TPoint; ic,ir:integer; r:TRect; begin with StringGrid1 do begin CurPos := ScreenToClient(Mouse.CursorPos); MouseToCell(CurPos.x,CurPos.y,ic,ir); if Assigned(Objects[ic,ir]) then Objects[ic,ir] := nil else Objects[ic,ir] := TObject(clAqua); r := CellRect(ir,ic); InvalidateRect(Handle,@r,true); end; end; procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer; Rect: TRect; State: TGridDrawState); begin with StringGrid1 do begin if Assigned(Objects[ACol,ARow]) then begin Canvas.Brush.Color := TColor(Objects[ACol,ARow]); Canvas.FillRect(Rect); end; Canvas.TextOut(Rect.Left+2,Rect.Top+2,Cells[ACol,ARow]); end; end;
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.