tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
6
ZUGRIFFE
956
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    ITiger ITiger ist offline Mitglied Bronze
    Registriert seit
    Oct 2002
    Ort
    BW
    Beiträge
    36
    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...

  2. #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

  3. #3
    ITiger ITiger ist offline Mitglied Bronze
    Registriert seit
    Oct 2002
    Ort
    BW
    Beiträge
    36
    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...

  4. #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

  5. #5
    ITiger ITiger ist offline Mitglied Bronze
    Registriert seit
    Oct 2002
    Ort
    BW
    Beiträge
    36
    Original geschrieben von asphyxia
    was genau meinst du denn überhaupt mit "verhaut mir alles"?
    Ich meine damit die Listboxen kleben irgenwo im Fenster drin... also sagen wir mal...

    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...

  6. #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

  7. #7
    ITiger ITiger ist offline Mitglied Bronze
    Registriert seit
    Oct 2002
    Ort
    BW
    Beiträge
    36
    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

  1. Grösse einer wmf-Datei an die Clientgrösse anpassen.
    Von andy369 im Forum VisualStudio & MFC
    Antworten: 0
    Letzter Beitrag: 23.05.08, 14:15
  2. Grösse der Grafik anpassen
    Von StefanLausL im Forum HTML & XHTML
    Antworten: 13
    Letzter Beitrag: 01.04.08, 13:13
  3. Bericht aktualisieren / Grösse anpassen
    Von Hasibit im Forum Office-Anwendungen
    Antworten: 1
    Letzter Beitrag: 11.05.05, 21:49
  4. Automatisch an grösse des explorers anpassen
    Von 08/15 im Forum HTML & XHTML
    Antworten: 8
    Letzter Beitrag: 21.10.04, 08:21
  5. browserfenster auf bestimmte grösse anpassen.
    Von C4T im Forum Javascript & Ajax
    Antworten: 4
    Letzter Beitrag: 27.05.03, 09:39