Susana
|
ANGRA DOS REIS RJ - BRASIL
|
|
ENUNCIADA !
|
|
|
Postada em 05/08/2005 10:43 hs
Bom dia pessoal, Uso VB 6.0. Bem, tenho 1 Form que "chama" um outro, por form.show, quando estou neste segundo form e clico em algum botão que executa um processamento que demora um pouco, tipo uma seleção de vários registros, gerando um relatório ou carregando um Grid, um processamento que demora mais ou menos 1 minuto, ao terminar este processamento, o form em questão vai para trás do form que o chamou. Os usuários estão reclamando muito, como resolver este problema? Obrigado
|
|
|
|
|
Postada em 05/08/2005 10:53 hs
Olá Susana, tente chamar esse Form da seguinte maneira: Sintaxe: Form.Show [Modal] Onde Modal poder ser True(1) ou False(0) Utilize assim: Form.Show 1 O comando Show tem uma opção de Modal, quando você coloca 1 quer dizer que esse Form é chamado de forma Modal, ou seja, ele sempre ficará na frente dos outros Forms. Um abraço!!! Tentei...
Abraços!!! by Gustavo Bittencourt Costa
|
|
|
Susana
|
ANGRA DOS REIS RJ - BRASIL
|
|
ENUNCIADA !
|
|
|
Postada em 05/08/2005 11:53 hs
Oi Gustavo, Uso alguns forms chamando modal, como o de Login, porém desta forma o usuário não consegue clicar em outros forms, assim perde esta opção de olhar uma outra tela do sistema. Gostaria de resolver este problema de outra forma, se for possível. Valeu pela dica. Abs, Susana
|
|
|
Erico
|
SALVADOR BA - BRASIL
|
|
ENUNCIADA !
|
|
|
Postada em 05/08/2005 14:40 hs
Suzana, Não sei se vc usa no seu projeto mas ele permite um form tipo MDI. Este form se comporta como pai dos form MDI Child. Vc pode ter em um projeto um pai, varios filhos e form´s chamados vbmodal ou não. Nos meus projetos mesclo estes tipos de acordo com as necessidades do cliente.
A.Erico S.Peixoto -------------------- Analista de Sistemas
|
|
|
Susana
|
ANGRA DOS REIS RJ - BRASIL
|
|
ENUNCIADA !
|
|
|
Postada em 05/08/2005 15:22 hs
Erico, Ainda não testei se colocando o form em questão como MDI Child irá resolver o problema. Vou tentar. Valeu pela dica. Abs, Susana
|
|
|
tomprata
|
JUIZ DE FORA MG - BRASIL
|
|
ENUNCIADA !
|
|
|
Postada em 06/08/2005 11:24 hs
Olá,
a solução mais lógica é usar MDI, como disse o Erico,mas mesmo assim o formulário filho pode, eventualmente se 'esconder' sob outros formulários. Vc pode usar a opção de manter o formulário sempre sobre os demais.
'em módulo 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 Public Const SWP_HIDEWINDOW As Long = &H80 Public Const SWP_SHOWWINDOW As Long = &H40 Public lRet As Long
'no Load do formulário Call SetWindowPos(Me.hwnd, -1, 0, 0, 0, 0, &H1 Or &H2)
|
|
|
|