WEB开发网
开发学院数据库Access 怎样用代码隐藏、最大化、最小化ACCESS的主窗口 阅读

怎样用代码隐藏、最大化、最小化ACCESS的主窗口

 2008-12-26 00:00:00 来源:WEB开发网   
核心提示:(问)怎样用代码隐藏、最大化、最小化ACCESS的主窗口?(答)通过一函数已定义的常量fSetAccessWindow实现,该函数能用来完全隐藏Access窗口并将你自己的窗体显示在桌面上,怎样用代码隐藏、最大化、最小化ACCESS的主窗口,在弹出式窗体的Open事件中使用SW_HIDE参数调用fSetAccessWi

(问) 怎样用代码隐藏、最大化、最小化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
  '************代码结束**********

Tags:怎样 代码 隐藏

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接