Título: Minimizar?
Publicado por: ranslsad en 26 Junio 2007, 18:18 pm
Hola amigos, hoy tengo una preguttita sencillita, yo tengo un codigo para minimizar mi aplicacion a la barra de tareas (un icono abajo a la derecha), pero la question una vez que lo minimizo no se como maximizarlo. Bueno lo que yo realmente quiero es que si me pueden facilitar algun codigo para minimizas y tambien que al clickear sobre el icono (barra tareas) salga un menu..
Bueno si es posible, desde ya Gracias!!
Salu2
Ranslsad
Título: Re: Minimizar?
Publicado por: Zeroql en 26 Junio 2007, 18:59 pm
Mira yo uso este code: en un modulo: Public Declare Function Shell_NotifyIcon Lib "shell32" Alias "Shell_NotifyIconA" _ (ByVal dwMessage As Long, pnid As NOTIFYICONDATA) As Boolean 'declaracion para el shell icon
Public Declare Function SetForegroundWindow Lib "user32" _ (ByVal hWnd As Long) As Long
Public Resultado As String Public Type NOTIFYICONDATA cbSize As Long hWnd As Long uID As Long uFlags As Long uCallbackMessage As Long hIcon As Long szTip As String * 128 dwState As Long dwStateMask As Long szInfo As String * 256 uTimeout As Long szInfoTitle As String * 64 dwInfoFlags As Long End Type Public nf_IconData As NOTIFYICONDATA
'declaracion de constantes y de la api para crar un sysicon Public Const NOTIFYICON_VERSION = 3 Public Const NOTIFYICON_OLDVERSION = 0 Public Const NIM_ADD = &H0 Public Const NIM_MODIFY = &H1 Public Const NIM_DELETE = &H2 Public Const NIM_SETFOCUS = &H3 Public Const NIM_SETVERSION = &H4 Public Const NIF_MESSAGE = &H1 Public Const NIF_ICON = &H2 Public Const NIF_TIP = &H4 Public Const NIF_STATE = &H8 Public Const NIF_INFO = &H10 Public Const NIS_HIDDEN = &H1 Public Const NIS_SHAREDICON = &H2 Public Const NIIF_NONE = &H0 Public Const NIIF_WARNING = &H2 Public Const NIIF_ERROR = &H3 Public Const NIIF_INFO = &H1 Public Const NIIF_GUID = &H4 Public Const WM_MOUSEMOVE = &H200 Public Const WM_LBUTTONDOWN = &H201 Public Const WM_LBUTTONUP = &H202 Public Const WM_LBUTTONDBLCLK = &H203 Public Const WM_RBUTTONDOWN = &H204 Public Const WM_RBUTTONUP = &H205 Public Const WM_RBUTTONDBLCLK = &H206
en un form:(Form_Load) With nf_IconData .cbSize = Len(nf_IconData) .hWnd = Me.hWnd .uID = vbNull .uFlags = NIF_ICON Or NIF_TIP Or NIF_MESSAGE .uCallbackMessage = WM_MOUSEMOVE .hIcon = Me.Icon .szTip = "Mi programa" & vbNullChar 'aquí se puede colocar lo que quiera que se vea al poner el cursor sobre el ícono End With Shell_NotifyIcon NIM_ADD, nf_IconData
y por ultimo el Form_MouseMove: Select Case Msg Case WM_LBUTTONUP 'restaura la ventana de formulario Me.WindowState = vbNormal Result = SetForegroundWindow(Me.hWnd) Me.Show Case WM_LBUTTONDBLCLK 'restaura la ventana de formulario Me.WindowState = vbNormal Result = SetForegroundWindow(Me.hWnd) Me.Show Case WM_RBUTTONUP 'desplega menú emergente Result = SetForegroundWindow(Me.hWnd) Me.PopupMenu Me.mnuMain 'mostrar el menu en el systray End Select en este punot teexplicacre como funciona. cuando das doble click, o un solo click el restaura el form. si kieres un menu cuando des click derecho debes colocarlo en la funcion WM_RBUTTONUP y listo. bueno espero que te haya sido de ayuda este code.
Título: Re: Minimizar?
Publicado por: ranslsad en 26 Junio 2007, 20:08 pm
Hola amigo, lo e probado y me sale el siguiente error: Compile Error: Variable Not Defined y probe varias cosas pero ni idea oye.. me sale en esta parte el error: Select Case msg Case WM_LBUTTONUP 'restaura la ventana de formulario Me.WindowState = vbNormal result = SetForegroundWindow(Me.hWnd) Me.Show Case WM_LBUTTONDBLCLK 'restaura la ventana de formulario Me.WindowState = vbNormal result = SetForegroundWindow(Me.hWnd) Me.Show Case WM_RBUTTONUP 'desplega menú emergente result = SetForegroundWindow(Me.hWnd) Me.PopupMenu Me.mnuMain 'mostrar el menu en el systray End Select Bueno espero que me pudas ayudar... Salu2 Ranslsad
Título: Re: Minimizar?
Publicado por: Sancho.Mazorka en 28 Junio 2007, 00:08 am
Cuando quieras que se maximize, pone esto: Me.Show Me.SetFocus Me.WindowState = 0 Este code solo funciona, si queres abrir el form el cual tiene este code, ya que ME es para referirse al Form que lo contiene. Sancho.Mazorka :¬¬
|