AGB  ·  Datenschutz  ·  Impressum  







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

Stringrid nur zur Anzeige

Ein Thema von Hansa · begonnen am 15. Sep 2005 · letzter Beitrag vom 17. Sep 2005
Antwort Antwort
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#1

Stringrid nur zur Anzeige

  Alt 15. Sep 2005, 16:46
Hi,

folgendes Problem : habe ein Stringgrid, welches mit Daten gefüllt werden soll. Editiert werden soll nichts. Wird es angezeigt, dann ist die erste Zelle blau hinterlegt und ich kann nicht Blättern mit den Funktionstasten. Klicke ich mit der Maus eine beliebige Zelle an, dan geht das, ist aber überflüssig. SetFocus usw. bringt keine Veränderung. Wer weiß mehr ?
Gruß
Hansa
  Mit Zitat antworten Zitat
Benutzerbild von kiar
kiar

Registriert seit: 2. Aug 2003
Ort: Aschersleben
1.362 Beiträge
 
Delphi 5 Professional
 
#2

Re: Stringrid nur zur Anzeige

  Alt 15. Sep 2005, 16:53
hallo Hansa.

suche benutzt und das erhalten:
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
const KeineSelection : TGridRect = (left:-1;top:-1;right:-1;bottom:-1);
begin
  StringGrid1.Selection := KeineSelection;
end;
raik
verhältnisse die einem nicht passen,
muss man verändern oder verlassen
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#3

Re: Stringrid nur zur Anzeige

  Alt 15. Sep 2005, 19:58
Moin Raik,

vielen Dank für den Hinweis auf die Suche. 8) Mit Hilfe der Hilfe habe ich es nun hingekriegt, daß ein Bereich des Stringgrids blau unterlegt ist. Das nützt mir aber nichts. Ich brauche den Zustand, so wie wenn im Grid eine Zelle angeklickt wird. Die ist dann dünn umrandet, nicht blau unterlegt und ich kann Pfeil und Blättertasten benutzen. Außerdem bleibt das Grid in der letzten Zeile stehen. Eventuell muß ich die Positionierung für Zeile 1 haben.
Gruß
Hansa
  Mit Zitat antworten Zitat
Benutzerbild von kiar
kiar

Registriert seit: 2. Aug 2003
Ort: Aschersleben
1.362 Beiträge
 
Delphi 5 Professional
 
#4

Re: Stringrid nur zur Anzeige

  Alt 15. Sep 2005, 20:03
Moin Hansa,

bei mir klappt das bestens , kein unterlegtes blau und die zellen werden gestrichelt umrandet.
habe es mit Delphi 5 gemacht, verstehe ich nicht, das es bei dir nicht klappt.

grüsse aus dem KoffeeShop

raik
verhältnisse die einem nicht passen,
muss man verändern oder verlassen
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#5

Re: Stringrid nur zur Anzeige

  Alt 17. Sep 2005, 14:14
Raiks Tip geht so leider nicht (D7 Pro). Mit Selection kann ich zwar ein paar Zellen markieren, aber sonst anscheinend nichts. Da das Grid nur zur Anzeige dient, ist das aber völlig überflüssig. Die Positionierung auf 1. Zeile geht mit Col := 1 und Row := 1 Den Focus erhält diese Zelle aber nicht. Insofern reagiert auch die Tastatur nicht, es sei denn ich klicke mit der Maus explizit auf das Grid. 8)
Gruß
Hansa
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#6

Re: Stringrid nur zur Anzeige

  Alt 17. Sep 2005, 15:07
Hallo Hansa,

damit der Benutzer das StringGrid auf deinem Formular nicht erst mit der Maus anklicken muss, kannst du das StringGrid im Object Inspector zum ActiveControl der Form machen. Damit grundsätzlich keine blaue Selektion zu sehen ist, musst du DefaultDrawing auf FALSE setzen und das Ereignis OnDrawCell() bedienen:

Delphi-Quellcode:
procedure TDemoForm.StringGridDrawCell(Sender: TObject; ACol,
  ARow: Integer; Rect: TRect; State: TGridDrawState);
begin
  with StringGrid do
  begin
    if gdFixed in State
      then Canvas.Brush.Color := FixedColor
      else Canvas.Brush.Color := Color;
    Canvas.FillRect(Rect);
    Canvas.TextOut(Rect.Left, Rect.Top, Cells[ACol, ARow]);
    if gdFocused in State
      then Canvas.DrawFocusRect(Rect);
  end;
end;
Ein Nachteil von so einem StringGrid (r/o und kein area select) ist auf jeden Fall, dass du den Benutzer beim Arbeiten mit Copy & Paste behinderst.

Grüße vom marabu
  Mit Zitat antworten Zitat
Benutzerbild von kiar
kiar

Registriert seit: 2. Aug 2003
Ort: Aschersleben
1.362 Beiträge
 
Delphi 5 Professional
 
#7

Re: Stringrid nur zur Anzeige

  Alt 17. Sep 2005, 15:16
Moin Hansa,

wir drehen uns im Kreis. Ich schreibe mal das in reinen Text, was du versucht hast in deinem ersten Post zu erklären:

also
1. du willst ein Stringgrid nur zur anzeige
2. du möchtest nicht, das die erste Zeile im Grid blau hinterlegt ist
3. du möchtest mit den Richtungstasten durch dein Grid durchhetzen

wenn ich das richtig analysiert habe, dann macht der Quelltext von oben genau das

Raik
verhältnisse die einem nicht passen,
muss man verändern oder verlassen
  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 07:13 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