Foro de elhacker.net

Programación => Programación Visual Basic => Mensaje iniciado por: CAR3S? en 12 Abril 2011, 01:43 am



Título: mensaje en pantalla
Publicado por: CAR3S? en 12 Abril 2011, 01:43 am
bueno estoy haciendo un programa que hace aparecer un mensaje en pantalla (En un cuadrito blanco, pero no un msgbox).

osea, aparece una cajita de texto chiquita que dura como... 1/4 segundo.

podria hacer un form principal con un timer que cada 2 segundos ejecute un formulario sin bordes y con un label con el texto, que a la vez tenga otro time que en 1/4segundo cierre ese FormMensaje1

me explico? el problema ahora esta en que

cuando se abre el  formmensaje1 (Tiene que estar maximizado, osea, adelante de todo), se me 'sale' si estoy escribiendo... (Por ejemplo)

Osea estoy en el msn y se abre el FormMensaje1 y se me sale lo q estoy escribiendo. lo que necesito es q se maximize el FormMensaje1 pero que no me saque de lo que estoy escribiendo... :c



Título: Re: mensaje en pantalla
Publicado por: raul338 en 12 Abril 2011, 03:31 am
Busca sobre SetWindowPos con la constante SWP_NOACTIVATE y utilizalo en lugar del Form2.Show ;-)


Título: Re: mensaje en pantalla
Publicado por: CAR3S? en 12 Abril 2011, 08:00 am
ok, gracis raul!

mañana cuand uelvo de la escuela omento como va la cosa :p


alu2!

n es que escribo mal, es que el programa no me deja escribir bie ajajajajaj


Título: Re: mensaje en pantalla
Publicado por: 79137913 en 12 Abril 2011, 15:07 pm
HOLA!!!

Lo que dice raul lo tengo en el proyecto del bloqueo de pantalla para el TOP-MOST:

Te dejo un link http://foro.elhacker.net/programacion_visual_basic/source_bloqueo_de_pantalla-t322438.0.html

GRACIAS POR LEER!!!


Título: Re: mensaje en pantalla
Publicado por: CAR3S? en 12 Abril 2011, 18:33 pm
7913 Me baje tu programa y... carajo no termine de leer y no sabia la password JAJAJAJAJAJAJAJA xd.

Sobre SWP_NOACTIVATE

encontre todo en ingles, tambien un codigo que hace lo que quiero.

modulo:

Código
  1. Option Explicit
  2. 'Api
  3. Public Declare Sub SetWindowPos _
  4. Lib "user32" _
  5. (ByVal hwnd As Long, _
  6. ByVal hWndInsertAfter As Long, _
  7. ByVal X As Long, _
  8. ByVal Y As Long, _
  9. ByVal cx As Long, _
  10. ByVal cy As Long, _
  11. ByVal wFlags As Long)
  12.  
  13. 'constantes
  14. Public Const HWND_TOPMOST = -1
  15. Public Const HWND_NOTOPMOST = -2
  16. Public Const SWP_NOACTIVATE = &H10
  17. Public Const SWP_SHOWWINDOW = &H40
  18.  
  19.  

Form_Load

Código
  1. SetWindowPos Me.hwnd, _
  2. HWND_TOPMOST, _
  3. Me.Left / Screen.TwipsPerPixelX, _
  4. Me.Top / Screen.TwipsPerPixelY, _
  5. Me.Width / Screen.TwipsPerPixelX, _
  6. Me.Height / Screen.TwipsPerPixelY, _
  7. SWP_NOACTIVATE Or SWP_SHOWWINDOW

pero como abro el form2 sin que me joda mientras escribo? osea, el form 1 queda siempre abierto, cada tanto llama al 2, pero no quiero que me joda :c

SOLUCIONADO

como?

Un bucle entre el formmensaje visible false y true :D + traer al frente