nome do programa na barra de titulos

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

Moderador: Moderadores

Mário Isa
Usuário Nível 4
Usuário Nível 4
Mensagens: 907
Registrado em: 07 Jul 2004 13:54
Localização: Ilha Solteira-sp

nome do programa na barra de titulos

Mensagem por Mário Isa »

toda vez que eu rodo um .EXE / o nome dele aparece na barra de títulos / isso só acontece no XP / no 98 não / e assim / o ultimo .EXE que rodou o nome dele fica lá /

Tem como desabilitar isso ?

Mário
Avatar do usuário
sygecom
Administrador
Administrador
Mensagens: 7131
Registrado em: 21 Jul 2006 10:12
Localização: Alvorada-RS
Contato:

Re: nome do programa na barra de titulos

Mensagem por sygecom »

Esta usando alguma LIB grafica ou alguma como a GTWVT, GTWVW, WVWTOOLS ?
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
Mário Isa
Usuário Nível 4
Usuário Nível 4
Mensagens: 907
Registrado em: 07 Jul 2004 13:54
Localização: Ilha Solteira-sp

Re: nome do programa na barra de titulos

Mensagem por Mário Isa »

não ! por enquanto nenhuma / estou pensando em utilizar WVW MAS AINDA ESTOU NO início / Mário
Avatar do usuário
sygecom
Administrador
Administrador
Mensagens: 7131
Registrado em: 21 Jul 2006 10:12
Localização: Alvorada-RS
Contato:

Re: nome do programa na barra de titulos

Mensagem por sygecom »

Olá Mario,
Pode usar assim:

Código: Selecionar todos

Function MAIN()
SETCONSOLETITLE("Nome do Titulo da Janela")
alert("verefique o nome da janela")
Return

#pragma BEGINDUMP

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

 HB_FUNC( SETCONSOLETITLE )
 {
    SetConsoleTitle( (LPCTSTR) hb_parc(1) );
 }

#pragma ENDDUMP
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
Abel
Usuário Nível 3
Usuário Nível 3
Mensagens: 332
Registrado em: 14 Mar 2012 13:16
Localização: sao paulo / sp

nome do programa na barra de titulos

Mensagem por Abel »

pessoal, estou usando o comando HB_GTINFO(hb_gti_wintitle, "titulo da janela") para colocar o titulo na janela atraves do harbour. Tenho uma duvida, existe alguma forma de colocar a informacao no final da barra de titulo, independente do tamanha da janela.

Exemplo de uma Barra:

Sistema XXX - Usuario: Maria da Silva Santos Data Atual: 18/06/2012

ou seja, queria colocar a data alinhada a direita.

Abracos,
ABEL
Imatech
Usuário Nível 3
Usuário Nível 3
Mensagens: 350
Registrado em: 24 Ago 2010 23:48
Localização: Goiânia-GO

nome do programa na barra de titulos

Mensagem por Imatech »

Se entendi a solicitação:

Código: Selecionar todos


Local cApp := 'Sistema XXX - Usuario: Maria da Silva Santos : Data Atual: [' + TRAN( DATE(), '@E' ) + ']'

HB_GTINFO(hb_gti_wintitle, cApp )

M., Ronaldo

by: IMATECH

IMATION TECNOLOGIA
Abel
Usuário Nível 3
Usuário Nível 3
Mensagens: 332
Registrado em: 14 Mar 2012 13:16
Localização: sao paulo / sp

nome do programa na barra de titulos

Mensagem por Abel »

Eu ate consegui colocar a data na barra, usando dtoc(date()), mas o que eu queria mesmo era que esta data
ficasse alinhada a direita perto do (x) do windows.

exemplo:

"sistema xxxx - usuario; xxxxxxx _________________________ data Atual: 99/99/9999"

entenda a linha como se fossem espacos...

no outro post eu coloquei espacos mas ele comeu os espacos por isso vc nao percebeu minha intencao.
mesmo assim, valeu.
Abracos,
ABEL
Avatar do usuário
ANDRIL
Usuário Nível 5
Usuário Nível 5
Mensagens: 1299
Registrado em: 06 Jul 2004 00:44
Contato:

nome do programa na barra de titulos

Mensagem por ANDRIL »

Depende da largura da janela. Como no seu exemplo data Atual: 99/99/9999 voce tem 22 caracteres para a data, se a janela tiver 79 colunas:

Código: Selecionar todos

cTitle:=padr("sistema xxxx - usuario; xxxxxxx",57) + padl("data Atual: "+dtoc(date()) 
HB_GTINFO(hb_gti_wintitle, cTitle )
79-22=57 espacos

Ou faça este teste
espaco=48

Código: Selecionar todos

cTitle="Sistema cafe com leite"+repli(" ",espaco)+"usuario: Teste"
comando="CMD /C TITLE "+cTitle
run &comando
Neste exemplo, não use o RUN substitua por outro comando da linguagem que voce utiliza para executar comandos externos e ve se da certo. Eu fiz um teste com o RUN e so me permitiu que o valor do espaço fosse ate 48. Fiz o teste pelo prompt de comando e nesse caso permitiu ate 222 caracteres. Teste ai.

Abraços.
Clipper 5.2e / Blinker 5.1 / Harbour 3.2 / GTwvg
Abel
Usuário Nível 3
Usuário Nível 3
Mensagens: 332
Registrado em: 14 Mar 2012 13:16
Localização: sao paulo / sp

nome do programa na barra de titulos

Mensagem por Abel »

Perfeito Andril, a questao é realmente esta, como saber o tamanho da janela em caracteres ja que a barra azul da janela pode ser redimensionada, e mesmo que eu travasse o "estica e encolhe da janela com o mouse", como eu faco para saber quantos caracteres cabe na barra de titulo da janela.

sua dica usando padl foi interessante, pois eu nunca usei este comando.

valeu,
ABEL
Avatar do usuário
ANDRIL
Usuário Nível 5
Usuário Nível 5
Mensagens: 1299
Registrado em: 06 Jul 2004 00:44
Contato:

nome do programa na barra de titulos

Mensagem por ANDRIL »

Abel escreveu:como eu faco para saber quantos caracteres cabe na barra de titulo da janela
É... essa é uma outra conversa. Usa modo gráfico ou console? Se for console, voce deve medir quantos caracteres cabem ate atingir o máximo para ter uma noção. Quanto ao redimencionamento da janela com mouse, o nome sera encurtado monstrado "...". A fonte da barra da janela não é regular (como a Courier) entao cada caracter tem um tamanho diferente, pense nisso também.
Boa sorte.
Clipper 5.2e / Blinker 5.1 / Harbour 3.2 / GTwvg
Abel
Usuário Nível 3
Usuário Nível 3
Mensagens: 332
Registrado em: 14 Mar 2012 13:16
Localização: sao paulo / sp

nome do programa na barra de titulos

Mensagem por Abel »

a programa esta procedural, clipper compilado pelo harbour, mas estou usando -gui e a lib gtwvt

andei procurando se existe uma forma de descobrir o tamanho da barra de titulo ou um comando para exibir
da direita para a esquerda, mas nao localizei.

Abel
Avatar do usuário
Jairo Maia
Moderador
Moderador
Mensagens: 2785
Registrado em: 16 Ago 2010 13:46
Localização: Campinas-SP

nome do programa na barra de titulos

Mensagem por Jairo Maia »

Olá Abel,

Veja se isso ajuda:

Código: Selecionar todos

nScreenWidt := HB_GtInfo( HB_GTI_SCREENWIDTH, Nil )
nScreenHeight := HB_GtInfo( HB_GTI_SCREENHEIGHT, Nil )

? nScreenWidt
? nScreenHeight
Abraços, Jairo
Harbour / Clipper 5.2e - Blinker 7
(Não respondo dúvidas por MP ou E-mail. Por favor, não encaminhe via mensagem privada ou e-mail, dúvidas que podem ser compartilhadas com todos no fórum)
Abel
Usuário Nível 3
Usuário Nível 3
Mensagens: 332
Registrado em: 14 Mar 2012 13:16
Localização: sao paulo / sp

nome do programa na barra de titulos

Mensagem por Abel »

Jairo, este comando me devolveu o tamanho da janela 880 x 560 ,
mas como vou calcular quantos caracteres podem ser colocados na barra de titulo para poder colocar a data no canto direito.. ?

vc sabe se pode-se fazer alguma conta ?

Abracos,
ABEL
Avatar do usuário
Jairo Maia
Moderador
Moderador
Mensagens: 2785
Registrado em: 16 Ago 2010 13:46
Localização: Campinas-SP

nome do programa na barra de titulos

Mensagem por Jairo Maia »

Olá Abel,

Por tentativa e erro cheguei neste exemplo. Acho que pode melhorar, veja se ajuda para seu objetivo:

Para compilar use HBMK2 <exemplo> -lxhb

Código: Selecionar todos

#include "hbgtinfo.ch"

REQUEST HB_GT_WVT_DEFAULT

REQUEST HB_LANG_PT
REQUEST HB_CODEPAGE_PT850

Function Main()
 Local nKey, nRowMax := MaxRow(), nColMax := MaxCol()
 Priv xFontName, xFontSize, xFontWidth

 HB_SETCODEPAGE('PT850')
 HB_LANGSELECT('PT')

 SET CENTURY ON
 SET DATE BRIT

 xFontName := "Lucida Console"
 xFontSize := 19
 xFontWidth := 8

 HB_GtInfo( HB_GTI_FONTNAME, xFontName )
 HB_GtInfo( HB_GTI_FONTWIDTH, xFontWidth )
 HB_GtInfo( HB_GTI_FONTSIZE, xFontSize )

 WHIL LastKey() != 27
  SetColor( "GR+/N" )
  DispBox( 0, 0, nRowMax, nColMax, Nil )

  @ 10, 25 Say "Pressione ( + ) Para Aumentar"
  @ 12, 25 Say "Pressione ( - ) Para Diminuir"
  nKey := Inkey( 0 )

  If nKey = Asc( "+" )
   xFontSize += If( xFontSize = 26, 0, 1 )
  ElseIf nKey = Asc( "-" )
   xFontSize -= If( xFontSize = 10, 0, 1 )
  Else
   Loop
  EndiF

  xFontWidth := Int( xFontSize / 2 ) - 1

  HB_GtInfo( HB_GTI_FONTWIDTH, xFontWidth )
  HB_GtInfo( HB_GTI_FONTSIZE, xFontSize )

  nTelaWidth := HB_GtInfo( HB_GTI_SCREENWIDTH )

  @ 08, 26 Say "Tamanho Atual da Tela = "+LTrim( Str( nTelaWidth ) )
  
  cData := DToC( Date() )
  cTitulo := "Teste de Título na Janela e Data"
  
  nQtdChr := Int( nTelaWidth * 0.20 )
  nQtdChr -= ( ( Len( cTitulo ) + Len( cTitulo ) / 2 ) + 2 )

  If nTelaWidth > 900
   nQtdChr += Int( nTelaWidth * 0.015 )
  ElseIf nTelaWidth >= 800
   nQtdChr += Int( nTelaWidth * 0.01 )
  ElseIf nTelaWidth = 720
   nQtdChr += Int( nTelaWidth * 0.005 )
  ElseIf nTelaWidth > 720
   nQtdChr += Int( nTelaWidth * 0.01 )
  ElseIf nTelaWidth > 640
   nQtdChr += Int( nTelaWidth * 0.02 )
  ElseIf nTelaWidth = 400
   nQtdChr -= Int( nTelaWidth * 0.03 )
  ElseIf nTelaWidth < 400
   nQtdChr -= Int( nTelaWidth * 0.05 )
  ElseIf nTelaWidth < 560
   nQtdChr -= Int( nTelaWidth * 0.02 )
  ElseIf nTelaWidth = 640
   nQtdChr := nQtdChr  // nada faz
  ElseIf nTelaWidth < 640
   nQtdChr -= Int( nTelaWidth * 0.01 )
  ElseIf nTelaWidth < 720
   nQtdChr -= Int( nTelaWidth * 0.02 )
  Endi

  cTitulo := cTitulo + PadL( cData, nQtdChr )
  HB_GtInfo( HB_GTI_WINTITLE, cTitulo )

 ENDD

Return
Abraços, Jairo
Harbour / Clipper 5.2e - Blinker 7
(Não respondo dúvidas por MP ou E-mail. Por favor, não encaminhe via mensagem privada ou e-mail, dúvidas que podem ser compartilhadas com todos no fórum)
Responder