Barra de Tarefas
Moderador: Moderadores
Barra de Tarefas
Boa noite colegas
Tô mudando meu pdv de clipper pra xharbour (wvt) e gostaria de saber como faz pra que a "barra de tarefas" do windows seja sobreposta ou então desabilita-la ?
Pois to usando o setfont com 20 e o setmode(37,85).
se eu for nas propriedades da barra de tarefas e clicar para ocultar automaticamente a barra de tarefas funciona, caso contrario não. Se alguem souber ficarei agradecido.
Obrigado
Henrique
Tô mudando meu pdv de clipper pra xharbour (wvt) e gostaria de saber como faz pra que a "barra de tarefas" do windows seja sobreposta ou então desabilita-la ?
Pois to usando o setfont com 20 e o setmode(37,85).
se eu for nas propriedades da barra de tarefas e clicar para ocultar automaticamente a barra de tarefas funciona, caso contrario não. Se alguem souber ficarei agradecido.
Obrigado
Henrique
- Itamar M. Lins Jr.
- Administrador

- Mensagens: 7928
- Registrado em: 30 Mai 2007 11:31
- Localização: Ilheus Bahia
- Curtiu: 1 vez
Re: Barra de Tarefas
Use a Hwgui.
É muito mais fácil do que a WVW ou WVT etc...
Saudações,
Itamar M. Lins Jr.
É muito mais fácil do que a WVW ou WVT etc...
Código: Selecionar todos
Function EscondeBarraDeTarefas ()
Local nHandleBarraDeTarefas := 0
nHandleBarraDeTarefas := HWG_FindWindow( "Shell_TrayWnd", "" )
HideWindow( nHandleBarraDeTarefas )
Return Nil
Function MostraBarraDeTarefas ()
Local nHandleBarraDeTarefas := 0
nHandleBarraDeTarefas := HWG_FindWindow( "Shell_TrayWnd", "" )
ShowWindow( nHandleBarraDeTarefas )
Return Nil
//Código abaixo não necessário caso use a Hwgui.
#define HB_OS_WIN_32_USED
#define _WIN32_WINNT 0x0400
#define _WIN32_IE 0x0400
#define OEMRESOURCE
#include <windows.h>
#include <commctrl.h>
#if defined(__DMC__)
#include "missing.h"
#endif
#include "guilib.h"
#include "hbapifs.h"
#include "hbapiitm.h"
#include "hbvm.h"
#include "hbstack.h"
#include "item.api"
#if defined(__XHARBOUR__)
#include "hbfast.h"
#else
#include "hbapicls.h"
#endif
#include <math.h>
#include <float.h>
#include <limits.h>
#define FIRST_MDICHILD_ID 501
// void writelog( char* s );
void SetWindowObject( HWND hWnd, PHB_ITEM pObject );
PHB_ITEM GetObjectVar( PHB_ITEM pObject, char* varname );
void SetObjectVar( PHB_ITEM pObject, char* varname, PHB_ITEM pValue );
void DoEvents(void);
LRESULT CALLBACK MainWndProc (HWND, UINT, WPARAM, LPARAM) ;
LRESULT CALLBACK FrameWndProc (HWND, UINT, WPARAM, LPARAM) ;
LRESULT CALLBACK MDIChildWndProc (HWND, UINT, WPARAM, LPARAM) ;
extern HWND * aDialogs;
HWND hMytoolMenu = NULL;
static HHOOK OrigDockHookProc;
static HHOOK OrigButtonDockHookProc;
extern int iDialogs;
HWND aWindows[2] = { 0,0 };
HACCEL hAccel = NULL;
PHB_DYNS pSym_onEvent = NULL;
PHB_DYNS pSym_onEven_Tool = NULL;
// static PHB_DYNS pSym_MDIWnd = NULL;
static TCHAR szChild[] = TEXT ( "MDICHILD" );
/* Consume all queued events, useful to update all the controls... I split in 2 parts because I feel
* that DoEvents should be called internally by some other functions...
*/
HB_FUNC( HWG_FINDWINDOW )
{
HB_RETHANDLE( FindWindow( hb_parc(1),hb_parc(2) ) );
}
HB_FUNC( HIDEWINDOW )
{
ShowWindow( (HWND) HB_PARHANDLE( 1 ), SW_HIDE );
}
HB_FUNC( SHOWWINDOW )
{
ShowWindow( (HWND) HB_PARHANDLE( 1 ), SW_SHOW );
}
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Itamar M. Lins Jr.
- alaminojunior
- Colaborador

- Mensagens: 1717
- Registrado em: 16 Dez 2005 21:26
- Localização: Ubatuba - SP
Re: Barra de Tarefas
Está aí uma coisa que ainda não conseguí fazer também, pois não encontrei meios. Quem sabe o Leonardo não nos ajude ... Apesar de não ser algo que atrapalhe tanto.BHS escreveu:gostaria de saber como faz pra que a "barra de tarefas" do windows seja sobreposta
É "muito mais fácil", para quemItamar M. Lins Jr. escreveu:Use a Hwgui.
É muito mais fácil do que a WVW ou WVT etc...
A Hwgui sem dúvida é superior às GT???, mas pelo que eu andei lendo e estudando sobre ela, o cidadão precisa mudar o conceito de programação, e isso leva tempo e neurônios, que às vezes estão direcionados para outras coisas.
Portanto ....
Compilador xHarbour 1.2.3 + Embarcadero C++ 7.30
MySQL c/ SQLRDD
HwGui + GTWVG
MySQL c/ SQLRDD
HwGui + GTWVG
- sygecom
- Administrador

- Mensagens: 7131
- Registrado em: 21 Jul 2006 10:12
- Localização: Alvorada-RS
- Contato:
Re: Barra de Tarefas
De uma olhada no post abaixo e veja se ajuda:
viewtopic.php?f=43&t=9350
viewtopic.php?f=43&t=9350
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
xHarbour.org + Hwgui + PostgreSql
Re: Barra de Tarefas
valeu amigos
mas eu acho que o que o sygecom passou deve dar certo, vou fazer os testes.
Em relação a Hwgui, foi o que o alamino falou, é praticamente "outra linguagem de programação", e aqui na empresa o pessoal prefere o modo texto.
Obrigado
Henrique
mas eu acho que o que o sygecom passou deve dar certo, vou fazer os testes.
Em relação a Hwgui, foi o que o alamino falou, é praticamente "outra linguagem de programação", e aqui na empresa o pessoal prefere o modo texto.
Obrigado
Henrique
- Itamar M. Lins Jr.
- Administrador

- Mensagens: 7928
- Registrado em: 30 Mai 2007 11:31
- Localização: Ilheus Bahia
- Curtiu: 1 vez
Re: Barra de Tarefas
Devagar e sempre.É "muito mais fácil", para quem
A Hwgui sem dúvida é superior às GT???, mas pelo que eu andei lendo e estudando sobre ela, o cidadão precisa mudar o conceito de programação, e isso leva tempo e neurônios, que às vezes estão direcionados para outras coisas.
Portanto ....
Vamos por partes.
No clipper:
Código: Selecionar todos
store 0 to nVar //tanto faz clipper ou hwgui.
MinhaVar:=savescreen(0,0,24,79) //precisa limpar a tela ou salvar antes em alguma variavel savescreen bla,bla...
@ 0,0 clear to 24,59 //limpa tela
@ 0,0 to 24,79 double //desenha um quadrado.
@ 10,10 say "frase" get nVar picture "@e 99,99.99"
read
//Nesse exemplo uma janela limitada em apenas 24 linhas e 80 colunas
//digamos que precise usar tamanho de letras diferentes. Não existe suporte.
Código: Selecionar todos
INIT DIALOG oDlg TITLE "Sistema " at 0,0 size 640,480 CLIPPER NOESC //vai abrir uma janela não é necessário salvar nada(mais simples?)
@ 10,10 say "frase" size 40,20
@ 60,10 get oVar Var nVar picture "@e 99,99.99" size 70,20
//podemos usar tambem @ 10,10 say 'frase' get nVar picture "@e 99,99.99"
oDlg:Activate() //aqui ativamos o dialogo.
//neste exemplo uma janela limitada pela capacidade do monitor ou placa de video.
//digamos que precise usar tamanho de letras diferentes:
//colocando essa linha depois de 640,480 será a fonte padrao dos objetos da dialog.
// FONT HFont():Add( '',0,-13,400,,,)
//usar <ENTER> para pular os gets
//CLIPPER
//Nao deixar sair do dialog teclando <ESC>
// NOESC
//Como pode observar muito mais recursos
Tem mais coisas, mas o básico esse caminho ai.
Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Itamar M. Lins Jr.
Re: Barra de Tarefas
ou ainda usando a xhgtk.
Usando comandos:
Usando o designer Glade que gera um código xml:
Hello.xml gerado pela Glade:
[]'s
Rodrigo
Usando comandos:
Código: Selecionar todos
INIT WINDOW oWindow ;
AT 0,0 ;
TITLE "Hello World" ;
SIZE 640, 480 ;
CENTER ;
RESIZEABLE
@ 100, 200 LABEL oLabel1 CAPTION "Codigo" SIZE 50, 15 OF oWindow
@ 100, 350 EDIT oEdit1 VAR Var1 SIZE 100, 25 COLOR {235,247,16} BACKCOLOR {0,0,0} PICTURE "99999999" OF oWindow
@ 420, 550 BUTTON oButton2 CAPTION "Close" SIZE 80, 25 ACTION oWindow:close() HINT "Close Hint" OF oWindow
ACTIVATE WINDOW oWindow
Código: Selecionar todos
#include "xhgtk.ch"
Function Main ()
Local pBuilder
Local pWindow
Local pButton
Local pCodigo, oCodigo, xCodigo := 0
gtk_init()
pBuilder := gtk_builder_new_from_file('hello.xml')
pWindow := gtk_builder_get_object(pBuilder, "window1")
pButton := gtk_builder_get_object(pBuilder, "button1")
pCodigo := gtk_builder_get_object(pBuilder, "entry1")
DEFINE oCodigo WIDGET pCodigo VAR xCodigo PICTURE "999999"
gtk_signal_connect( pWindow, "destroy", {|| gtk_main_quit() } )
gtk_signal_connect( pButton, "clicked", {|| gtk_widget_destroy(pWindow) } )
gtk_widget_show_all( pWindow )
gtk_main()
Return Nil
Código: Selecionar todos
<?xml version="1.0"?>
<interface>
<requires lib="gtk+" version="2.16"/>
<!-- interface-naming-policy project-wide -->
<object class="GtkWindow" id="window1">
<property name="title" translatable="yes">Hello</property>
<child>
<object class="GtkVBox" id="vbox1">
<property name="visible">True</property>
<property name="orientation">vertical</property>
<property name="spacing">5</property>
<child>
<object class="GtkHBox" id="hbox1">
<property name="visible">True</property>
<property name="spacing">5</property>
<child>
<object class="GtkLabel" id="Código">
<property name="visible">True</property>
<property name="label" translatable="yes">label</property>
</object>
<packing>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkEntry" id="entry1">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="invisible_char">●</property>
</object>
<packing>
<property name="position">1</property>
</packing>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkHButtonBox" id="hbuttonbox1">
<property name="visible">True</property>
<child>
<object class="GtkButton" id="button1">
<property name="label" translatable="yes">Fechar</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
<property name="position">0</property>
</packing>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
<property name="position">1</property>
</packing>
</child>
</object>
</child>
</object>
</interface>
Rodrigo
- alaminojunior
- Colaborador

- Mensagens: 1717
- Registrado em: 16 Dez 2005 21:26
- Localização: Ubatuba - SP
Re: Barra de Tarefas
Gostei do exemplo Itamar, mas como você bem disse: é o básico e tem mais coisas !!! Mas tá quase me convencendo. :)PosItamar M. Lins Jr. escreveu:Tem mais coisas, mas o básico esse caminho ai.
Compilador xHarbour 1.2.3 + Embarcadero C++ 7.30
MySQL c/ SQLRDD
HwGui + GTWVG
MySQL c/ SQLRDD
HwGui + GTWVG
- Itamar M. Lins Jr.
- Administrador

- Mensagens: 7928
- Registrado em: 30 Mai 2007 11:31
- Localização: Ilheus Bahia
- Curtiu: 1 vez
Re: Barra de Tarefas
Mais "coisas", é no sentido de ter mais recursos.Gostei do exemplo Itamar, mas como você bem disse: é o básico e tem mais coisas !!! Mas tá quase me convencendo.
Ex.
Código: Selecionar todos
Init Dialog oDlg TITLE "Exemplo" at 0,0 size 640,480 Style DS_CENTER
Eu posso ligar ou desligar o Get:
Código: Selecionar todos
@ 10,10 get oNome Var cNome size 50,20 Style ES_UPPERCASE
@ 10,10 get oNome Var cNome picture "@!" size 50,20 //é a mesma coisa do exemplo acima.
@ 10,10 get oNome Var cNome size 50,20 Style ES_LOWERCASE // aqui não existe esse recurso no clipper. (somente minusculas)
Se eu quero desativar um get (objeto qualquer) caso o usuário não tenha permissão:
oNome:Disable()
Se o cursor(foco) estiver em outro local, posso manda-lo para onde for preciso.
oNome:SetFocus()
Mandar o foco para a janela:
oDlg:SetFocus()
O objeto que nós nos referimos sempre com um "o" minusculo, e a variavel que o pessoal do clipper esta acustumado.
Numa tela com varios tipos de gets por exemplo:
Código: Selecionar todos
Private cNome,dNascido,nValor,mObs
Nós usamos o objeto para:
Ativar,Desativar,Focar,Esconder.
E usamos a variavel quando formos salvar,somar,mudar.
Se em uma janela(dialogo) precisarmos ter vários tipos de fontes, temos mais esse recurso:
Código: Selecionar todos
PREPARE FONT oFontPadrao NAME "MS Sans Serif" WIDTH 0 HEIGHT -10
PREPARE FONT oBrwFont NAME "Curier New" WIDTH 0 HEIGHT -11
PREPARE FONT oFontPDV NAME "MS Sans Serif" WIDTH 0 HEIGHT -14
oFontPadrao, oBrwFont, oFontPDV.
Código: Selecionar todos
@ 005,120 Browse oBrw DataBase of oDlgV Size 690,250 Font oBrwFont
//Neste caso a fonte do browse vai ser Curier New 11
@ 10,10 get oNome Var cNome size 50,20 font oFontPDV
//Neste aqui a fonte é MS Sans Serif tamanho 14
E a pessoa não perde nada, porque esses conceitos são comuns ao Delphi, xHgtk etc...
Ps. Os recursos do browse da Hwgui, é fantástico, muito parecido com o tbrowse.
Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Itamar M. Lins Jr.

