none
Scrollbar verschiebt sich nicht beim Maximieren RRS feed

  • Frage

  • Hallo Leute,

    ich habe ein Multi Window Oberfläche mit Parent - Child Beziehung, also ein Hauptformular welches mehrere kleinere Formulare beinhaltet. Soweit funktioniert auch alles ganz gut, nur bleibt die vertikale Scrollbar am Rand der "Nutzfläche" (da wo die Groupbox aufhört und wo danach nix mehr kommt außer graue Fläche) im MdiChild-Fenster stehen, wenn ich es Maximiere. Wie bekomme ich es hin, dass die Scrollbar stets am rechten Rand des Fensters ist und nicht irgendwo mitten drin?

    Freitag, 21. Oktober 2011 05:35

Antworten

  • Windows Forms gehört nicht zu meinen Stärken.

    Vermutlich hast Du einem Parent nicht gesagt, wie die Childs wo angedockt sind und sich anpassen sollen.


    Martin Richter -- MVP for VC++ [Germany] -- http://blog.m-ri.de
    Dienstag, 25. Oktober 2011 06:02
    Moderator

Alle Antworten

  • > ich habe ein Multi Window Oberfläche mit Parent - Child Beziehung, also ein Hauptformular welches mehrere kleinere Formulare beinhaltet. Soweit funktioniert auch alles ganz gut, nur bleibt die vertikale Scrollbar am Rand der "Nutzfläche" (da wo die Groupbox aufhört und wo danach nix mehr kommt außer graue Fläche) im MdiChild-Fenster stehen, wenn ich es Maximiere. Wie bekomme ich es hin, dass die Scrollbar stets am rechten Rand des Fensters ist und nicht irgendwo mitten drin?

    Der Scrollbar ist immer so groß wie sein Fenster, in dem er liegt. (Ausnahme man hat ein Scrollbar Window, aber das ist was anderes).
    Also kann die Lösung nur sein, das Fenster auch so weit nach rechts zu erweitern.


    Martin Richter -- MVP for VC++ [Germany] -- http://blog.m-ri.de
    Freitag, 21. Oktober 2011 05:41
    Moderator
  • mhn... aber ich dachte wenn ich das Fenster Maximiere, dann erweitert sich das Fenster ja auch nach rechts. Hier mal ein Bild, vllt hilft das weiter:


    wie ihr seht ist das ChildWindow maximiert und geht auch bis zum rechten Rand des Parent Windows. Nur die Scrollbar bleibt stehen... wieso?
    Freitag, 21. Oktober 2011 06:13
  • Dann ist darin ein weiteres Fenste rund das hat den Rollbalken und dieses Fenster hat sich nicht an das MDI Child angepasst.

    Nimm Spy++ und schau es Dir an.


    Martin Richter -- MVP for VC++ [Germany] -- http://blog.m-ri.de
    Freitag, 21. Oktober 2011 06:50
    Moderator
  • Was ist denn das für eine Anwendung? MFC?


    Martin Richter -- MVP for VC++ [Germany] -- http://blog.m-ri.de
    Freitag, 21. Oktober 2011 07:07
    Moderator
  • Sorry für die späte AW, eher gings leider nicht.

    Es handelt sich um ein Visual C++ CLR Projekt (Windows Forms Anwendung), erstellt mit Visual Studio Professional 2008.

    "Dann ist darin ein weiteres Fenste rund das hat den Rollbalken und dieses Fenster hat sich nicht an das MDI Child angepasst."
    Meinst du im Child-Window noch ein Window? Da ist kein weiteres Fenster mehr drin. Ich habe nur 2 Layer mit Fenstern:

    Hauptformular (Parent) < inneres Formular mit dem problematischen Scrollbalken (Child)

    Im Child Fenster liegt ein großes Panel, und am rechten Rand dieses Panels hängt der Scrollbalken, egal wie groß oder klein ich das Child Fenster mache. Wie bekomme ich es hin, dass der Scrollbalken am Rand des Child Fensters hängt, und nicht am Rand dieses Panels?

     

     

    Montag, 24. Oktober 2011 13:14
  • Windows Forms gehört nicht zu meinen Stärken.

    Vermutlich hast Du einem Parent nicht gesagt, wie die Childs wo angedockt sind und sich anpassen sollen.


    Martin Richter -- MVP for VC++ [Germany] -- http://blog.m-ri.de
    Dienstag, 25. Oktober 2011 06:02
    Moderator
  • Das gibts ja nicht... habe gerade das Problem gelöst. In dem Child Window habe ich ein Panel angelegt, welches die Dock-Eigenschaft auf Left gesetzt hatte. Habe die Dock-Eigenschaft auf None gesetzt und siehe da: der Scollbalken hängt nicht mehr an dieser Position fest.

    Danke nochmal für deine Hilfe Martin. Spy++ hab ich noch nie verwendet, werde es mir mal anschauen. Wozu nutzt man dieses Tool am meisten?

    Donnerstag, 3. November 2011 07:35
  • > Danke nochmal für deine Hilfe Martin. Spy++ hab ich noch nie verwendet, werde es mir mal anschauen. Wozu nutzt man dieses Tool am meisten?

    Damit kann man die Struktur und Schachtelung von Fenstern ansehen. Sowie Stile und Nachrichten kontrollieren.
    Es ist eine Art Super-Hook für Windows Anwednungen...


    Martin Richter -- MVP for VC++ [Germany] -- http://blog.m-ri.de
    Donnerstag, 3. November 2011 07:44
    Moderator