mirror of
https://github.com/TheUltimateHacker/shiftos-next.git
synced 2025-01-23 00:42:14 +00:00
6c5f8c6381
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.
44 lines
1.4 KiB
VB.net
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
|