Página 1 de 1
Posição da janela com relação ao Harbour
Enviado: 21 Mai 2017 18:03
por JoséQuintas
O Harbour tem a opção de pegar posição e tamanho da janela atual.
hb_gtInfo( HB_GTI_SCREENSIZE )[ 1 ]
hb_gtInfo( HB_GTI_SCREENSIZE )[ 2 ]
hb_gtInfo( HB_GTI_SETPOS_XY )[ 1 ]
hb_gtInfo( HB_GTI_SETPOS_XY )[ 2 ]
Ao usar no diálogo HWGUI, a janela fica desposicionada.
Código: Selecionar todos
INIT DIALOG oDlgPesquisa AT AppRow(), AppCol() SIZE AppWidth(), AppHeight()
@ 1, 1 BROWSE oBrowse DATABASE SIZE AppWidth(), AppHeight() STYLE WS_BORDER + WS_VSCROLL + WS_HSCROLL
Precisa alguma conversão?
Por exemplo retornou 650, 1262 como posição inicial, mas a janela da hwgui ficou no rodapé da tela.
Posição da janela com relação ao Harbour
Enviado: 21 Mai 2017 18:38
por JoséQuintas
Código: Selecionar todos
MsgExclamation( Str( AppCol() ) + " , " + Str( AppRow() ) + ", " + Str( AppWidth() ) + ", " + Str( AppHeight() ) )
INIT DIALOG oDlgPesquisa AT AppCol(), AppRow() SIZE AppWidth(), AppHeight() TITLE "Browse do arquivo " + Alias()
Isso mostrou 865, 741, 792, 570
Não entendo a posição da janela hwgui.
Considerando que a tela é 3840 x 2160, deve estar na posição 1920 x 1500 ou não?
Até pensei no redimensionamento do Windows, mas está em 110% apenas, o que daria uma diferença de 10%.
.
Posição da janela com relação ao Harbour
Enviado: 21 Mai 2017 18:45
por JoséQuintas
Outro teste mais radical:
Código: Selecionar todos
INIT DIALOG oDlgPesquisa AT 500, 500 SIZE 500, 500 TITLE "Browse do arquivo " + Alias()
@ 1, 1 BROWSE oBrowse DATABASE SIZE 450, 450 STYLE WS_BORDER + WS_VSCROLL + WS_HSCROLL
Tudo 500, posição inicial, final, e tamanhos.
Pra mim, isso tá na 2000 x 1500, e não na 500 x 500
O que está errado?
Posição da janela com relação ao Harbour
Enviado: 21 Mai 2017 19:02
por JoséQuintas
Eureka !
É a posição relativa à janela atual. Usando posição 0, 0 ficou aceitável.
Código: Selecionar todos
INIT DIALOG oDlgPesquisa AT 0, 0 SIZE AppWidth(), AppHeight() TITLE "Browse do arquivo " + Alias()
Agora, aparentemente a diferença tem a ver com a margem do título, e a margem de borda que teria em outras versões de Windows....
Posição da janela com relação ao Harbour
Enviado: 21 Mai 2017 21:50
por janio
Nao seria
DS_CENTER do Dialog que vc está querendo?
Código: Selecionar todos
INIT DIALOG oDlg TITLE (MsgCriaSoft + " - ERRO NFE ") ;
AT 0, 0 SIZE 507,246 NOEXIT CLIPPER ;
ON INIT {|o| o:nInitFocus := o:oButtonex1 } ;
STYLE WS_POPUP+WS_CAPTION+WS_SYSMENU+WS_SIZEBOX+DS_CENTER
Thisform := oDlg
Posição da janela com relação ao Harbour
Enviado: 21 Mai 2017 23:57
por JoséQuintas
Não.
É pra tela ficar encima da outra, na mesma posição.
Centrizado ela vai ficar fora do lugar.
Posição da janela com relação ao Harbour
Enviado: 22 Mai 2017 07:50
por Toledo
JoséQuintas escreveu:INIT DIALOG oDlgPesquisa AT AppRow(), AppCol() SIZE AppWidth(), AppHeight()
No AT o correto seria AT AppCol(), AppRow() (AT Coluna, Linha).
Abraços,
Posição da janela com relação ao Harbour
Enviado: 22 Mai 2017 12:13
por JoséQuintas
Vou corrigir as funções,
Tá quase bom...
Só falta funcionar direito em multithread.