shiftos-next/shiftos_next/BWM User Controls/Titlebar.vb
TheUltimateHacker 6c5f8c6381 Draggable Windows in the BWM
We're one step closer to the full Basic Window Manager implementation.
I've created a UserControl called "TitleBar" for the BWM. This
UserControl contains the window handling code for draggable windows, as
well as a design-time settable AppName property that allows you to
change the application display name (what text is shown on the
titlebar).

Shiftorium upgrades to unlock Draggable Windows will be added soon, but
I have to clean the beast.
2015-05-27 20:39:48 -04:00

44 lines
1.4 KiB
VB.net

Public Class Titlebar
Public Property AppName As String
Set(value As String)
lbtitle.Text = value
End Set
Get
Return lbtitle.Text
End Get
End Property
Friend WithEvents prnt As Form = ParentForm
Private Sub titlebar_MouseDown(sender As Object, e As MouseEventArgs) Handles Me.MouseDown, lbtitle.MouseDown
' Handle Draggable Windows
If boughtdraggablewindows = True Then
If e.Button = MouseButtons.Left Then
Me.Capture = False
lbtitle.Capture = False
Const WM_NCLBUTTONDOWN As Integer = &HA1S
Const HTCAPTION As Integer = 2
Dim msg As Message = _
Message.Create(ParentForm.Handle, WM_NCLBUTTONDOWN, _
New IntPtr(HTCAPTION), IntPtr.Zero)
Me.DefWndProc(msg)
End If
End If
End Sub
Public Sub DetermineMyVisibility()
If boughtbasicwm = True Then
Me.Show()
ParentForm.WindowState = FormWindowState.Normal
ParentForm.Left = (Screen.PrimaryScreen.Bounds.Width - Me.Width) / 2
ParentForm.Top = (Screen.PrimaryScreen.Bounds.Height - Me.Height) / 2
ParentForm.TopMost = True
Else
Me.Hide()
ParentForm.WindowState = FormWindowState.Maximized
ParentForm.TopMost = False
End If
End Sub
End Class