Clipper On Line • Ver Tópico - Maximizar uma Janela Externa

Maximizar uma Janela Externa

Projeto Harbour - Compilador de código aberto compatível com o Clipper.

Moderador: Moderadores

 

Maximizar uma Janela Externa

Mensagempor marcosgambeta » 20 Mar 2018 12:10

Outra possibilidade para testar:

Depois de obter o handle da janela, executar esta sequencia:

ShowWindow(hWnd, SW_SHOW);
ShowWindow(hWnd, SW_RESTORE);
SetForegroundWindow(hWnd);
Atenciosamente,
Marcos Antonio Gambeta
marcosgambeta
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 318
Data de registro: 16 Jun 2005 22:53
Curtiu: 2 vezes
Mens.Curtidas: 40 vezes

Maximizar uma Janela Externa

Mensagempor asimoes » 20 Mar 2018 12:17

Marcos,

A janela Quick Report é essa.

2018-03-20 12_15_14-.png
â–ºHarbour 3.x | Minigui xx-x | HwGuiâ—„
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar de usuário

asimoes
Colaborador

Colaborador
 
Mensagens: 4919
Data de registro: 26 Abr 2007 16:48
Cidade/Estado: RIO DE JANEIRO-RJ
Curtiu: 341 vezes
Mens.Curtidas: 258 vezes

Maximizar uma Janela Externa

Mensagempor asimoes » 20 Mar 2018 12:19

Marcos, não funcionou, coisas do windows.

A janela fica assim:
2018-03-20 12_17_51-.png
2018-03-20 12_17_51-.png (11.42 KiB) Visualizado 1140 vezes
â–ºHarbour 3.x | Minigui xx-x | HwGuiâ—„
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar de usuário

asimoes
Colaborador

Colaborador
 
Mensagens: 4919
Data de registro: 26 Abr 2007 16:48
Cidade/Estado: RIO DE JANEIRO-RJ
Curtiu: 341 vezes
Mens.Curtidas: 258 vezes

Maximizar uma Janela Externa

Mensagempor marcosgambeta » 20 Mar 2018 12:43

O nome que você usa para localizar a janela com FindWindow é este ?

"Report Preview :"
Atenciosamente,
Marcos Antonio Gambeta
marcosgambeta
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 318
Data de registro: 16 Jun 2005 22:53
Curtiu: 2 vezes
Mens.Curtidas: 40 vezes

Maximizar uma Janela Externa

Mensagempor asimoes » 20 Mar 2018 12:56

Não é "Relatorio" esse é no nome da janela que chama o quickreport,
â–ºHarbour 3.x | Minigui xx-x | HwGuiâ—„
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar de usuário

asimoes
Colaborador

Colaborador
 
Mensagens: 4919
Data de registro: 26 Abr 2007 16:48
Cidade/Estado: RIO DE JANEIRO-RJ
Curtiu: 341 vezes
Mens.Curtidas: 258 vezes

Maximizar uma Janela Externa

Mensagempor asimoes » 20 Mar 2018 13:17

Marcos,

No nome do executável que também é a janela.

É Relatorio porque eu consigo fechar a janela:

  hWnd := FindWindow( 'Relatorio' )
   
   IF hWnd > 0
      hwg_Postmessage(hWnd, WM_CLOSE, 0, 0 )
   ENDIF


2018-03-20 13_14_32-Report Preview _.png
â–ºHarbour 3.x | Minigui xx-x | HwGuiâ—„
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar de usuário

asimoes
Colaborador

Colaborador
 
Mensagens: 4919
Data de registro: 26 Abr 2007 16:48
Cidade/Estado: RIO DE JANEIRO-RJ
Curtiu: 341 vezes
Mens.Curtidas: 258 vezes

Maximizar uma Janela Externa

Mensagempor asimoes » 20 Mar 2018 13:36

Acho que assim dá pra ver nome da janela
2018-03-20 13_34_19-.png
â–ºHarbour 3.x | Minigui xx-x | HwGuiâ—„
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar de usuário

asimoes
Colaborador

Colaborador
 
Mensagens: 4919
Data de registro: 26 Abr 2007 16:48
Cidade/Estado: RIO DE JANEIRO-RJ
Curtiu: 341 vezes
Mens.Curtidas: 258 vezes

Maximizar uma Janela Externa

Mensagempor marcosgambeta » 20 Mar 2018 14:02

Poderia testar esta rotina e informar o resultado ?

Use assim: lRet := HB_ShowWindow( "Relatorio", "Report Preview :")

#pragma BEGINDUMP

#include <windows.h>
#include "hbapi.h"

HB_FUNC( HB_SHOWWINDOW )
{
  HWND hWnd = FindWindow( NULL, hb_parc( 1 ) );

  if( hWnd )
  {
    HWND hWndChild = FindWindowEx( hWnd, NULL, NULL, hb_parc( 2 ) );

    if( hWndChild )
    {
      PostMessage(hWndChild, WM_SYSCOMMAND, SC_RESTORE, 0);
      hb_retl( 1 );
    }
    else
    {
      hb_retl( 0 );
    }
  }
  else
  {
    hb_retl( 0 );
  }
}

#pragma ENDDUMP
Atenciosamente,
Marcos Antonio Gambeta
marcosgambeta
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 318
Data de registro: 16 Jun 2005 22:53
Curtiu: 2 vezes
Mens.Curtidas: 40 vezes

Maximizar uma Janela Externa

Mensagempor asimoes » 20 Mar 2018 15:02

Marcos,

Retornou .F.
â–ºHarbour 3.x | Minigui xx-x | HwGuiâ—„
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar de usuário

asimoes
Colaborador

Colaborador
 
Mensagens: 4919
Data de registro: 26 Abr 2007 16:48
Cidade/Estado: RIO DE JANEIRO-RJ
Curtiu: 341 vezes
Mens.Curtidas: 258 vezes

Maximizar uma Janela Externa

Mensagempor JoséQuintas » 20 Mar 2018 20:44

wapi_ShowWindow( wapi_FindWindow( 0, "Relatorio" ), SW_RESTORE )
wapi_ShowWindow( wapi_FindWindow( 0, "Relatorio" ), SW_MAXIMIZE )
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18013
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

Maximizar uma Janela Externa

Mensagempor JoséQuintas » 20 Mar 2018 20:50

Complemento:

Pelo menos num teste em WVG funcionou....

-------------test.prg
REQUEST HB_CODEPAGE_PTISO

PROCEDURE Main

   LOCAL oControl, aOptions, cOption, nRow

   Set( _SET_CODEPAGE, "PTISO" )
   SetMode(33,90)
   SetColor("W/B")
   CLS
   wapi_ShowWindow( wapi_FindWindow( 0, "test" ), SW_RESTORE )
   wapi_ShowWindow( wapi_FindWindow( 0, "test" ), SW_MAXIMIZE )
   //LoadAllFont()
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18013
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

Maximizar uma Janela Externa

Mensagempor JoséQuintas » 20 Mar 2018 20:57

E mais um complemento.... rs

Funcionou o Maximizar janela... não que tenha funcionado pra WVG, que ficou com a janela doidinha, maximizada mas sem atualização... rs
Então tem mais essa também...

wvg.png
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18013
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

Maximizar uma Janela Externa

Mensagempor asimoes » 20 Mar 2018 21:05

Quintas,

Fiz um teste aqui não funcionou

cApp := 'Gerenciador de Tarefas'

wapi_ShowWindow( wapi_FindWindow( 0, cApp), SW_RESTORE )
wapi_ShowWindow( wapi_FindWindow( 0, cApp ), SW_MAXIMIZE )

Assim funciona

hb_ShowWindow(cApp)
#pragma BEGINDUMP

#include "windows.h"
#include "hbapi.h"

HB_FUNC( HB_SHOWWINDOW )
{
   HWND hWnd = FindWindow( NULL, hb_parc( 1 ) );
   SetForegroundWindow( hWnd );
   SendMessage( hWnd, WM_SYSCOMMAND, SC_RESTORE, 0 );
}
#pragma ENDDUMP
â–ºHarbour 3.x | Minigui xx-x | HwGuiâ—„
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar de usuário

asimoes
Colaborador

Colaborador
 
Mensagens: 4919
Data de registro: 26 Abr 2007 16:48
Cidade/Estado: RIO DE JANEIRO-RJ
Curtiu: 341 vezes
Mens.Curtidas: 258 vezes

Maximizar uma Janela Externa

Mensagempor JoséQuintas » 20 Mar 2018 22:31

No fonte que coloquei está executando o comando do Windows pra maximizar uma janela.

No fonte que colocou está enviando a mensagem de maximizar para a janela, que acabará sendo processada pelo aplicativo Delphi.

Se imaginar que pode ser um controle activex, o aplicativo repassa ao activex, enquanto o comando direto do Windows pode ser recusado.
Mas é só suposição minha, não sei se seria isso mesmo.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18013
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

Anterior



Retornar para Harbour

Quem está online

Usuários vendo este fórum: Nenhum usuário registrado online e 6 visitantes


Ola Amigo, espero que meu site e forum tem lhe beneficiado, com exemplos e dicas de programacao.
Entao divulgue o link da Doacao abaixo para seus amigos e redes sociais ou faça uma doacao para o site forum...
MUITO OBRIGADO PELA SUA DOACAO!
Faça uma doação para o forum
cron
v
Olá visitante, seja bem-vindo ao Fórum Clipper On Line!
Efetue o seu login ou faça o seu Registro