【DO!BOOK・ページリンク】
2008_migaro_techreport_001   113 / 136

BOOKをみる

10秒後にBOOKのページに移動します


111 ソース2 DBGrid上でのチェックボックス描画例 procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect; DataCol: Integer; Column: TColumn; State: TGridDrawState); var AFieldName: string; AField: TField; MyRect: TRect; const CBHeight=14; begin MyRect := Rect; MyRect.Top := Trunc((MyRect.Bottom - MyRect.Top - CBHeight) / 2) + MyRect.Top; MyRect.Bottom := MyRect.Top + CBHeight; with DBGrid1 do begin if(Assigned(Fields[DataCol])) then begin if (Fields[DataCol].Tag = 9) then begin AFieldName := Columns[DataCol].FieldName; AField := DataSource.DataSet.FieldByName(AFieldName); Canvas.FillRect(Rect); if AField.Value <> Null then begin if (Fields[DataCol].DataType = ftInteger) then begin if (AField.AsInteger =1) then begin Windows.DrawFrameControl(Canvas.Handle, Myrect, DFC_BUTTON, DFCS_BUTTONCHECK + DFCS_CHECKED); end else begin Windows.DrawFrameControl(Canvas.Handle, Myrect, DFC_BUTTON, DFCS_BUTTONCHECK); end; end; end else begin Windows.DrawFrameControl(Canvas.Handle, Myrect, DFC_BUTTON, DFCS_BUTTONCHECK + DFCS_INACTIVE); end; end; end; end; inherited; end;