Re: Nachträgliches Einfügen von Statusbar in Form mit Panels

Tech Tip: Click here to run a free scan for Windows Errors and optimize PC performance

From: Karsten Sosna (NoSpam-k.sosna_at_t-online.de)
Date: 03/05/04


Date: Fri, 5 Mar 2004 06:38:12 +0100


ich weiß, dass das Topic erst mal lächerlich klingt, aber
es geht um folgendes :

Ich habe eine Form mit drei horizontalen Panels, jeweils
durch Splitter getrennt. Die Form sieht so aus :

Panellinks Splitter Panelmiddle Splitter Panelright
(Dock:left) (Dock:Client) (Dock:Right)

Nach intensivem Programmieren stellte ich mit Entsetzen
fest, dass sowohl Toolbar wie auch Statusbar fehlen. Also
habe, delphiverseucht wie ich bin, einfach eine Statusbar
genommen und auf die Form gezogen in der stillen Hoffnung,
sie würde am unteren Formrand erscheinen UNTER den Panels
mit DOCK:Bottom ... leider vergeblich. Sie erscheint immer
in einem der Panels und ist dementsprechend auf das Panel
beschränkt, dasselbe mit der Toolbar. Wie bekomme ich
jetzt nachträglich diese verd... Statusbar in das
Formular, so dass sie sich über den gesamten unteren
Formrand erstreckt und die Panels DARÜBER angeordnet
werden ? Dasselbe Problem habe ich halt mit der Toolbar,
die am oberen Rand eines einzelnen Panels erscheint.

===============
Ganz davon abgesehen, das ich es nicht für Ok halte mit 2 Splittern in einer
Richtung zu arbeiten.

Du mußt die Dock-Eigenschaft des Panelmiddle aufheben und die Größe so
einstellen, das Du einen freien Bereich der Form hast. Nun fügst Du die
beiden Steuerelemente ein und bringst diese in den Hintergrund(Entweder
rechte Maustaste "In den Hintergrund" oder über "Menü Format>Reihenfolge>In
den Hintergrund"). Abschließend setzt Du Dock-Eigenschaft des Panelmiddle
wieder auf "Fill".
Beachte für die Zukunft, das Du die Steuerelemente in der richtigen
Reihenfolge einfügst(Hier also erst den Statusbar und Toolbar und dann erst
die Panels und Splitter). Wenn Du Steuerelemente entfernst und wieder
einfügst, geht Dir die Handles-Klausel in schon verwendeten Ereignissen
verloren. Hier am Beispiel eines Button:
Habe einen Button eingefügt und im Click-Ereignis Code eingefügt. Danach
habe ich den Button gelöscht und einen Neuen eingefügt, danach sieht der
Source-Code so aus:

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs)
    Console.Write("Button1_Click")
End Sub

Private Sub Button1_Click_1(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button1.Click

End Sub

-- 
Gruß Scotty

Quantcast