PDA

Vollständige Version anzeigen : Bilder zusammenfassen


Byti
08.06.2001, 13:51
Hallo

Ich habe in meiner Form 10 kleine Bilder. Diese Bilder werden öffters mit der Eigenschaft visible=true und false geschalten. Nun will das aber nicht ständig neu schreiben, gibt es da eine Lösung?

Gruß Jörg

Stefan Kulpa
09.06.2001, 06:38
<font face="Verdana" size="2">Hallo Jörg,

es wäre hilfreich etwas genauer zu wissen, was wie und wann "umgeschaltet" wird (Code-Beispiel?).
Dann könnte man vielleicht auch eine Lösung finden.

Gruß</font>

Byti
09.06.2001, 09:44
Hallo

Ich habe die 10 Bilder zu den Bildern sind noch 2 Buttons dabei. Das eine schaltet sie visible=true das andere false. Wenn ich aber eines der Bilder anklicke sollen die anderen wieder false sein vorausgesetzt sie waren true. Nun müßte man den Bildern 1 - 10 eine Variable zuteilen die die 10 Bilder umfasst damit man später nur noch diese Variable visible=true bzw. false schalten muß und nicht immer jedes Bild einzeln.

Danke für eine eventuell Hilfe
Gruß Jörg

Stefan Kulpa
09.06.2001, 10:20
<font face="Verdana" size="2">Hallo Jörg,

eigentlich brauchst Du gar keine Variablen.
In nachfolgendem Beispiel habe ich die Controls wie folgt benannt:

CommandButton für's Einschalten -> cmdOn
CommandButton für's Ausschalten -> cmdOff

Die Bilder habe ich als PictureBox in einem ControlArray eingefügt (picMyImage()).

Dann geht's wie folgt:</font>

<PRE><FONT SIZE=1 FACE=Courier New><FONT COLOR=#000080>Private</FONT> <FONT COLOR=#000080>Sub</FONT> cmdOn_Click()
<FONT COLOR=#008000>'** Alle Pictureboxen anzeigen</FONT>
SetPicState <FONT COLOR=#000080>True</FONT>

<FONT COLOR=#000080>End</FONT> <FONT COLOR=#000080>Sub</FONT>
<FONT COLOR=#808080><HR></FONT>

<FONT COLOR=#000080>Private</FONT> <FONT COLOR=#000080>Sub</FONT> cmdOff_Click()
<FONT COLOR=#008000>'** Alle Pictureboxen ausblenden</FONT>
SetPicState <FONT COLOR=#000080>False</FONT>

<FONT COLOR=#000080>End</FONT> <FONT COLOR=#000080>Sub</FONT>
<FONT COLOR=#808080><HR></FONT>

<FONT COLOR=#000080>Private</FONT> <FONT COLOR=#000080>Sub</FONT> picMyImage_Click(Index <FONT COLOR=#000080>As</FONT> <FONT COLOR=#000080>Integer</FONT>)
<FONT COLOR=#008000>'** Mausklick auf eines Bilder auswerten</FONT>
<FONT COLOR=#008000>'** Es kann nur eine sichtbare Picturebox angeklickt werden</FONT>
<FONT COLOR=#008000>'** Zunächst wieder alle unsichtbar machen</FONT>
SetPicState <FONT COLOR=#000080>False</FONT>
<FONT COLOR=#008000>'** und das aktuelle wieder anzeigen</FONT>
picMyImage(Index).Visible = <FONT COLOR=#000080>True</FONT>

<FONT COLOR=#000080>End</FONT> <FONT COLOR=#000080>Sub</FONT>
<FONT COLOR=#808080><HR></FONT>

<FONT COLOR=#000080>Private</FONT> <FONT COLOR=#000080>Sub</FONT> SetPicState(bState <FONT COLOR=#000080>As</FONT> <FONT COLOR=#000080>Boolean</FONT>)

<FONT COLOR=#000080>Dim</FONT> ctrPic <FONT COLOR=#000080>As</FONT> <FONT COLOR=#000080>Control</FONT>
<FONT COLOR=#000080>For</FONT> <FONT COLOR=#000080>Each</FONT> ctrPic <FONT COLOR=#000080>In</FONT> Controls
<FONT COLOR=#000080>If</FONT> <FONT COLOR=#000080>TypeOf</FONT> ctrPic <FONT COLOR=#000080>Is</FONT> PictureBox <FONT COLOR=#000080>Then</FONT>
ctrPic.Visible = bState
<FONT COLOR=#000080>End</FONT> <FONT COLOR=#000080>If</FONT>
<FONT COLOR=#000080>Next</FONT>

<FONT COLOR=#000080>End</FONT> <FONT COLOR=#000080>Sub</FONT>
<FONT COLOR=#808080></FONT>

</FONT></PRE>

<font face="Verdana" size="2">... sofern ich das richtig verstanden habe.

Gruß</font>

Byti
09.06.2001, 11:57
Hallo

Ja so funktioniert es. Nur könnte man von den 10 Pictureboxen eine davon ausklammern so das sie geschützt bleibt bzw. weiter angezeigt wird (Hintergrundbild). Ohne das man daraus ein Image machen würde.

Jörg