亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? floatinglform.cs

?? Magic Library 1.7,有說明文檔
?? CS
?? 第 1 頁 / 共 2 頁
字號:
// *****************************************************************************
// 
//  (c) Crownwood Consulting Limited 2002 
//  All rights reserved. The software and associated documentation 
//  supplied hereunder are the proprietary information of Crownwood Consulting 
//	Limited, Haxey, North Lincolnshire, England and are supplied subject to 
//	licence terms.
// 
//  Magic Version 1.7 	www.dotnetmagic.com
// *****************************************************************************

using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using Crownwood.Magic.Win32;
using Crownwood.Magic.Docking;
using Crownwood.Magic.Collections;

namespace Crownwood.Magic.Docking
{
	public class FloatingForm : Form, IHotZoneSource, IMessageFilter
	{
		// Class constants
		private const int HITTEST_CAPTION = 2;

		// Instance variables
        protected Zone _zone;
        protected bool _intercept;
        protected RedockerContent _redocker;
        protected DockingManager _dockingManager;

        // Instance events
        public event ContextHandler Context;
        
        public FloatingForm(DockingManager dockingManager, Zone zone, ContextHandler contextHandler)
        {
            // The caller is responsible for setting our initial screen location
            this.StartPosition = FormStartPosition.Manual;

            // Not in task bar to prevent clutter
            this.ShowInTaskbar = false;
        
            // Make sure the main Form owns us
            this.Owner = dockingManager.Container.FindForm();
            
            // Need to know when the Zone is removed
            this.ControlRemoved += new ControlEventHandler(OnZoneRemoved);
            
            // Add the Zone as the only content of the Form
            Controls.Add(zone);

            // Default state
            _redocker = null;
            _intercept = false;
            _zone = zone;
            _dockingManager = dockingManager;

            // Assign any event handler for context menu
            if (contextHandler != null)
                this.Context += contextHandler;	

            // Default color
            this.BackColor = _dockingManager.BackColor;
            this.ForeColor = _dockingManager.InactiveTextColor;

            // Monitor changes in the Zone content
            _zone.Windows.Inserted += new CollectionChange(OnWindowInserted);
            _zone.Windows.Removing += new CollectionChange(OnWindowRemoving);
            _zone.Windows.Removed += new CollectionChange(OnWindowRemoved);

            if (_zone.Windows.Count == 1)
            {
                // The first Window to be added. Tell it to hide details
                _zone.Windows[0].HideDetails(); 
                
                // Monitor change in window title
                _zone.Windows[0].FullTitleChanged += new EventHandler(OnFullTitleChanged);  

                // Grab any existing title
                this.Text = _zone.Windows[0].FullTitle;
            }
            
            // Need to hook into message pump so that the ESCAPE key can be 
            // intercepted when in redocking mode
            Application.AddMessageFilter(this);
        }

        public DockingManager DockingManager
        {
            get { return _dockingManager; }
        }

        public Zone Zone
        {
            get { return this.Controls[0] as Zone; }
		}

        public void PropogateNameValue(PropogateName name, object value)
        {
            if (this.Zone != null)
                this.Zone.PropogateNameValue(name, value);
        }
        
        public void AddHotZones(Redocker redock, HotZoneCollection collection)
        {
            RedockerContent redocker = redock as RedockerContent;

            // Allow the contained Zone a chance to expose HotZones
            foreach(Control c in this.Controls)
            {
                IHotZoneSource ag = c as IHotZoneSource;

                // Does this control expose an interface for its own HotZones?
                if (ag != null)
                    ag.AddHotZones(redock, collection);
            }
        }
           
        protected void OnWindowInserted(int index, object value)
        {
            if (_zone.Windows.Count == 1)
            {
                // The first Window to be added. Tell it to hide details
                _zone.Windows[0].HideDetails();                
                
                // Monitor change in window title
                _zone.Windows[0].FullTitleChanged += new EventHandler(OnFullTitleChanged);  

                // Grab any existing title
                this.Text = _zone.Windows[0].FullTitle;
            }
            else if (_zone.Windows.Count == 2)
            {
				int pos = 0;
			
				// If the new Window is inserted at beginning then update the second Window
				if (index == 0)
					pos++;

                // The second Window to be added. Tell the first to now show details
                _zone.Windows[pos].ShowDetails();                
                
                // Monitor change in window title
                _zone.Windows[pos].FullTitleChanged -= new EventHandler(OnFullTitleChanged);  

                // Remove any caption title
                this.Text = "";
            }
        }
           
        protected void OnWindowRemoving(int index, object value)
        {
            if (_zone.Windows.Count == 1)
            {   
                // The first Window to be removed. Tell it to show details as we want 
                // to restore the Window state before it might be moved elsewhere
                _zone.Windows[0].ShowDetails();                
                
                // Monitor change in window title
                _zone.Windows[0].FullTitleChanged -= new EventHandler(OnFullTitleChanged);  
                
                // Remove any existing title text
                this.Text = "";
            }
        }

        protected void OnWindowRemoved(int index, object value)
        {
            if (_zone.Windows.Count == 1)
            {   
                // Window removed leaving just one left. Tell it to hide details
                _zone.Windows[0].HideDetails();                

                // Monitor change in window title
                _zone.Windows[0].FullTitleChanged += new EventHandler(OnFullTitleChanged);  
                
                // Grab any existing title text
                this.Text = _zone.Windows[0].FullTitle;
            }
        }
        
        protected void OnFullTitleChanged(object sender, EventArgs e)
        {
            // Unbox sent string
            this.Text = (string)sender;
        }
        
        protected void OnZoneRemoved(object sender, ControlEventArgs e)
        {
			// Is it the Zone being removed for a hidden button used to help
			// remove controls without hitting the 'form refuses to close' bug
			if (e.Control == _zone)
			{
				if (_zone.Windows.Count == 1)
				{   
					// The first Window to be removed. Tell it to show details as we want 
					// to restore the Window state before it might be moved elsewhere
					_zone.Windows[0].ShowDetails();                

					// Remove monitor change in window title
					_zone.Windows[0].FullTitleChanged -= new EventHandler(OnFullTitleChanged);  
				}
        
				// Monitor changes in the Zone content
				_zone.Windows.Inserted -= new CollectionChange(OnWindowInserted);
				_zone.Windows.Removing -= new CollectionChange(OnWindowRemoving);
				_zone.Windows.Removed -= new CollectionChange(OnWindowRemoved);

				// No longer required, commit suicide
				this.Dispose();
			}
        }
        
        protected override CreateParams CreateParams 
        {
            get 
            {
                // Let base class fill in structure first
                CreateParams cp = base.CreateParams;

                // The only way to get a caption bar with only small 
                // close button is by providing this extended style
                cp.ExStyle |= (int)Win32.WindowExStyles.WS_EX_TOOLWINDOW;

                return cp;
            }
        }

        public virtual void OnContext(Point screenPos)
        {
            // Any attached event handlers?
            if (Context != null)
                Context(screenPos);
        }

		public void ExitFloating()
		{
			if (_zone != null)
			{
				ContentCollection cc = ZoneHelper.Contents(_zone);

				// Record restore object for each Content
				foreach(Content c in cc)

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲欧洲性图库| 精品国产乱码久久| 国产精品一二三在| 久久国产福利国产秒拍| 美腿丝袜亚洲三区| 久久av中文字幕片| 国产中文字幕一区| 成人午夜视频在线| 91亚洲国产成人精品一区二区三 | 激情深爱一区二区| 美女视频黄a大片欧美| 久草精品在线观看| 91看片淫黄大片一级在线观看| 国产精品麻豆网站| 国产精品不卡在线| 亚洲综合无码一区二区| 三级在线观看一区二区| 美女网站视频久久| 成人午夜av电影| 欧美色男人天堂| 91精品国产乱码久久蜜臀| 欧美不卡一区二区三区四区| 337p粉嫩大胆色噜噜噜噜亚洲| 精品国产伦理网| 中文字幕在线不卡一区 | 91丝袜国产在线播放| 91污片在线观看| 欧美日韩不卡一区| 国产亚洲精品资源在线26u| 亚洲欧美电影一区二区| 日本欧美加勒比视频| 国产黄人亚洲片| 欧美午夜宅男影院| 亚洲精品一区二区精华| 亚洲综合在线电影| 国产一区二区在线看| 在线一区二区观看| 精品成人a区在线观看| 亚洲欧洲在线观看av| 奇米精品一区二区三区在线观看| 蜜臀久久久久久久| 久久精品视频免费| 8v天堂国产在线一区二区| 91社区在线播放| 国产欧美日韩在线看| 91高清视频在线| 日韩午夜电影av| 一区二区三区不卡在线观看| 欧美性xxxxx极品少妇| 久久99久久99小草精品免视看| 一区二区三区成人在线视频| 精品国产伦一区二区三区观看方式| 欧美日韩二区三区| 日本一区二区免费在线| 中文字幕一区二区三区精华液| 日韩久久一区二区| 国产精品小仙女| 欧美一区二区精美| 91福利在线导航| 国产盗摄视频一区二区三区| 一区二区高清在线| 精品久久99ma| 色94色欧美sute亚洲线路一久 | 国产蜜臀av在线一区二区三区| 色妹子一区二区| www.欧美亚洲| 99视频在线观看一区三区| 国产偷国产偷精品高清尤物 | 久久女同精品一区二区| 一区二区三区国产| 亚洲第一av色| 国产福利一区二区三区在线视频| 欧美性色黄大片| 国产亲近乱来精品视频| 国内精品在线播放| 欧美成人高清电影在线| 日韩精品一级二级| 日韩av电影天堂| 国产呦萝稀缺另类资源| 成人免费毛片嘿嘿连载视频| 久久福利资源站| 成人午夜私人影院| 欧美私模裸体表演在线观看| 国产一区二区在线免费观看| 日韩黄色一级片| 国产尤物一区二区在线| 欧美精品一二三四| 欧美日韩精品欧美日韩精品一综合 | 成人福利视频网站| 国产成人av一区| 7777精品久久久大香线蕉| 夜夜嗨av一区二区三区中文字幕| 美女视频黄免费的久久 | 亚洲美女屁股眼交3| 91伊人久久大香线蕉| 欧美激情一区在线| 亚洲国产日韩a在线播放| 国产一区二区三区| jlzzjlzz欧美大全| 国产欧美日韩另类一区| 久久国产精品一区二区| 久久影院电视剧免费观看| 日本不卡123| 成人激情动漫在线观看| 在线综合视频播放| fc2成人免费人成在线观看播放| 国产福利精品一区| 麻豆精品一二三| 91蜜桃免费观看视频| 日韩一区中文字幕| 欧美亚洲综合一区| 国产精品香蕉一区二区三区| 欧美国产精品v| 日韩欧美中文字幕一区| jlzzjlzz国产精品久久| 国产一区二区主播在线| 国产精品小仙女| 国产白丝精品91爽爽久久 | 99re在线视频这里只有精品| 精品国产伦理网| 三级不卡在线观看| 欧美α欧美αv大片| 成人动漫在线一区| 国产午夜精品福利| 国产综合色视频| 欧美xxxxx牲另类人与| 国产成人亚洲综合a∨婷婷图片| 亚洲一区二区不卡免费| 99re热视频这里只精品| 91免费国产在线| 国产精品国产三级国产普通话蜜臀 | 日韩视频一区二区三区在线播放| 欧美亚洲国产一区二区三区va| 欧美中文字幕不卡| 9191久久久久久久久久久| 日韩欧美国产高清| 国产精品国产三级国产有无不卡| 中文字幕精品一区| 欧美电影免费提供在线观看| 91精品在线一区二区| 国产a区久久久| 樱花影视一区二区| 欧美国产精品中文字幕| 日韩网站在线看片你懂的| 国产麻豆精品在线| 亚洲国产精品久久艾草纯爱 | 国产精品少妇自拍| 777午夜精品视频在线播放| 色香蕉成人二区免费| 成人午夜av影视| 成人免费毛片a| 国产成人激情av| 粉嫩av一区二区三区在线播放| 国产一区在线观看麻豆| 久久99精品国产.久久久久久| 免费成人在线影院| 免费看欧美女人艹b| 青青草国产精品97视觉盛宴| 午夜免费久久看| 午夜免费久久看| 蜜臀a∨国产成人精品| 毛片av一区二区三区| 蓝色福利精品导航| 国产一区二区看久久| 成人性生交大片免费看中文网站 | 亚洲视频一区在线| 亚洲免费av高清| 视频一区国产视频| 美女网站一区二区| 国产精品亚洲专一区二区三区| 国产中文字幕精品| 成人免费视频视频| 在线观看免费亚洲| 日韩欧美一区二区不卡| 国产欧美一区二区三区在线老狼| 国产精品区一区二区三| 一区二区三区.www| 久久99精品一区二区三区三区| 国产乱子伦一区二区三区国色天香| 国产精品一区免费在线观看| 成人动漫中文字幕| 欧美色图天堂网| 久久久午夜精品| 一区二区三区在线视频免费| 丝袜美腿一区二区三区| 国产伦理精品不卡| 欧美三级一区二区| 国产亚洲福利社区一区| 亚洲在线观看免费| 国产精品一区二区你懂的| 91亚洲精品一区二区乱码| 欧美精品tushy高清| 中文字幕国产一区| 日本vs亚洲vs韩国一区三区二区| 蜜乳av一区二区三区| 51精品秘密在线观看| 日本一区二区视频在线| 日韩精品免费视频人成| 成人app下载| 欧美成人午夜电影|