点击这里给我发消息 点击这里给我发消息
首页 > 行业资讯 > Access>详细内容

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

添加时间:2011-6-25
    相关阅读: 程序 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
  '************代码结束**********

本文作者:未知
咨询热线:020-85648757 85648755 85648616 0755-27912581 客服:020-85648756 0755-27912581 业务传真:020-32579052
广州市网景网络科技有限公司 Copyright◎2003-2008 Veelink.com. All Rights Reserved.
广州商务地址:广东省广州市黄埔大道中203号(海景园区)海景花园C栋501室
= 深圳商务地址:深圳市宝源路华丰宝源大厦606
研发中心:广东广州市天河软件园海景园区 粤ICP备05103322号 工商注册