FORMULARIO SEM FOCUS ESTILO ALERTA DO MSN

ROBSON220BASS 13/09/2010 10:54:37
#352847
ola pessoal novamente estou aqui necessitando ajuda d vcs.

minha duvida é o seguinte:

tenho um formulario que exibe um alerta estilo (alerta do msn), funciona perfeitamente, mas quando o form e exibido na tela ele chama o focus para ele, resumindo. como fazer para que ele nao receba o focus ao exibir .


desde ja agradeço a todos!


Robson N. Castro
Goiania-Go

robson_kg@hotmail.com
THIGO 13/09/2010 11:37:23
#352859
Você gostaria de colocar o foco em outra tela ou não.

flw
ROBSON220BASS 13/09/2010 11:58:32
#352865
nao, meu objetivo é o seguinte:

quando o usuario clicar no x do formulario o mesmo se esconde deixando somente o icone na barra de tarefa ao lado do relogio

quando o usuario receber um recado , o formulario de alerta aparece no quando da tela (igual ao msn, quando receber emal, etc..).
avisando sobre o recado recebido...

o formulario ja esta pronto funcionando quanse perfeitamente. so falta tirar o foco do formulario ao receber o recado...

exemplo: quando estou digitando algo na planilha do excel e recebo um recado , entao o excel perde o foco sendo necessario clickar no planilha para continuar o trabalho...

parece simples mais nao estou achando a solucao..

obrigado!

ROBSON220BASS 14/09/2010 17:51:34
#352988
ola pessoal, preciso muito resolver isso ... se alguem puder me ajudar.

desde ja agradeço!
RICATOM 14/09/2010 18:09:43
#352989
Se vc colocar tabstop em todos os controles não resolve?
TECLA 14/09/2010 21:06:04
#352995
Citação:

:
Se vc colocar tabstop em todos os controles não resolve?


Quais os controles que tem no FORM? Posta um PRINT aqui.
ROBSON220BASS 15/09/2010 09:38:59
#353012
somente 3 labels

[ô]------------------------------------------------------------------
codigo do form
------------------------------------------------------------------

Private 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

Private Const SWP_NOMOVE = 2
Private Const SWP_NOSIZE = 1
Private Const FLAGS = SWP_NOMOVE Or SWP_NOSIZE
Private Const HWND_TOPMOST = -1
Private Const HWND_NOTOPMOST = -2

Dim Etape As Integer
Dim MonNumToast As Integer


Private Sub Form_Load()

SetWindowPos Me.hwnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE Or SWP_NOSIZE


Etape = 0
nbtoast = nbtoast + 1
Principal.Timer2.Enabled = False

MonNumToast = nbtoast
Dim Bottom
Bottom = (Screen.Height - 500) - (nbtoast * Me.Height)
Me.Top = Bottom

End Sub

Public Function AfficheToast(show As Boolean)

Dim Depl As Variant

If show = True Then
Me.show
For a = Screen.Width To (Screen.Width - Me.Width) Step -0.2
Me.Left = a
DoEvents
Next
End If

If show = False Then
For a = (Screen.Width - Me.Width) To Screen.Width Step 0.2
Me.Left = a
DoEvents
Next
If MonNumToast = nbtoast Then nbtoast = 0
Unload Me
Principal.Timer2.Enabled = True
End If

End Function

Private Sub Image2_Click()
If MonNumToast = nbtoast Then nbtoast = 0
Unload Me
Principal.Timer2.Enabled = True
End Sub

Private Sub Timer1_Timer()
Etape = Etape + 1

If Etape = 1 Then AfficheToast True
If Etape = 40 Then AfficheToast False


End Sub

----------------------------------metodo para chamar o form

form.show

ROBSON220BASS 16/09/2010 11:32:22
#353108
ops..... alguem pode me ajudar?

por favor... desde ja agraço
Tópico encerrado , respostas não são mais permitidas