ERLEDIGT
NEIN
NEIN
ANTWORTEN
6
6
ZUGRIFFE
956
956
EMPFEHLEN
-
Hallo mal wieder!
Ich möchte gerne die Grösse des Fensters meines Programms variabel machen...
Mein Problem hierbei sind die enthaltenen Elemente...
Die Listboxes und die Progressbar bleiben leider genauso gross wie sie bereits waren... Wie mach ich das, dass die Dinger ihre Grösse (gegebenenfalls ihre Position) ändern?
Die CommandButtons bleiben leider auch am selben Fleck... Die sollten aber immer eine bestimmte Entfernung vom Fensterrand haben...
Naja, vielleicht kennt ja jemand das Problem...
Gruss ITiger.And God saw that "IT" was good...
-
30.10.02 09:46 #2
- Registriert seit
- Nov 2001
- Ort
- Gießen
- Beiträge
- 4.091
du müsstest im onresize-ereignis des formulars die position und grösse der steuerelemente anpassen. in vb sind die angaben für höhe und breite nur leider in twips gemessen, und dadurch nicht immer gleich.
damit du mit pixeln arbeiten kannst, nimmst du dir einfach noch die variablen "Screen.TwipsPerPixelX" und "Screen.TwipsPerPixelY" dazu.
manche steuerelemente haben auch eine eigenschaft namens "align", wodurch das element beispielsweise immer am linken rand des formulars "klebt". siehe auch unter http://programmierer-board.de/phpBB2...ic.php?t=31271"You could say that I was too lazy to calculate and so I invented the computer." -- Konrad Zuse
-
hi, versuche das grade mit _resize aber wenn ich das ding maximiere, dann verhauts mir alles!
Wieso das denn? Wird da _Resize nicht auch aktiv?
Sehr Seltsam...
P.S.: Ein Attribut Form_OnResize() hab ich nicht gefunden, daher nehme ich Form_Resize() was eigentlich das selbe tun sollte, oder?And God saw that "IT" was good...
-
30.10.02 13:26 #4
- Registriert seit
- Nov 2001
- Ort
- Gießen
- Beiträge
- 4.091
eigentlich sollte beim maximieren auch eine grössenänderung stattfinden. der code der in der prozedur Form_Resize() steht wird vom onresize-ereignis aufgerufen und ausgeführt.
was genau meinst du denn überhaupt mit "verhaut mir alles"?"You could say that I was too lazy to calculate and so I invented the computer." -- Konrad Zuse
-
Ich meine damit die Listboxen kleben irgenwo im Fenster drin... also sagen wir mal...Original geschrieben von asphyxia
was genau meinst du denn überhaupt mit "verhaut mir alles"?
Normal: 5 mm Abstand vom Linken Rand & 5 mm vom Rechten.
verhaut mir alles: Listbox beginnt in der Mitte des Fensters und hört irgendwo hinter dem Fensterrand auf (kann nicht sagen wo, ich seh's ja nit...)
Wenn ich ganz normal mit der Maus hingegen auf eine Fensterecke klicke und dann das Fenster grösser mache, wird alles korrekt angezeigt...
Gruss. ITiger.And God saw that "IT" was good...
-
30.10.02 14:48 #6
- Registriert seit
- Nov 2001
- Ort
- Gießen
- Beiträge
- 4.091
so ganz nachvollziehen kann ich das irgendwie nicht. wenn du vielleicht mal deinen code posten könntest, werd ich mal sehen ob ich irgendwas finde.
ansonsten hab ich mal folgenden code ausprobiert, und das funktioniert auch beim maximieren ohne probleme:
Code :1 2 3 4
Private Sub Form_Resize() List1.Height = Form1.Height - 2000 List1.Width = Form1.Width - 2000 End Sub
allerdings ist die listbox in visual basic etwas merkwürdig, da sich diese beim ändern der grösse etwas komisch verhält."You could say that I was too lazy to calculate and so I invented the computer." -- Konrad Zuse
-
Danke erstmal, dass Du Dir soviel Mühe machst...
Hier kommt der Code...
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
Private Sub Form_Resize() ' ' Dim x As Long, y As Long ' ' x = Hauptform.Width ' y = Hauptform.Height ' ' List5.Left = (x - (List5.Width)) / 2 ' List1.Left = (x - (List1.Width)) / 2 ' List3.Left = (x - (List3.Width)) / 2 ' ' Label1.Left = List5.Left ' Label2.Left = List5.Left ' ' ' Command1.Top = List3.Top + List3.Height ' Command2.Top = List3.Top + List3.Height ' Command2.Left = x - Command2.Width ' ' List5.Width = x ' List1.Width = x ' List3.Width = x ' List5.Height = 0.25 * (y - (Command1.Height + ProgressBar1.Height)) ' List1.Top = List5.Top + List5.Height ' List1.Height = 0.25 * (y - (Command1.Height + ProgressBar1.Height)) ' List3.Top = List1.Top + List1.Height + ((0.125 * (y - (Command1.Height + ProgressBar1.Height)))) ' List3.Height = 0.25 * (y - (Command1.Height + ProgressBar1.Height)) ' Label1.Top = List5.Top - Label1.Height ' Label2.Top = List3.Top - Label2.Height ' ' ' 'End Sub
Vielleicht fällt Dir ja was auf, was mir entgangen ist...
Gruss ITiger.And God saw that "IT" was good...
Ähnliche Themen
-
Grösse einer wmf-Datei an die Clientgrösse anpassen.
Von andy369 im Forum VisualStudio & MFCAntworten: 0Letzter Beitrag: 23.05.08, 14:15 -
Grösse der Grafik anpassen
Von StefanLausL im Forum HTML & XHTMLAntworten: 13Letzter Beitrag: 01.04.08, 13:13 -
Bericht aktualisieren / Grösse anpassen
Von Hasibit im Forum Office-AnwendungenAntworten: 1Letzter Beitrag: 11.05.05, 21:49 -
Automatisch an grösse des explorers anpassen
Von 08/15 im Forum HTML & XHTMLAntworten: 8Letzter Beitrag: 21.10.04, 08:21 -
browserfenster auf bestimmte grösse anpassen.
Von C4T im Forum Javascript & AjaxAntworten: 4Letzter Beitrag: 27.05.03, 09:39





Zitieren
Login





