Visual Basic - Formulario siempre presente?

Life is soft - evento anual de software empresarial
 
Vista:

Formulario siempre presente?

Publicado por Roberto (13 intervenciones) el 30/05/2004 16:49:19
Necesito q uno de los formularios q tengo abiertos siempre este visible por encima del resto,me podeis ayudar por favor???????
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Formulario siempre presente?

Publicado por jcebrian (14 intervenciones) el 30/05/2004 18:11:11
con form1.setfocus
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Formulario siempre presente?

Publicado por Roberto (13 intervenciones) el 30/05/2004 18:32:47
Con el setfocus se le pone el foco pero cuando lo pierde no lo recupera.Yo necesito q un formulario este siempre por encima de otro a pesar de q pierda el foco....

Gracias igualmente
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Formulario siempre presente?

Publicado por Templer (18 intervenciones) el 31/05/2004 04:01:43
no e probado la funcion esa, pero por lo que e leido creo que debberias probar poniendo un timer en el formulario que deseas CON INTERVALO DE UN SEGUNDO y con el codigo form1.setfocus asi nunca perdera el foco
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Formulario siempre presente?

Publicado por Roberto (13 intervenciones) el 01/06/2004 01:05:09
Gracias a los dos,aunque no me sirvieron vuestras ayudas,lo q importa es la intencion.
Yo encontre la solucion con este codigo.

Const HWND_TOPMOST = -1
Const HWND_NOTOPMOST = -2
Const SWP_NOSIZE = &H1
Const SWP_NOMOVE = &H2
Const SWP_NOACTIVATE = &H10
Const SWP_SHOWWINDOW = &H40
Private Declare Sub 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)

Private Sub Form_Activate()
'con estos parametros el form permanece siempre visible y no se modifica el tamaño, o la posicion
SetWindowPos Me.hWnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOACTIVATE Or SWP_SHOWWINDOW Or SWP_NOMOVE Or SWP_NOSIZE
End Sub
'Si el formulario se sigue ocultando detras de alguna ventana, simplemente copia este codiga dentro del evento Paint() del form

Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Formulario siempre presente?

Publicado por jcebrian (14 intervenciones) el 01/06/2004 04:47:35
en el modulo :
Public Const HWND_TOPMOST = -1

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

en el formulariomk kieres k sea siempre presente :

Private Sub Form_Load()
Me.ScaleMode = vbPixels
SetWindowPos Me.hwnd, HWND_TOPMOST, Me.ScaleLeft, _
Me.ScaleTop, Me.ScaleWidth, Me.ScaleHeight, 0
End Sub

verás k sale perfecto, tu mensaje me a despertado una obsesion por deskubrirlo y aí está. utiliza api de windows. dll de user32. xao
jcebrian
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar