× Aktuálně z oboru

Vychází Game Ready ovladače pro Far Cry 5 [ clanek/2018040603-vychazi-game-ready-ovladace-pro-far-cry-5/ ]
Celá zprávička [ clanek/2018040603-vychazi-game-ready-ovladace-pro-far-cry-5/ ]

Jednoduchý SplitterBar

[ http://programujte.com/profil/618-jan-maly/ ]Google [ :?rel=author ]       [ http://programujte.com/profil/20356-lucie-z/ ]Google [ ?rel=author ]       6. 12. 2005       10 252×

V programech typu Průzkumník je hlavní okno rozděleno na dvě menší. Jak to vytvořit ve Visual Basicu, když tam není prvek SplitterBar? Přečtěte si tento článek a budete vědět, jak na to...

V průzkumníku je mezi TreeView a ListView malý prostor, kam, když se klikne a táhne
myší, můžete zvětšovat (zmenšovat) jednotlivé části.


ukázka SplitterBaru v Total Commander 6.01


K této ukázce budeme potřebovat jeden PictureBox a dva TextBoxy.

Postup:
Na formulář umístěte dva TextBoxy vedle sebe. Mezi nimi nechte malý prostor. Do tohoto prostoru vložte PictureBox.

To formuláře vložte tento kód:


Private Sub Picture1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
   If Button = vbLeftButton Then Picture1.Left = Picture1.Left + X
End Sub

Private Sub Picture1_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
   If Button = vbLeftButton Then
      Text1.Width = Picture1.Left
      Text2.Left = Picture1.Left + Picture1.Width
      Text2.Width = Form1.ScaleWidth - (Picture1.Left + Picture1.Width)
   End If
End Sub

Pokud se vše povedlo tak, jak mělo, bude to vypadat takto:


Pokud jste to vytvořili správně, budete moci s PictureBoxem pohybovat vlevo a vpravo, a tím tak rozdělovat místo na formuláři mezi dva TextBoxy.

Pozn:
Tady je tip, jak to ještě trochu vylepšit:


Private Sub Form_Load()
   Picture1.MousePointer = 9
End Sub

Private Sub Form_Resize()
   Text1.Height = Form1.ScaleHeight
   Text2.Height = Form1.ScaleHeight
   Text2.Width = Form1.ScaleWidth
   Picture1.Height = Form1.ScaleHeight
End Sub

Private Sub Picture1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
   If Button = vbLeftButton Then Picture1.Left = Picture1.Left + X
End Sub

Private Sub Picture1_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
   If Button = vbLeftButton Then
      Text1.Width = Picture1.Left
      Text2.Left = Picture1.Left + Picture1.Width
      Text2.Width = Form1.ScaleWidth - (Picture1.Left + Picture1.Width)
   End If
End Sub


Zde si můžete stáhnout ukázku [ file.php?id=62_1133524067_splitterbar ].


Článek stažen z webu Programujte.com [ http://programujte.com/clanek/2005120203-jednoduchy-splitterbar/ ].