欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

WinForm實現(xiàn)攔截窗體上各個部位的點擊特效實例

 更新時間:2014年09月25日 11:11:33   投稿:shichen2014  
這篇文章主要介紹了WinForm實現(xiàn)攔截窗體上各個部位的點擊特效實例,對窗體上各個部位進行定義,從而實現(xiàn)了點擊特效,需要的朋友可以參考下

本文實例講述了WinForm實現(xiàn)攔截窗體上各個部位的點擊特效,是一個非常實用的技巧。分享給大家供大家參考。具體分析如下:

一般來說,windows窗體的標題欄無法直接通過一些默認的事件來控制,需要了解和WM_NCHITTEST相關(guān)的windows消息。

以下示例演示了最簡單的效果片斷:他會把客戶區(qū)和標題欄的效果互換,比如無法按住標題欄拖動窗體而是改為了按住客戶區(qū)拖動,并禁用了關(guān)閉按鈕。 其中m.Result從-2到21都有定義,分別對應了整個窗體的各個部位,比如1代表客戶區(qū),8代表最小化按鈕等等。

具體功能代碼如下:

using System; 
using System.Windows.Forms; 
namespace WindowsApplication42 
{ 
 public partial class Form1 : Form 
 { 
  public Form1() { InitializeComponent(); this.Text = "雙擊左上角圖標關(guān)閉窗體"; } 
  //攔擊標題欄鼠標位置事件 
  const int WM_NCHITTEST = 0x84; 
  protected override void WndProc(ref Message m) 
  { 
   base.WndProc(ref m); if (m.Msg == WM_NCHITTEST) 
   { 
    switch (m.Result.ToInt32()) 
    { 
     case 1://客戶區(qū) 
      m.Result = new IntPtr(2); break; 
     case 2://標題欄 
      m.Result = new IntPtr(1); break; 
     case 20: m.Result = new IntPtr(0); break; 
     default: Console.WriteLine(m); break; 
    } 
   } 
  } 
 } 
}

下面是各個常量的意義:從Delphi7 VCL中摘?。?/p>

{ WM_NCHITTEST and MOUSEHOOKSTRUCT Mouse Position Codes } 
 {$EXTERNALSYM HTERROR} 
 HTERROR = -2; 
 {$EXTERNALSYM HTTRANSPARENT} 
 HTTRANSPARENT = -1; 
 {$EXTERNALSYM HTNOWHERE} 
 HTNOWHERE = 0; 
 {$EXTERNALSYM HTCLIENT} 
 HTCLIENT = 1; 
 {$EXTERNALSYM HTCAPTION} 
 HTCAPTION = 2; 
 {$EXTERNALSYM HTSYSMENU} 
 HTSYSMENU = 3; 
 {$EXTERNALSYM HTGROWBOX} 
 HTGROWBOX = 4; 
 {$EXTERNALSYM HTSIZE} 
 HTSIZE = HTGROWBOX; 
 {$EXTERNALSYM HTMENU} 
 HTMENU = 5; 
 {$EXTERNALSYM HTHSCROLL} 
 HTHSCROLL = 6; 
 {$EXTERNALSYM HTVSCROLL} 
 HTVSCROLL = 7; 
 {$EXTERNALSYM HTMINBUTTON} 
 HTMINBUTTON = 8; 
 {$EXTERNALSYM HTMAXBUTTON} 
 HTMAXBUTTON = 9; 
 {$EXTERNALSYM HTLEFT} 
 HTLEFT = 10; 
 {$EXTERNALSYM HTRIGHT} 
 HTRIGHT = 11; 
 {$EXTERNALSYM HTTOP} 
 HTTOP = 12; 
 {$EXTERNALSYM HTTOPLEFT} 
 HTTOPLEFT = 13; 
 {$EXTERNALSYM HTTOPRIGHT} 
 HTTOPRIGHT = 14; 
 {$EXTERNALSYM HTBOTTOM} 
 HTBOTTOM = 15; 
 {$EXTERNALSYM HTBOTTOMLEFT} 
 HTBOTTOMLEFT = 16; 
 {$EXTERNALSYM HTBOTTOMRIGHT} 
 HTBOTTOMRIGHT = 17; 
 {$EXTERNALSYM HTBORDER} 
 HTBORDER = 18; 
 {$EXTERNALSYM HTREDUCE} 
 HTREDUCE = HTMINBUTTON; 
 {$EXTERNALSYM HTZOOM} 
 HTZOOM = HTMAXBUTTON; 
 {$EXTERNALSYM HTSIZEFIRST} 
 HTSIZEFIRST = HTLEFT; 
 {$EXTERNALSYM HTSIZELAST} 
 HTSIZELAST = HTBOTTOMRIGHT; 
 {$EXTERNALSYM HTOBJECT} 
 HTOBJECT = 19; 
 {$EXTERNALSYM HTCLOSE} 
 HTCLOSE = 20; 
 {$EXTERNALSYM HTHELP} 
 HTHELP = 21;

希望本文所述對大家的C#程序設(shè)計有所幫助。

相關(guān)文章

  • C#的Process類調(diào)用第三方插件實現(xiàn)PDF文件轉(zhuǎn)SWF文件

    C#的Process類調(diào)用第三方插件實現(xiàn)PDF文件轉(zhuǎn)SWF文件

    本篇文章主要介紹了C#的Process類調(diào)用第三方插件實現(xiàn)PDF文件轉(zhuǎn)SWF文件,現(xiàn)在分享給大家,具有一定的參考價值,有需要的可以了解一下。
    2016-11-11
  • C#難點逐個擊破(6):C#數(shù)據(jù)類型與.net framework數(shù)據(jù)類型

    C#難點逐個擊破(6):C#數(shù)據(jù)類型與.net framework數(shù)據(jù)類型

    最近開始看Illustrator C#2008,這真是一本好書,我讀計算機書籍這么多了,能讓我稱為好書的沒有多少。
    2010-02-02
  • C#多線程開發(fā)實戰(zhàn)記錄之線程基礎(chǔ)

    C#多線程開發(fā)實戰(zhàn)記錄之線程基礎(chǔ)

    線程是一個獨立的運行單元,每個進程內(nèi)部有多個線程,每個線程可以各自同時執(zhí)行指令,每個線程有自己獨立的棧,但是與進程內(nèi)的其他線程共享內(nèi)存,這篇文章主要給大家介紹了關(guān)于C#多線程開發(fā)實戰(zhàn)記錄之線程基礎(chǔ)的相關(guān)資料,需要的朋友可以參考下
    2021-09-09
  • C#多態(tài)的三種實現(xiàn)方式(小結(jié))

    C#多態(tài)的三種實現(xiàn)方式(小結(jié))

    這篇文章主要介紹了C#多態(tài)的三種實現(xiàn)方式(小結(jié)),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-03-03
  • C#使用opencv截取旋轉(zhuǎn)矩形區(qū)域圖像的實現(xiàn)示例

    C#使用opencv截取旋轉(zhuǎn)矩形區(qū)域圖像的實現(xiàn)示例

    這篇文章主要介紹了C#使用opencv截取旋轉(zhuǎn)矩形區(qū)域圖像,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-03-03
  • c#使用xamarin編寫撥打電話程序

    c#使用xamarin編寫撥打電話程序

    Xamarin是一個行動App開發(fā)平臺,提供跨平臺開發(fā)能力,開發(fā)人員透過Xamarin開發(fā)工具與程序語言,即可開發(fā)出iOS、Android 與Windows 等平臺的原生(Native) App 應用程序,不須個別使用各平臺的開發(fā)工具與程序語言,
    2015-05-05
  • C#檢測是否有危險字符的SQL字符串過濾方法

    C#檢測是否有危險字符的SQL字符串過濾方法

    這篇文章主要介紹了C#檢測是否有危險字符的SQL字符串過濾方法,功能非常實用,對于程序設(shè)計的安全來說至關(guān)重要!需要的朋友可以參考下
    2014-07-07
  • C#做線形圖的方法

    C#做線形圖的方法

    在本篇內(nèi)容中小編給大家總結(jié)了C#怎么做線形圖的教程內(nèi)容,對此有需要的朋友們可以跟著學習下。
    2018-12-12
  • C#畫圖之餅圖折線圖的實現(xiàn)方法

    C#畫圖之餅圖折線圖的實現(xiàn)方法

    這篇文章主要介紹了C#畫圖之餅圖折線圖的實現(xiàn)方法,以實例形式講述了C#畫圖的完整實現(xiàn)過程,是非常實用的技巧,有不錯的借鑒價值,需要的朋友可以參考下
    2014-09-09
  • C#中使用1.7版本驅(qū)動操作MongoDB簡單例子

    C#中使用1.7版本驅(qū)動操作MongoDB簡單例子

    這篇文章主要介紹了C#中使用1.7版本驅(qū)動操作MongoDB簡單例子,本文給出了連接MongoDB、操作MongoDB數(shù)據(jù)等例子,需要的朋友可以參考下
    2015-01-01

最新評論