Tachchen Leutz,
ich hatte mal ne frage. die delphi
vcl kompos sind doch mit delphi selbst erstellt worden.
da das dähmliche grid immer linksbuendig zeichnet, will ich die kompo so abaendern, das
das verdammte ding den text
IMMER zentriert zeichnet!!! mein problem ist, das
meine bildschirmausgabe zeitkritisch ist, und das grid ja jedesmal zweimal gezeichnet muss.
1. um die daten zu aktualisieren
und
2. um den text zu zentrieren
koennte mir vorstellen, das dat irre performance kostet
PS: Ist denn das ueberhaupt so ?
mein prob ist , das ich mir grad den quelltext von grids.pas angeschaut hab, und da nicht durchblick
in meinen delphiprogs verwende ich folgende routine zur zentrierung
Delphi-Quellcode:
procedure TForm1.StringGridDrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState);
var s: string;
begin
if (Sender IS TStringGrid) then // Nur zur Sicherheit
begin
s := (Sender As TStringGrid).Cells[ACol, ARow]; // Text der Zelle holen
(Sender As TStringGrid).Canvas.FillRect(Rect); // Zelle leer überzeichnen
DrawText((Sender As TStringGrid).Canvas.Handle, PChar(s), Length(s), Rect, DT_SINGLELINE or DT_Center or DT_VCENTER); // Text zentriert zeichnen
end;
end;
in der komposource verwenden die aber, wenn ich das richtig sehe, nicht drawtext sondern textrect zur ausgabe??
2. frage was macht der schalter "default Drawing" bei stringgrids, als ich den false gesetzt hatte, sah mein grid eine wenig
anders aus, aber es gingen verschiedene ereignisse nicht mehr > z. b onselectcell
3. was gibt der parameter State: im obige listing an ?
danke schon mal im vorraus, den ueblichen verdächtigen