Forum: GUI-Design mit VCL / FireMonkey / Common Controls
by MeisterLampe,
6. Jan 2013
Für alle die ein ähnliches Problem haben. Ich habe nun rausgefunden, woran es wirklich lag.
Und zwar fehlten 2 Codezeilen:
Rect1.Width := Rect.Width;
Rect2.Width := Rect.Width;
Also vollständig dann so:
procedure TForm1.DrawGridDrawCell(Sender: TObject; ACol, ARow: Integer;
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
by MeisterLampe,
4. Jan 2013
Bei mir nicht. Und nein ich hab keinen Code der bei OnSelect etc ausgeführt wird und somit reinpfuscht.
Ich hab das mit dem Selektieren jetzt folgendermaßen gelöst
if (gdSelected in State) then
begin
QUEUE_Grid.Canvas.Brush.Color := SelectColor;
QUEUE_Grid.Canvas.FillRect(Rect);
QUEUE_Grid.Canvas.Font.Color := clWhite;
end
else
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
by MeisterLampe,
4. Jan 2013
Ist glaube ich nicht mehr nötig.
Es lag an der Option:
goDrawFocusSelected
Wenn ich die deaktiviere und bei OnExit folgendes tue:
procedure TForm1.QUEUE_Grid_Exit(Sender: TObject);
begin
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
by MeisterLampe,
4. Jan 2013
Also ich verwende Delphi XE2.
Ich habe vergessen zu erwähnen, dass mein Grid nur eine Spalte hat und mein beschriebenes Phänomen halt auftritt, wenn ich eben die Zelle anwähle, EGAL ob ich RowSelect true oder false setze :/
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
by MeisterLampe,
4. Jan 2013
Ich benutze folgenden Code um zwei Textzeilen mit unterschiedlicher Farbe und unterschiedlichem Einruck in ein DrawGrid zu zeichnen.
procedure TForm1.DrawGridDrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState);
Var
Rect1, Rect2: TRect;
S: String;
begin
Rect1.Left := Rect.Left + 5;