自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

更換VB.NET窗體標(biāo)題欄的方法

開(kāi)發(fā) 后端
這里介紹無(wú)標(biāo)題欄的窗體的拖動(dòng)問(wèn)題,在特殊窗體的應(yīng)用中,我們有時(shí)需要把VB.NET窗體標(biāo)題欄屏蔽掉,以窗體換上自己的外殼。

#t#VB.NET經(jīng)過(guò)長(zhǎng)時(shí)間的發(fā)展,很多用戶都很了解VB.NET窗體標(biāo)題欄了,這里我發(fā)表一下個(gè)人理解,和大家討論討論。VB.NET做為VB6的升級(jí)版本,具備了許多新的功能,它可以簡(jiǎn)便快捷地創(chuàng)建 .NET 應(yīng)用程序(包括 XML Web services 和 ASP.NET Web 應(yīng)用程序),還是一個(gè)功能強(qiáng)大的面向?qū)ο蟮木幊陶Z(yǔ)言(如繼承、接口和重載)。新的語(yǔ)言功能包括自由線程處理和結(jié)構(gòu)化異常處理。VB.NET 還完全集成了.NET 框架和公共語(yǔ)言運(yùn)行庫(kù),.NET 框架和公共語(yǔ)言運(yùn)行庫(kù)共同提供語(yǔ)言互操作性、垃圾回收、增強(qiáng)的安全性和改進(jìn)的版本支持??梢哉f(shuō)是一個(gè)劃時(shí)代的產(chǎn)品!

無(wú)標(biāo)題欄的窗體的拖動(dòng)問(wèn)題,在特殊窗體的應(yīng)用中,我們有時(shí)需要把VB.NET窗體標(biāo)題欄屏蔽掉,以窗體換上自己的外殼。是,當(dāng)去掉了VB.NET窗體標(biāo)題欄后,移動(dòng)窗體就成了一個(gè)問(wèn)題。我們還是來(lái)看一下在VB6中的實(shí)現(xiàn),VB6中實(shí)現(xiàn)(借助API函數(shù)SendMessage)在設(shè)計(jì)時(shí)將窗體的BorderStyle屬性設(shè)置為0-none

  1. PrivateDeclareFunction SendMessage Lib "User32" Alias "SendMessageA" 
    (ByVal hWnd AsLong, ByVal wMsg AsLong, ByVal wParam AsLong, ByVal lParam As Any) AsLong  
  2. PrivateDeclareSub ReleaseCapture Lib "User32" ()  
  3. Const WM_NCLBUTTONDOWN = &HA1  
  4. Const HTCAPTION = 2 
  5. Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)  
  6. Dim lngReturnValue AsLong  
  7. If Button = 1 Then  
  8. 'Release capture  
  9. Call ReleaseCapture()  
  10. 'Send a 'left mouse button down on caption'-message to our form  
  11. lngReturnValue = SendMessage(Me.hWnd, WM_NCLBUTTONDOWN, HTCAPTION, 0&)  
  12. EndIf  
  13. EndSub  
  14. PrivateSub Form_Paint()  
  15. Me.Print("Click on the form, hold the mouse button and drag it")  
  16. EndSub 

在VB.NET窗體標(biāo)題欄中,這次需要借助API SendMessage了,在設(shè)計(jì)時(shí)將Form.FormBorderStyle 屬性設(shè)置為None,然后添加以下代碼:

  1. DeclareFunction SendMessage Lib "user32" Alias "SendMessageA" 
    (ByVal hwnd AsInteger, ByVal wMsg AsInteger, ByVal wParam AsInteger, 
    ByVal lParam AsInteger) AsInteger  
  2.    
  3. PrivateDeclareSub ReleaseCapture Lib "User32" ()  
  4. Const WM_NCLBUTTONDOWN = &HA1  
  5. Const HTCAPTION = 2 
  6.    
  7. PrivateSub Form1_MouseDown(ByVal sender AsObject, 
    ByVal e As System.Windows.Forms.MouseEventArgs) HandlesMyBase.MouseDown  
  8. ReleaseCapture()  
  9. SendMessage(Me.Handle.ToInt64, WM_NCLBUTTONDOWN, HTCAPTION, 0)  
  10. EndSub 
責(zé)任編輯:佚名 來(lái)源: 博客園
相關(guān)推薦

2010-01-07 16:51:56

VB.NET窗體鉤子

2009-10-14 13:56:05

VB.NET數(shù)據(jù)窗體

2009-10-16 09:35:24

VB.NET制作透明窗

2010-01-13 09:31:39

VB.NET窗體打印

2009-10-14 15:20:21

VB.NET窗體指針

2009-10-14 15:34:29

VB.NET窗體編程模

2010-01-11 15:12:30

VB.NET特殊窗體

2009-10-09 16:54:03

VB.NET窗體

2009-10-14 14:50:16

VB6.0VB.NET

2009-10-26 17:53:50

VB.NET新窗體

2010-01-14 19:09:02

VB.NET動(dòng)態(tài)標(biāo)題

2010-01-13 15:52:59

VB.NET浮動(dòng)窗體

2009-11-10 15:07:11

VB.NET窗體

2009-04-30 13:24:45

VB.NET 2008窗體應(yīng)用實(shí)例

2009-11-03 17:35:05

VB.NET窗體透明度

2009-11-03 17:31:01

VB.NET窗體

2010-01-08 14:07:47

VB.NET窗體傳值

2009-11-03 09:26:13

VB.NET方法

2009-10-12 17:32:36

VB.NET窗體應(yīng)用技

2010-01-11 10:44:47

VB.NET多窗體
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)