窗体显示问题
我做了个程序,在托盘了显示图标,并要在双击托盘图标后显示窗体(窗体开始使用Hide方法隐藏),在该窗体的Window Procedure中接收WM_LBUTTONDBLCLK消息,并用Formq.show, 但窗口并不位于顶层,且在任务兰上闪,不知怎样让窗口置于顶层且不闪?
部分代码:
Public Function NewWindowProc(ByVal hwnd As Long, ByVal Msg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
If Msg = TRAY_CALLBACK Then
If lParam = WM_LBUTTONDBLCLK Then
Dim a As Long
Form1.WindowState = 0
Form1.Show
End If
If lParam = WM_RBUTTONUP Then
' On right click, show the menu.
TheForm.PopupMenu TheMenu
Exit Function
End If
End If
NewWindowProc = CallWindowProc( _
OldWindowProc, hwnd, Msg, _
wParam, lParam)
End Function
问题点数:50、回复次数:3Top
1 楼zyl910(编程的乐趣在于编程控制硬件,与用图形学实现绚丽效果)回复于 2002-07-23 19:34:34 得分 10
加上 窗体名.ZOrder 试试Top
2 楼YHeng(我来也!!!!!!)回复于 2002-07-23 19:55:30 得分 20
Public Function NewWindowProc(ByVal hwnd As Long, ByVal Msg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
select case Msg
case TRAY_CALLBACK
select case lparam
case WM_LBUTTONDBLCLK
Form1.WindowState = 0
Form1.Show
case WM_RBUTTONUP
TheForm.PopupMenu TheMenu
Exit Function
end select
case else
NewWindowProc = CallWindowProc( OldWindowProc, hwnd, Msg,wParam, lParam)
end select
End Function
不知行不行,您自己试试,您也可以在其它的代码中找找有没有错!!!!!!Top
3 楼luckysym(热带风暴)回复于 2002-07-23 20:57:36 得分 0
没用Top
4 楼Chice_wxg(学)(习)回复于 2002-07-23 21:11:40 得分 10
Win98 下难以解决(微软说的)
如果运气好,用 SetForegroundWindow + BringWindowToTop 试试
Top
5 楼fontz(方舟)回复于 2002-07-23 22:17:00 得分 10
解决不了的。第一次运行就是这样,置最顶层也没有用,它的标题栏也是灰的(第一次运行时)。Top




