程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Access數據庫 >> 關於Access數據庫 >> 怎樣用代碼隱藏、最大化、最小化ACCESS的主窗口

怎樣用代碼隱藏、最大化、最小化ACCESS的主窗口

編輯:關於Access數據庫
(問) 怎樣用代碼隱藏、最大化、最小化Access的主窗口? 

  (答) 通過一函數已定義的常量fSetAccessWindow實現。

  該函數能用來完全隱藏Access窗口並將你自己的窗體顯示在桌面上。在彈出式窗體的Open事件中使用SW_HIDE參數調用fSetAccessWindow函數實現。

  注意:如果你隱藏了Access主窗口,要確定你有良好的出錯處理。因為主窗口隱藏後,一旦引發錯誤,並出錯提示窗口上點擊了“結束”按鈕,這樣不會使Access主窗口可見,並退出你自己的窗體。推薦你在你的錯誤處理程序中使用SW_SHOWNORMAL參數調用fSetAccessWindow函數來顯示Access主窗口。

  如果由於別的原因,Access主窗口不能顯示,那麼你將只能從任務欄中關閉你的mdb,在Win9x中使用Control-Alt-Delete來結束任務,在WinNT、2000或XP中,可以右鍵單擊任務欄選擇任務管理器來選擇該mdb結束任務。

'************代碼開始**********
GlobalConstSW_HIDE=0
GlobalConstSW_SHOWNORMAL=1
GlobalConstSW_SHOWMINIMIZED=2
GlobalConstSW_SHOWMAXIMIZED=3 PrivateDeclareFunctionapiShowWindowLib"user32"_
  Alias"ShowWindow"(ByValhwndAsLong,_
     ByValnCmdShowAsLong)AsLong
  FunctionfSetAccessWindow(nCmdShowAsLong)
'使用舉例
'最大化Access窗口
'   ?fSetAccessWindow(SW_SHOWMAXIMIZED)
'最小化Access窗口
'   ?fSetAccessWindow(SW_SHOWMINIMIZED)
'隱藏Access窗口
'   ?fSetAccessWindow(SW_HIDE)
'正常顯示Access窗口
'   ?fSetAccessWindow(SW_SHOWNORMAL)
'
DimloX AsLong
DimloFORMAsFORM
  OnErrorResumeNext
  SetloFORM=Screen.ActiveFORM
  IfErr<>0Then'沒有活動窗體noActiveFORM
   IfnCmdShow=SW_HIDEThen
    MsgBox"除非屏幕上有一個窗口,否則不能隱藏Access主窗口!"_
          &vbcr&vbcr _
          &"CannothideAccessunless"_
          &"aFORMisonscreen"
   Else
    loX=apiShowWindow(hWndAccessApp,nCmdShow)
    Err.Clear
   EndIf
  Else
    IfnCmdShow=SW_SHOWMINIMIZEDAndloFORM.Modal=TrueThen
      MsgBox"不能由屏幕上的"&(loFORM.Caption+"") &"窗體最小化Access主窗口!"_
          &vbcr&vbcr _
          &"CannotminimizeAccesswith"_
          &(loFORM.Caption+"")_
          &"FORMonscreen"
    ElseIfnCmdShow=SW_HIDEAndloFORM.PopUp<>TrueThen
      MsgBox"不能由屏幕上的"&(loFORM.Caption+"") &"窗體隱藏Access主窗口!"_
          &vbcr&vbcr _
          &"CannothideAccesswith"_
          &(loFORM.Caption+"")_
          &"FORMonscreen"
    Else
      loX=apiShowWindow(hWndAccessApp,nCmdShow)
    EndIf
  EndIf
  fSetAccessWindow=(loX<>0)
EndFunction
  '************代碼結束**********

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