Entwickler-Ecke
Grafische Benutzeroberflächen (VCL & FireMonkey) - Editfelder auf ReadOnly setzen
LokutusvB - Fr 04.03.11 15:07
Titel: Editfelder auf ReadOnly setzen
Hallo,
ich nutze in einem Formular eine TScrollbox. In dieser befinden sich mehrere TPanels und auf den Panels wiederum mehrere TEdit-Felder. Das Scrollen der Box mittels Mausrad realisiere ich über die beiden Eigenschaften OunMouseWheelDown und ...Up
Delphi-Quelltext
1:
| with (Sender as TScrollBox).VertScrollBar do Position := Position + 10; |
Ja nach Aufruf des Formulares möchte ich die Edit-Felder ReadOnly setzen oder auch nicht. Da es sich um einige Panles und Felder handelt, wollte ich das einfach mittels Schleife organisieren:
Delphi-Quelltext
1: 2: 3: 4: 5: 6:
| for ii := 0 to sbFormular.ControlCount -1 do begin if (sbFormular.Controls[ii].ClassType = TPanel) then sbFormular.Controls[ii].Enabled := False; if (sbFormular.Controls[ii].ClassType = TGroupBox) then sbFormular.Controls[ii].Enabled := False; end; |
Hier habe ich allerdings das Problem, daß sich die Scrollbox nicht mehr mit dem Mausrad scrollen lässt. Leider konnte ich keine Möglichkeit finden, die Edit-Felder auf ReadOnly zu setzen, das scheint über Controls nicht möglich zu sein. Kennt jemand eine Möglichkeit, mittels dieser Controls-Schleife die Edit-Felder auf ReadOnly zu setzen? So müßte ich nicht die Panles und Boxen deaktivieren und das Scrollen mittels Mausrad würde weiterhin funtkionieren.
zuma - Fr 04.03.11 15:13
ich mach das immer so, das ich die Components durchlaufe, die auf der Form sind und dann schalte:
Delphi-Quelltext
1: 2:
| if xForm.Components[i] is TEdit then TEdit(xMaske.Components[i]).ReadOnly := xBool; |
jaenicke - Fr 04.03.11 15:23
Ja, der Punkt ist einfach nur der Typecast auf TEdit. Ansonsten ist Controls hier natürlich richtig.
LokutusvB - Fr 04.03.11 15:26
Danke euch beiden, funktioniert bestens! :)
Bin mal wieder nicht auf einen Cast gekommen.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!