|
|
Postada em 19/01/2005 00:02 hs
Olá, galera Tem como fazer um formulário meu ser exibido sobre qualquer outra janela aberta pelo usuário??? Por exemplo: o usuário inicia um processamento demorado, e então abre o Word e começa a digitar um texto... quando o processamento que ele iniciou no meu software terminar, o software exibe uma janela com um resumo do processamento... eu gostaria que essa janela pudesse aparecer sobre a janela do Word, ou de qualquer outro programa que esteja aberto. Algo tipo o msgbox VBSystemModal, mas não pode ser um msgbox, tem que ser um formulario qualquer... Tem como fazer isso??? Agradeço qualquer ajuda...
Elieser Carlos Topassi Analista de Sistemas - Desenvolvedor VB/ASP/.Net
e-mail/msn: elieser_topassi@yahoo.com.br
São José do Rio Preto,SP - Brasil _____________________________________________________
"O caminho do tolo aos seus prórios olhos lhe parece reto, mas o sábio ouve conselhos" (Pv 12:15)
|
|
|
|
|
|
|
|
Postada em 19/01/2005 09:22 hs
************************************* * Coloque o código abaixo dentro de um módulo * ************************************* 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 Public Sub AlwaysOnTop(myfrm As Form, SetOnTop As Boolean) If SetOnTop Then lFlag = HWND_TOPMOST Else lFlag = HWND_NOTOPMOST End If SetWindowPos myfrm.hwnd, lFlag, _ myfrm.Left / Screen.TwipsPerPixelX, _ myfrm.Top / Screen.TwipsPerPixelY, _ myfrm.Width / Screen.TwipsPerPixelX, _ myfrm.Height / Screen.TwipsPerPixelY, _ SWP_NOACTIVATE Or SWP_SHOWWINDOW End Sub Depois disso, basta chamar a função: Private Sub Form1_Load() AlwaysOnTop Form1, True End Sub
|
|
|
|
|
|
Postada em 19/01/2005 09:25 hs
O famoso AlwaysOnTop, com ele seu formulário vai ficar na frente de qualquer outra aplicação do windows. Só tome cuidado com um pequeno detalhe: Tente fazer um form pequeno, imagine só, se nada aparece na frente dele, e ele ocupa a tela toda...
|
|
|
|
|
|
Postada em 19/01/2005 09:51 hs
Ahhh! Faltaram essas duas constantes, coloque elas no módulo também. Public Const HWND_TOPMOST = -1 Public Const HWND_NOTOPMOST = -2
|
|
|
|
|
|
Postada em 19/01/2005 10:53 hs
Obrigado... Vou testar... Qto ao formulário, é apenas algumas linhas de mensagem em um RTF... nada que ocupe a tela toda... Abraços...
Elieser Carlos Topassi Analista de Sistemas - Desenvolvedor VB/ASP/.Net
e-mail/msn: elieser_topassi@yahoo.com.br
São José do Rio Preto,SP - Brasil _____________________________________________________
"O caminho do tolo aos seus prórios olhos lhe parece reto, mas o sábio ouve conselhos" (Pv 12:15)
|
|
|
|
|