Autor Beitrag
Lollinger
Hält's aus hier
Beiträge: 15

WIN XP, WIN 2000
D3 Prof.
BeitragVerfasst: Di 17.07.07 18:02 
Hallo zusammen,

zur Zeit arbeite ich an einem kleinen Programm, in welchem mich folgendes stört:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
//sind vereinfachte Objektnamen hier... in Realität geht es runter bis Im50
Im1a.visible := true;
Im1b.visible := true;
Cb1a.visible := true;
Cb1b.visible := true;
...
Im2a.visible := false;
Im2b.visible := false;
Cb2a.visible := false;
Cb2b.visible := false;
...


ich suche jetzt einen Operator vglbar mit 'with', nur eben umgekehrt,
in der Art von:

ausblenden Delphi-Quelltext
1:
2:
3:
setzte  visible := true  für
  Im1a, Im1b, Cb1a, Cb1b
...


Danke im Voraus für die Hilfe... und bitte redet noch ein wenig Deutsch mit mir, ich kann Delphi nur aus der Schule und hab mir 99% meines Wissens selber aneignen müssen.

MfG
Lollinger


Zuletzt bearbeitet von Lollinger am Di 17.07.07 20:18, insgesamt 1-mal bearbeitet
Narses
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Administrator
Beiträge: 10183
Erhaltene Danke: 1256

W10ent
TP3 .. D7pro .. D10.2CE
BeitragVerfasst: Di 17.07.07 18:54 
Moin und :welcome: im Forum!

Du suchst Suche in: Delphi-Forum, Delphi-Library FINDCOMPONENT ;)

cu
Narses

_________________
There are 10 types of people - those who understand binary and those who don´t.
Lannes
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2352
Erhaltene Danke: 4

Win XP, 95, 3.11, IE6
D3 Prof, D4 Standard, D2005 PE, TurboDelphi, Lazarus, D2010
BeitragVerfasst: Di 17.07.07 20:10 
Hallo,

könnte auch sein das TWinControl.Controls gesucht wird :wink:

_________________
MfG Lannes
(Nichts ist nicht Nichts) and ('' <> nil ) and (Pointer('') = nil ) and (@('') <> nil )
Lollinger Threadstarter
Hält's aus hier
Beiträge: 15

WIN XP, WIN 2000
D3 Prof.
BeitragVerfasst: Di 17.07.07 20:16 
also der FindComponent Befehl der trifft's ganz gut. Damit kann ich was anfangen. thx

@Lannes: habe mir grade mal TWinControl.Controls in der Delphi-Hilfe durchgelesen... versteh ich irgendwie nicht :roll:
Lannes
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2352
Erhaltene Danke: 4

Win XP, 95, 3.11, IE6
D3 Prof, D4 Standard, D2005 PE, TurboDelphi, Lazarus, D2010
BeitragVerfasst: Di 17.07.07 20:48 
Hallo,

angenommen auf einem Panel liegen nur 2 Labels.
Dann kann man folgende Schleife konstruieren:
ausblenden Delphi-Quelltext
1:
2:
for z := 0 to Panel.ControlCount -1 do
  TLabel(Panel.Controls[z]).Caption := 'Ich bin ein Label';


Eventuell eine Alternative dazu:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
Im1a.visible := true;  
Im1b.visible := true;  
Cb1a.visible := true;  
Cb1b.visible := true;

Die Komponenten Im1a, Im1b, Cb1a und Cb1b auf ein Panel, dann kannst Du mit einem Befehl alle verbergen:
ausblenden Delphi-Quelltext
1:
Panel.Visible := False;					


Ist natürlich alles abhängig von Deinem Anwendungslayout.

_________________
MfG Lannes
(Nichts ist nicht Nichts) and ('' <> nil ) and (Pointer('') = nil ) and (@('') <> nil )
Lollinger Threadstarter
Hält's aus hier
Beiträge: 15

WIN XP, WIN 2000
D3 Prof.
BeitragVerfasst: Di 17.07.07 21:51 
beim Layout liegen jeweils Im1a / Im2a, Im1b / Im2b, etc. übereinander.
sehe ich es richtig, dass es mit panels dann nicht hinhaut?? :roll:
Lannes
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2352
Erhaltene Danke: 4

Win XP, 95, 3.11, IE6
D3 Prof, D4 Standard, D2005 PE, TurboDelphi, Lazarus, D2010
BeitragVerfasst: Di 17.07.07 23:15 
Hallo,

wenn ich Dich richtig verstanden habe sollte das mit Panels gehen.

Also auf Panel_1 die Komponenten Im1a und Im1b, auf Panel_2 die Komponenten Im2a und Im2b.
Dann Panel_2 über Panel_1 schieben. Setz man dann Panel_2.Visible auf False wird Panel_1 mit seinen Komponenten sichtbar.

Noch eine andere Möglicheit wäre mit Panel_1.BringToFront; gegeben.

Erzähl doch mal etwas mehr über Dein Vorhaben, dann kann man eventuell noch bessere Vorschläge machen.

_________________
MfG Lannes
(Nichts ist nicht Nichts) and ('' <> nil ) and (Pointer('') = nil ) and (@('') <> nil )
Lollinger Threadstarter
Hält's aus hier
Beiträge: 15

WIN XP, WIN 2000
D3 Prof.
BeitragVerfasst: Di 17.07.07 23:35 
hab hier mal ein Pic angehangen... kenne mich mit Panels leider 0 aus, weiß also nicht wie du das meinst...

zum Pic:
die Reiter unten werden später noch erweitert. Im Endeffekt werden es 12-15 Reiter sein. Und jedes Mal sollen halt die passenden Logos sichtbar gemacht werden. Aus weiteren Programmgründen muss ich mit 'visible' arbeiten.
Einloggen, um Attachments anzusehen!
Lannes
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2352
Erhaltene Danke: 4

Win XP, 95, 3.11, IE6
D3 Prof, D4 Standard, D2005 PE, TurboDelphi, Lazarus, D2010
BeitragVerfasst: Mi 18.07.07 00:02 
Hallo,

die Komponente TPageControl sollte doch dafür das richtige sein.

_________________
MfG Lannes
(Nichts ist nicht Nichts) and ('' <> nil ) and (Pointer('') = nil ) and (@('') <> nil )
oldmax
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 380


D3 Prof, D4 Prof
BeitragVerfasst: Mi 18.07.07 06:43 
Hi
Wenn du eine Objektgruppe sichtbar / unsichtbar máchen möchtest, sind unterlegte Panels genau richtig. du ziehst in deine Form ein Panel und placierst dann deine Objektgruppe darauf. So kannst du weitere Panels auf die Form bringen.(Aufpassen, das die Panels in der Form und nicht in einem der Panels plaziert werden !!)
Wenn du nun die Panels genau übereinander legst, kannst u in einer Schleife z. B. alle "unsichtbar" machen und das ausgewählte Panel mit der benötigten Objektgruppe sichtbar schalten.
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
For i:=1 to x do
begin 
  TPanel(FindComponent('Panel'+IntToStr(i))).Visible:=False;
end;
TPanel(FindComponent('Panel'+IntToStr(y))).Visible:=True; // Y ist die benötigte Gruppe

Wenn du allerdings von "Reitern" sprichst, dann ist TPageControl doch die bessere Lösung.
Du nimmst ein TPagecontrol und fügst neue Seiten hinzu, indem du mit der rechten Maustaste in das Pagecontrol clickst. Wenn du die Reiter anclickst, wechselt er die Seiten entsprechend. Benennen kannst du die Reiter, indem du die Fläche anclickst und die Caption der Tabsheet überschreibst.
Viel Spass bei deinem Projekt
Gruß oldmax

_________________
Zier dich nich so, ich krieg dich schon....
Lollinger Threadstarter
Hält's aus hier
Beiträge: 15

WIN XP, WIN 2000
D3 Prof.
BeitragVerfasst: Mi 18.07.07 12:09 
Wie verfahre ich denn anschließend mit dem TPageControl? Geht das dann, wie ihr das mit den Panels auch vergeschlagen habt? Hab nähmlich grade ein wenig ausprobiert. Die PageControl steht, aber sonst bekomm ich irgendwie nix weiter hin. help pls :oops:
oldmax
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 380


D3 Prof, D4 Prof
BeitragVerfasst: Mi 18.07.07 13:11 
Hi
Ich hab's versucht, zu beschreiben. Nun weiß ich nicht, was du von dem TPageControl erwartest. Du sagst, es steht, das heißt für mich, du hast x-Registerkarten und denen hast du eine Caption zugewiesen. Und du kannst nun zwischen den Registerkarten verschiedene Objektgruppen anzeigen. Oder ist dem nicht so? Vielleicht hilft auch ein wenig F1.
Gruß oldmax

_________________
Zier dich nich so, ich krieg dich schon....
Lollinger Threadstarter
Hält's aus hier
Beiträge: 15

WIN XP, WIN 2000
D3 Prof.
BeitragVerfasst: Mi 18.07.07 13:33 
Zitat:
verschiedene Objektgruppen anzeigen. Oder ist dem nicht so?

eben das kann ich nicht

wie kann ich die Objekt dorthin 'gruppieren'?? F1-Hilfe ist da (meiner Meinung nach) ziemlich uninformativ (bin nur ein armer Schüler)
Lannes
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2352
Erhaltene Danke: 4

Win XP, 95, 3.11, IE6
D3 Prof, D4 Standard, D2005 PE, TurboDelphi, Lazarus, D2010
BeitragVerfasst: Mi 18.07.07 22:08 
Hallo,

wenn Du zur Entwurfszeit auf einen Reiter klickst, wird das gesamte PageControl markiert, klickst Du unterhalb der Reiter wird ein TabSheet markiert. Auf diese Tabsheets kannst Du dann aus der Komponentenpalette die gewünschten Komponenten ablegen.

Liegen die Komponenten schon auf der Form, dann hilft ein Ausschneiden in die Zwischenablage und nachfolgendes Einfügen auf ein TabSheet weiter.

Du musst immer dabei aufpassen das ein TabSheet markiert ist, sonst landet die Komponente auf der Form.

_________________
MfG Lannes
(Nichts ist nicht Nichts) and ('' <> nil ) and (Pointer('') = nil ) and (@('') <> nil )
Lollinger Threadstarter
Hält's aus hier
Beiträge: 15

WIN XP, WIN 2000
D3 Prof.
BeitragVerfasst: Fr 20.07.07 12:21 
hm... PC grad abegraucht... probiere es aber die Tage mal so aus. Habe es immer versucht dort rein zu schieben...

danke bis hierhin... denke das war's dann!