Página 1 de 1
Comando para minimizar tela com xHarbour
Enviado: 21 Jul 2016 17:24
por porter
olá pessoal,
Gostaria de saber se pelo xHarbour, tem algum comando para minimizar o sistema, estou querendo minimizar,
porque quando executo o NFe_ImprimirDANFE() dentro do código, aparece a tela da Nota Danfe, mas uma parte da tela do sistema fica na tela. Pesquisando, encontrei algumas soluções com FiveWin, MiniGui, mas com xHarbour não.
xHarbour.
obrigado.
Comando para minimizar tela com xHarbour
Enviado: 21 Jul 2016 18:28
por Jairo Maia
Olá Porter,
Não conheço um comando que minimiza o sistema, mas é possível desabilitar o Preview desmarcando essa opção na aba Impressão do ACBr.
Caso realmente queira exibir o Preview, vamos aguardar alguma dica sobre minimizar o aplicativo.
Comando para minimizar tela com xHarbour
Enviado: 22 Jul 2016 01:07
por fladimir
Código: Selecionar todos
oWnd := x_GETFOREGROUNDWINDOW()
x_SwitchToThisWindow(oWnd,.f.)
x_showWindow( oWnd, 6 ) // minimiza
Funções em C...
Se for compilar no mesmo PRG tem q fazer #pragma BEGINDUMP antes do código e no final.. #pragma ENDDUMP
Ou pode criar um arquivo com extenção .C e ai não precisa do #pragma... etc
Compila junto e testa.
Código: Selecionar todos
#include "windows.h"
#include "hbapi.h"
HB_FUNC( x_GETFOREGROUNDWINDOW )
{
HWND hwnd;
hwnd = GetForegroundWindow();
hb_retnl( (LONG) hwnd );
}
HB_FUNC( x_SWITCHTOTHISWINDOW )
{
HWND hWnd;
hWnd = (HWND) hb_parnl(1);
hb_retl(SetForegroundWindow(hWnd));
}
HB_FUNC( x_SHOWWINDOW )
{
hb_retl( ShowWindow(
(HWND) hb_parnl(1), hb_parni(2) ));
}
Comando para minimizar tela com xHarbour
Enviado: 22 Jul 2016 11:31
por porter
olá Fladimir, estou colocando os comandos abaixo, dentro do prg, está dando erro de compilação:
Declaration Syntax error nessa linha:
oWnd := x_GETFOREGROUNDWINDOW() <--- DECLARATION SYNTAX ERROR
Código: Selecionar todos
#pragma BEGINDUMP
#include "windows.h"
#include "hbapi.h"
HB_FUNC( x_GETFOREGROUNDWINDOW )
{
HWND hwnd;
hwnd = GetForegroundWindow();
hb_retnl( (LONG) hwnd );
}
HB_FUNC( x_SWITCHTOTHISWINDOW )
{
HWND hWnd;
hWnd = (HWND) hb_parnl(1);
hb_retl(SetForegroundWindow(hWnd));
}
HB_FUNC( x_SHOWWINDOW )
{
hb_retl( ShowWindow(
(HWND) hb_parnl(1), hb_parni(2) ));
}
#pragma ENDDUMP
Código: Selecionar todos
PROCEDURE MINIMIZA
#pragma BEGINDUMP
oWnd := x_GETFOREGROUNDWINDOW() <--- DECLARATION SYNTAX ERROR
x_SwitchToThisWindow(oWnd,.f.)
x_showWindow( oWnd, 6 ) // minimiza
#pragma ENDDUMP
Comando para minimizar tela com xHarbour
Enviado: 22 Jul 2016 16:14
por fladimir
na tua função minimiza retire o #pragma inicio e final
o #pgrama só deve envolver o código C propriamente dito
Comando para minimizar tela com xHarbour
Enviado: 23 Jul 2016 08:26
por porter
olá Fladimir, bom dia,
Se tirar o #pragrma inicial e final, da erro de compilação:
Error: Unresolved external '_HB_FUN_X_GETFOREGROUNDWINDOW' referenced from C:\ESTOQUE\GERANFE.OBJ
Error: Unresolved external '_HB_FUN_X_SWITCHTOTHISWINDOW' referenced from C:\ESTOQUE\GERANFE.OBJ
Error: Unresolved external '_HB_FUN_X_SHOWWINDOW' referenced from C:\ESTOQUE\GERANFE.OBJ
xHarbour
obrigado.
Comando para minimizar tela com xHarbour
Enviado: 23 Jul 2016 19:55
por fladimir
Código: Selecionar todos
func Main()
minimiza()
return
function MINIMIZA()
oWnd := X_GETFOREGROUNDWINDOW()
X_SwitchToThisWindow(oWnd,.f.)
X_showWindow( oWnd, 6 ) // minimiza
return
//----------------- Fun‡äes em C --------//
#pragma BEGINDUMP
#include "windows.h"
#include "hbapi.h"
#define ISNIL( n ) HB_ISNIL( n )
#define ISNUM( n ) HB_ISNUM( n )
VOID SY_SwitchToThisWindow( HWND hWnd, BOOL fAltTab );
HB_FUNC( SY_FINDCONSOLEHANDLE ) //FindConsoleHandle
{
HWND hwnd;
AllocConsole();
hwnd = FindWindowA("ConsoleWindowClass",NULL);
hb_retnl( (LONG) hwnd );
}
HB_FUNC( X_GETFOREGROUNDWINDOW )
{
HWND hwnd;
hwnd = GetForegroundWindow();
hb_retnl( (LONG) hwnd );
}
HB_FUNC( X_SHOWWINDOW )
{
hb_retl( ShowWindow(
(HWND) hb_parnl(1), hb_parni(2) ));
}
HB_FUNC( X_SWITCHTOTHISWINDOW )
{
HWND hWnd;
hWnd = (HWND) hb_parnl(1);
hb_retl(SetForegroundWindow(hWnd));
}
#pragma ENDDUMP