操作方法
注: 本文仅适用于 ArcGIS 8.x 版本。 更高版本的 ArcGIS 可能包含不同的功能,对于菜单、命令和地理处理工具,可能具有不同的名称和位置。
注: ArcGIS 10.5 及更高版本不包含 Microsoft VBA 兼容性设置。
创建 ActiveX DLL 的用户有时需要加载 Visual Basic 表单作为应用程序的一部分。 首次显示时,该表单将显示在主应用程序的前面。 然后,当用户与 ArcMap 或 ArcCatalog 的 GUI 进行交互时,会默认将 Visual Basic 表单重新放置在 ArcMap 或 ArcCatalog 的后面。
请执行以下步骤以确保 Visual Basic 表单始终停留在主应用程序的顶部。
通过直接调用 SetWindowPos 进行更多自定义。 有关 SetWindowPos 的详细信息,请访问 Microsoft MSDN。
代码: Option Explicit ' WINDOW POSITIONING Declare Function SetWindowPos Lib "user32" ( _ ByVal hWnd As Long, ByVal hWndInsertAfter As Long, _ ByVal X As Long, ByVal Y As Long, ByVal cx As Long, _ ByVal cy As Long, ByVal wFlags As Long) As Long ' SetWindowPos Flags Public Const SWP_NOSIZE = &H1 Public Const SWP_NOMOVE = &H2 Public Const SWP_NOZORDER = &H4 Public Const SWP_NOREDRAW = &H8 Public Const SWP_NOACTIVATE = &H10 Public Const SWP_FRAMECHANGED = &H20 Public Const SWP_SHOWWINDOW = &H40 Public Const SWP_HIDEWINDOW = &H80 Public Const SWP_NOCOPYBITS = &H100 Public Const SWP_NOOWNERZORDER = &H200 Public Const SWP_DRAWFRAME = SWP_FRAMECHANGED Public Const SWP_NOREPOSITION = SWP_NOOWNERZORDER Public Const FLAGS As Long = SWP_NOMOVE Or SWP_NOSIZE Public Const HWND_TOP = 0 Public Const HWND_BOTTOM = 1 Public Const HWND_TOPMOST = -1 Public Const HWND_NOTOPMOST = -2 Public Sub SetWin_NOTOPMOST(hWnd As Long) SetWindowPos hWnd, HWND_NOTOPMOST, 0, 0, 0, 0, FLAGS End Sub Public Sub SetWin_TOPMOST(hWnd As Long) SetWindowPos hWnd, HWND_TOPMOST, 0, 0, 0, 0, FLAGS End Sub (
SetWin_TOPMOST Me.hWnd
从 ArcGIS 专家处获得帮助
下载 Esri 支持应用程序