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

WinForm實(shí)現(xiàn)攔截窗體上各個(gè)部位的點(diǎn)擊特效實(shí)例

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

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

一般來(lái)說(shuō),windows窗體的標(biāo)題欄無(wú)法直接通過(guò)一些默認(rèn)的事件來(lái)控制,需要了解和WM_NCHITTEST相關(guān)的windows消息。

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

具體功能代碼如下:

using System; 
using System.Windows.Forms; 
namespace WindowsApplication42 
{ 
 public partial class Form1 : Form 
 { 
  public Form1() { InitializeComponent(); this.Text = "雙擊左上角圖標(biāo)關(guān)閉窗體"; } 
  //攔擊標(biāo)題欄鼠標(biāo)位置事件 
  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://客戶(hù)區(qū) 
      m.Result = new IntPtr(2); break; 
     case 2://標(biāo)題欄 
      m.Result = new IntPtr(1); break; 
     case 20: m.Result = new IntPtr(0); break; 
     default: Console.WriteLine(m); break; 
    } 
   } 
  } 
 } 
}

下面是各個(gè)常量的意義:從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;

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

相關(guān)文章

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

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

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

    C#難點(diǎn)逐個(gè)擊破(6):C#數(shù)據(jù)類(lèi)型與.net framework數(shù)據(jù)類(lèi)型

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

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

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

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

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

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

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

    c#使用xamarin編寫(xiě)撥打電話(huà)程序

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

    C#檢測(cè)是否有危險(xiǎn)字符的SQL字符串過(guò)濾方法

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

    C#做線(xiàn)形圖的方法

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

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

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

    C#中使用1.7版本驅(qū)動(dòng)操作MongoDB簡(jiǎn)單例子

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

最新評(píng)論