程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> Visual Basic語言 >> VB綜合教程 >> VB調用API函數使窗口保持在最上層

VB調用API函數使窗口保持在最上層

編輯:VB綜合教程
----我們看到有的應用程序不管窗口是否活動都使窗口保持在最上層,常見的MicrosoftWord的文件打開和編輯查找窗口就是這樣。在VB開發中可以通過調用SetWindowsPos()API函數實現這個功能。該函數聲明如下:
  
  PrivateDeclareFunctionSetWindowPos
  Lib"user32"(ByValhwndAsLong,_
  ByValhWndInsertAfterAsLong,ByVal
  xAsLong,ByValyAsLong,_
  ByValcxAsLong,ByValcyAsLong,
  ByValwFlagsAsLong)AsLong
  
  ----hWnd變元是窗口的句柄;x,y是窗口的左上角的坐標;cx、cy是窗口寬度和高度;hWndInsertAfter變元是窗口清單中hWnd窗口前面的窗口句柄,有四個可選值:
  
  序號可選值作用
  1HWND_BOTTOM把窗口放在窗口清單的底部
  2HWND_TOP把窗口放在窗口清單的字符順序的頂部
  3HWND_TOPMOST把窗口放在窗口清單的頂部
  4HWND_NOTOPMOST把窗口放在窗口清單的頂部,最上層窗口之下
  
  ----WFlags變元為整型值,有八個可選值:
  
  序號可選值作用
  1SWP_DRAWFRAME在窗口周圍畫一個方框
  2SWP_HIDEWINDOW隱藏窗口
  3SWP_NOACTIVATE不激活窗口
  4SWP_NOMOVE保持窗口當前位置
  5SWP_NOREDRAW窗口不自動重畫
  6SWP_NOSIZE保持窗口當前尺寸
  7SWP_NOZORDER保持窗口在窗口清單中的當前位置
  8SWP_SHOWWINDOW顯示窗口
  
  ----下面的例子程序Test演示了對函數中的以上7個變元作正確的選擇後,應用程序運行後窗口總可保持在最上層,程序清單如下:
  
  OptionExplicit
  PrivateDeclareFunctionSetWindowPos
  Lib"user32"(ByValhwndAsLong,_
  ByValhWndInsertAfterAsLong,
  ByValxAsLong,ByValyAsLong,_
  ByValcxAsLong,ByValcyAsLong,
  ByValwFlagsAsLong)AsLong
  PrivateConstHWND_TOPMOST=-1
  PrivateConstSWP_SHOWWINDOWS=&H40
  
  PrivateSubForm_Load()
  DimretValueAsLong
  retValue=SetWindowPos(Me.hwnd,
  HWND_TOPMOST,Me.CurrentX,_
  Me.CurrentY,300,300,SWP_SHOWWINDOWS)
  EndSub
  
  ----備注:編寫函數聲明時,整個函數聲明須在一行中寫完,不可提行。一般是自動從系統中得到函數聲明,方法是從VB的外接程序管理中啟動“API浏覽”程序,在“API浏覽”程序中找到所需的函數聲明,然後復制到VB代碼中。->

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved