big transformation , using DockPanels now
it feels good to me! -Thoys git-svn-id: https://lsleditor.svn.sourceforge.net/svnroot/lsleditor@26 3f4676ac-adda-40fd-8265-58d1435b1672
This commit is contained in:
parent
75c722f354
commit
573823c181
92 changed files with 16899 additions and 760 deletions
70
trunk/Docking/SplitterBase.cs
Normal file
70
trunk/Docking/SplitterBase.cs
Normal file
|
@ -0,0 +1,70 @@
|
|||
using System;
|
||||
using System.Collections;
|
||||
using System.ComponentModel;
|
||||
using System.Drawing;
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace LSLEditor.Docking
|
||||
{
|
||||
internal class SplitterBase : Control
|
||||
{
|
||||
public SplitterBase()
|
||||
{
|
||||
SetStyle(ControlStyles.Selectable, false);
|
||||
}
|
||||
|
||||
public override DockStyle Dock
|
||||
{
|
||||
get { return base.Dock; }
|
||||
set
|
||||
{
|
||||
SuspendLayout();
|
||||
base.Dock = value;
|
||||
|
||||
if (Dock == DockStyle.Left || Dock == DockStyle.Right)
|
||||
Width = SplitterSize;
|
||||
else if (Dock == DockStyle.Top || Dock == DockStyle.Bottom)
|
||||
Height = SplitterSize;
|
||||
else
|
||||
Bounds = Rectangle.Empty;
|
||||
|
||||
if (Dock == DockStyle.Left || Dock == DockStyle.Right)
|
||||
Cursor = Cursors.VSplit;
|
||||
else if (Dock == DockStyle.Top || Dock == DockStyle.Bottom)
|
||||
Cursor = Cursors.HSplit;
|
||||
else
|
||||
Cursor = Cursors.Default;
|
||||
|
||||
ResumeLayout();
|
||||
}
|
||||
}
|
||||
|
||||
protected virtual int SplitterSize
|
||||
{
|
||||
get { return 0; }
|
||||
}
|
||||
|
||||
protected override void OnMouseDown(MouseEventArgs e)
|
||||
{
|
||||
base.OnMouseDown(e);
|
||||
|
||||
if (e.Button != MouseButtons.Left)
|
||||
return;
|
||||
|
||||
StartDrag();
|
||||
}
|
||||
|
||||
protected virtual void StartDrag()
|
||||
{
|
||||
}
|
||||
|
||||
protected override void WndProc(ref Message m)
|
||||
{
|
||||
// eat the WM_MOUSEACTIVATE message
|
||||
if (m.Msg == (int)Win32.Msgs.WM_MOUSEACTIVATE)
|
||||
return;
|
||||
|
||||
base.WndProc(ref m);
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue