hallo, verdammt, fliege ständig aus dem internet oder euer Texteditor treibt mich zur weißglut !!!
schreib den text schon zum zweiten mal

und hoffe, es war nicht umsonst
Zitat: |
P.S.: Das macht jetzt das problem, daß der eintrag zweimal im stringgrid auftaucht...
|
stimmt, aber dein Problem war ja die Farbe
habe mir nochmal diese große If-Bedingung angeschaut und den sinn nicht verstanden, soviel möglichkeiten um immer true zurückzugeben und den Text immer auch noch in die vorherige Spalte zu zeichen.
deine lösung ist aber auch nur von kurzer dauer :
- wenn du einen langen Text eingibst, oder einen langen Text kürzt, wird die Spalte rechts daneben nicht aktualisiert
füge
stringgrid.repaint beim onexit ereignis ein, dann wird zumindestens wenn du z.B. tab drückst das ganze neugezeichnet.
- bring eine andere Anwendung in den vordergrund und dann wieder deine. Das stringgrid wird neugezeichnet.
Ich denke, das Canvas.brush immer die hintergrundfarbe darstellt. in einer rosa spalte ist er rosa und du zeichnest den text in die spalte links daneben (die eigentlich grau/weiß ist) da canvas.brush=rosa, ist der gesamt texthintergrund also auch rosa und nicht unbedingt das, was du willst.
in meinem jugendlichen leichtsinn ist mir jetzt folgendes eingefallen
Quelltext
1: 2: 3:
| Canvas.FillRect( Rect ); canvas.brush.style:=bsclear; //transparent setzen Canvas.TextOut(x, y, LText); |
damit wird jede Zelle (aller zweireihen ?!?) die über den rand geht korrekt dargestellt
nur das Fillrect müßte man noch so anpassen, daß es die gridline mit überzeichnet
Mfg Frank