AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Delphi "Sydney" (10.4) ist da!

Ein Thema von Ralf Kaiser · begonnen am 26. Mai 2020 · letzter Beitrag vom 23. Mär 2021
 
Benutzerbild von dummzeuch
dummzeuch

Registriert seit: 11. Aug 2012
Ort: Essen
1.733 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#11

AW: Delphi "Sydney" (10.4) ist da!

  Alt 6. Jun 2020, 15:16
Mir ist dieser spezielle Bug zwar noch nicht aufgefallen, aber dass TStringGrid in Delphi 10.4 eine Macke haben muss, habe ich auch schon gesehen (siehe Anhang). Ich habe dann mal für den Bug gestimmt...
Hättest du dafür einmal ein Beispielprojekt?
Es sieht für mich so aus als hättest du DefaultDrawing aktiv und würdest zusätzlich den Text selbst zeichnen, kann das sein? Oder der Text wird dort teilweise doppelt gezeichnet, aber das war mir zumindest nicht aufgefallen.

Wenn es nämlich einen weiteren Bug geben sollte, sollte ich (oder du) das dort ergänzen oder eine neue Meldung aufmachen, je nachdem woran es liegt.
Ja, DefaultDrawing ist True.

Und dann gibt es noch einen OnDrawCell Event:

Delphi-Quellcode:
procedure TfmUsesManager.DrawStringGridCell(_sg: TStringGrid; const _Text: string; const _Rect: TRect;
  _State: TGridDrawState; _Focused: Boolean; _Tag: Integer);
var
  cnv: TCanvas;
begin
  cnv := _sg.Canvas;
  if _Text = 'then
    cnv.Brush.Color := _sg.Color
  else begin
    if gdSelected in _State then begin
      if not _Focused then begin
        cnv.Brush.Color := clDkGray;
        cnv.Font.Color := clWhite;
      end;
    end else begin
      if _Tag <> 0 then begin
        cnv.Brush.Color := clYellow;
      end;
    end;
  end;
  cnv.FillRect(_Rect);
  cnv.TextRect(_Rect, _Rect.Left + 2, _Rect.Top + 2, _Text);
end;

procedure TfmUsesManager.sg_AvailDrawCell(Sender: TObject; ACol, ARow: Integer; Rect: TRect;
  State: TGridDrawState);
var
  sg: TStringGrid absolute Sender;
  GridFocused: Boolean;
begin
  GridFocused := sg.Focused or edtUnitFilter.Focused or edtIdentifierFilter.Focused;
  DrawStringGridCell(sg, sg.Cells[ACol, ARow], Rect, State, GridFocused, 0);
end;
Es mag an den +2 in cnv.TextRect liegen. Kann sein, dass die in Delphi 10.4 nicht mehr passen, warum auch immer, denn in den früheren Versionen gab es das Problem nicht. Ich habe noch nicht versucht, es zu debuggen.
Thomas Mueller
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:46 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz