VB中将某个窗口置顶,可以使用下面API:
Public Declare Function EnableWindow Lib "user32" (ByVal hwnd As Long, ByVal fEnable As Long) As Long
Public 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
Public Const HWND_TOPMOST& = -1
' 将窗口置于列表顶部,并位于任何最顶部窗口的前面
Public Const SWP_NOSIZE& = &H1
' 保持窗口大小
Public Const SWP_NOMOVE& = &H2
将窗口置顶时可以用下面语句:
SetWindowPos Me.hwnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE Or SWP_NOSIZE ' 保持窗口最前
但应用上面方法将窗口置顶后,窗口中的FlexCell表格将无法正常使用下拉框功能,将表格的某一列设置成下拉框选项的方法也根本不会错。
下面是将表格的第3列设置成下拉框选项的源码:
temp1=Grid1.Rows-1
Grid1.Column(3).CellType = cellComboBox '打开下拉框功能
With Grid1.ComboBox(3)
.Locked = True '锁定此列只能输入的字符
.Clear
For temp2 = 1 To temp1
.AddItem "第" & temp2 & "行"
Next temp2
End With
简直真奇怪!
|