AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi tStringGrid mit eigener Zeichenroutine --> Selektionsproblem
Thema durchsuchen
Ansicht
Themen-Optionen

tStringGrid mit eigener Zeichenroutine --> Selektionsproblem

Ein Thema von grenzgaenger · begonnen am 30. Aug 2007 · letzter Beitrag vom 8. Nov 2007
Antwort Antwort
grenzgaenger
(Gast)

n/a Beiträge
 
#1

tStringGrid mit eigener Zeichenroutine --> Selektionsprob

  Alt 30. Aug 2007, 21:43
Hallo Zusammen,

ich hab 'n Stringgrid, bei dem ich die Zeichenroutine überschrieben hab. Funktioniert auch blendend.

Delphi-Quellcode:
procedure tMyStringGrid.DrawCell(ACol, ARow: Integer; ARect: TRect;
  AState: TGridDrawState);
begin
 inherited;
 if not Odd(ARow) and not (gdFixed in aState) then
 begin
  Canvas.Brush.Color := clWebMintcream;
  Canvas.FillRect(aRect);
  Canvas.TextOut(aRect.Left+2, aRect.Top+2, Cells[ACol, ARow]);
 end;
end;
Nur wenn ich da die Zeile im Grid selektiere, blendet er mir meinen Text aus ...

gibt es hier einen Trick, dass man nach der Selektion einer Zeile (row) auch noch den geschriebenen Text entziffern kann?

Dank und Gruss
gg

PS: options.rowselect = true;
Angehängte Grafiken
Dateityp: bmp nicht_selektiert_132.bmp (750,1 KB, 28x aufgerufen)
Dateityp: bmp selektiert_728.bmp (750,1 KB, 25x aufgerufen)
  Mit Zitat antworten Zitat
grenzgaenger
(Gast)

n/a Beiträge
 
#2

Re: tStringGrid mit eigener Zeichenroutine --> Selektions

  Alt 31. Aug 2007, 00:14
Hallo Kollegen,

jetzt hab ich die Lösung gefunden...

Delphi-Quellcode:
procedure tSEStringGrid.DrawCell(ACol, ARow: Integer; ARect: TRect;
  AState: TGridDrawState);
begin
 inherited;
 if not Odd(ARow) and not ((gdFixed in aState) or (gdSelected in aState)) then
 begin
  Canvas.Brush.Color := clWebMintcream;
  Canvas.FillRect(aRect);
  Canvas.TextOut(aRect.Left+2, aRect.Top+2, Cells[ACol, ARow]);
 end;
end;
die Selektion musste noch ausgeschlossen werden.

Grüsse und noch einen schönen Abend
gg
  Mit Zitat antworten Zitat
Real_Thunder

Registriert seit: 25. Apr 2006
197 Beiträge
 
#3

Re: tStringGrid mit eigener Zeichenroutine --> Selektions

  Alt 8. Nov 2007, 23:38
Öhmm....
Ich weiß nun nicht ob ich da flasch liege....
aber der text wird nicht ausgeblendet...
Das Probloem ist das an Weissen text nicht auf weisem Hintergrund Sieht...
bzw mit dem Cream Text:
ich habe es so gemacht:
Delphi-Quellcode:
  if aRow > 0 then begin
    c.Font.Color:=ClBlack;
    if (aRow mod 2) = 0 then begin
      c.Brush.Color := $00E6E7E8;
      c.FillRect(Rect);
    end else begin
      c.Brush.Color := ClWhite;
      c.FillRect(Rect);
    end;
    if arow = TStringgrid(sender).Row then begin
      c.Font.Color:=ClYellow;
      c.Brush.Color := ClBlue;
      c.FillRect(Rect);
    end;

    s := TStringGrid(sender).Cells[ACol, ARow];
    c.FillRect(Rect);
    rect.Left:=rect.Left+5;
    rect.Top:=rect.Top+2;
    DrawText(c.Handle, PChar(s), Length(s), Rect, DT_SINGLELINE or DT_LEFT);
  end;
MfG Real Thunder

habe bei mir allerdings ein rowselect drin.....
ansonsten einfach die makierte zelle abfangen... und dass sollte es denn sein
  Mit Zitat antworten Zitat
Antwort Antwort


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:54 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz