problemas com HINT .. como resolver?
alguem sabe como resolver problemas com hint do tipo
eu quero por um hint com o caracter ´ | ´ (#124) ... e talz ...
mas nao funciona .... alguem tem ideia de como fazer isso funcionar corretamente ... valeuz ..
[]s :wink:
eu quero por um hint com o caracter ´ | ´ (#124) ... e talz ...
mas nao funciona .... alguem tem ideia de como fazer isso funcionar corretamente ... valeuz ..
[]s :wink:
Salsa
Curtidas 0
Respostas
Carlosrm
24/01/2004
salsa,
vc está querendo exibir um hint em mais de uma linha, é isso ?
carlosrm
vc está querendo exibir um hint em mais de uma linha, é isso ?
carlosrm
GOSTEI 0
Salsa
24/01/2004
nao .. eu quero exibir o caracter ´|´ (#124)
no hint ... mais nao consigo por causa q ele usa a barra pra algo ...
queria saber se alguem conhece algum jeito de fazer isso!
no hint ... mais nao consigo por causa q ele usa a barra pra algo ...
queria saber se alguem conhece algum jeito de fazer isso!
GOSTEI 0
Wolverine
24/01/2004
:lol:
procedure TForm1.Button1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
StatusBar1.Panels[0].Text:=´|OK|´
end;
procedure TForm1.Button1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
StatusBar1.Panels[0].Text:=´|OK|´
end;
GOSTEI 0
Cebikyn
24/01/2004
Essa barra, é usada para separ o hint curto do longo. O hint curto é aquele que aparece qnd vc deixa o mouse por cima do componente, o longo é o que aparece no StatusBar (se não há barra, ambos são iguais). Logo, este caractere só pode ser mostrado no hint longo.
GOSTEI 0
Salsa
24/01/2004
:lol:
procedure TForm1.Button1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
StatusBar1.Panels[0].Text:=´|OK|´
end;
nao entendi oq a status bar tem a ver com mostrar o hint com a | (barra)
c vc adicionar hum hint assim num botao: |_aaaa_|
ele nao aparece
GOSTEI 0
Salsa
24/01/2004
Essa barra, é usada para separ o hint curto do longo. O hint curto é aquele que aparece qnd vc deixa o mouse por cima do componente, o longo é o que aparece no StatusBar (se não há barra, ambos são iguais). Logo, este caractere só pode ser mostrado no hint longo.
entao nao tem como mostrar um hint em um botao assim ´ |_aaa_| ?
GOSTEI 0
Carlosrm
24/01/2004
salsa,
se essa opção ajudar, ótimo. Se não, faz de conta que eu não postei nada.
troque o código ascii para 166. Em vez de uma barra vertical, aparecerão duas semi-barras verticais, uma em cima da outra, semelhante ao sinal de dois pontos.
button3.Hint := #166+´_aaa_´+166;
carlosrm
se essa opção ajudar, ótimo. Se não, faz de conta que eu não postei nada.
troque o código ascii para 166. Em vez de uma barra vertical, aparecerão duas semi-barras verticais, uma em cima da outra, semelhante ao sinal de dois pontos.
button3.Hint := #166+´_aaa_´+166;
carlosrm
GOSTEI 0
Salsa
24/01/2004
po cara valeuz ... masss nao tem jeito ... eu preciso colocar a barra no hint ... mass valeuz pela atençao ae! :wink:
GOSTEI 0
Beppe
24/01/2004
Pode-se criar um descendente de THintWindow que faça isso. O THintWindow normal pega a mensagem a ser exibida com GetShortHint, então é só usar o hint inteiro.
GOSTEI 0
Beppe
24/01/2004
Achei uma solução menos problemática. Só coloque um TApplicationEvents no form, crie um manipulador para o OnShowHint:
function GetHint(Control: TControl): String; begin while Control <> nil do begin Result := Control.Hint; if Result = ´´ then Control := Control.Parent else Exit; end; Result := ´´; end; procedure TForm1.ApplicationEvents1ShowHint(var HintStr: String; var CanShow: Boolean; var HintInfo: THintInfo); begin HintStr := GetHint(HintInfo.HintControl); end;
GOSTEI 0
Wolverine
24/01/2004
ñ, ñ aparece, coloque no hint | e ñ apareceu no status bar status bar, porem depois q eu fiz isso
StatusBar1.Panels[0].Text:= ´|´
ele aparaceu
nao entendi oq a status bar tem a ver com mostrar o hint com a | (barra)
c vc adicionar hum hint assim num botao: |_aaaa_|
ele nao aparece[/quote:24440ab817]
StatusBar1.Panels[0].Text:= ´|´
ele aparaceu
[quote:24440ab817=´Wolverine´]:lol:
procedure TForm1.Button1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
StatusBar1.Panels[0].Text:=´|OK|´
end;
nao entendi oq a status bar tem a ver com mostrar o hint com a | (barra)
c vc adicionar hum hint assim num botao: |_aaaa_|
ele nao aparece[/quote:24440ab817]
GOSTEI 0
Wolverine
24/01/2004
Isso foi retirado das 800 dias do Delphi
316 - Criando uma barra de status
Para criar uma barra de status realmente útil, primeiramente coloque um componente TStatusBar (que está na paleta Win32) no seu form (vou explicar completo porque vários programadores não o conhecem e usam Panels para isso). Clique com o botão direito no StatusBar1 e escolha Panels Editor. Clique Add e pronto (se quiser colocar mais divisões - para colocar um relógio, por exemplo, é só clicar Add mais vezes).
Apesar de muitos colocarem mensagens em StatusBars no evento OnMouseMove dos componentes, o melhor modo que eu conheço para isso é usando Hints. Primeiramente altere a propriedade ShowHint para True. Depois digite o que vai aparecer no seguinte formato:
Texto que vai aparecer junto ao mouse|Texto que vai aparecer no StatusBar (onde | é Shift + \).
Nota:
* No texto que aparecer junto ao mouse, coloque uma frase pequena (ex: Imprimir). No texto que vai aparecer no StatusBar, coloque um texto mais explicativo (ex: Imprimir o relatório de vendas do mês atual).
[b:a57037cf41]* Caso você queira que não apareça nenhum texto junto ao mouse (ou seja, só no StatusBar), cuide para que o primeiro caracter de Hint seja o caracter ´|´ (sem aspas). [/b:a57037cf41]
No evento OnCreate do form, coloque o seguinte comando:
Application.OnHint := ShowHint;
Crie uma procedure na seção private do form a procedure ShowHint. Na seção implementation, coloque:
procedure TForm1.ShowHint(Sender: TObject);
begin
StatusBar1.Panels[0].Text := GetLongHint (Application.Hint);
end;
E pronto.
316 - Criando uma barra de status
Para criar uma barra de status realmente útil, primeiramente coloque um componente TStatusBar (que está na paleta Win32) no seu form (vou explicar completo porque vários programadores não o conhecem e usam Panels para isso). Clique com o botão direito no StatusBar1 e escolha Panels Editor. Clique Add e pronto (se quiser colocar mais divisões - para colocar um relógio, por exemplo, é só clicar Add mais vezes).
Apesar de muitos colocarem mensagens em StatusBars no evento OnMouseMove dos componentes, o melhor modo que eu conheço para isso é usando Hints. Primeiramente altere a propriedade ShowHint para True. Depois digite o que vai aparecer no seguinte formato:
Texto que vai aparecer junto ao mouse|Texto que vai aparecer no StatusBar (onde | é Shift + \).
Nota:
* No texto que aparecer junto ao mouse, coloque uma frase pequena (ex: Imprimir). No texto que vai aparecer no StatusBar, coloque um texto mais explicativo (ex: Imprimir o relatório de vendas do mês atual).
[b:a57037cf41]* Caso você queira que não apareça nenhum texto junto ao mouse (ou seja, só no StatusBar), cuide para que o primeiro caracter de Hint seja o caracter ´|´ (sem aspas). [/b:a57037cf41]
No evento OnCreate do form, coloque o seguinte comando:
Application.OnHint := ShowHint;
Crie uma procedure na seção private do form a procedure ShowHint. Na seção implementation, coloque:
procedure TForm1.ShowHint(Sender: TObject);
begin
StatusBar1.Panels[0].Text := GetLongHint (Application.Hint);
end;
E pronto.
GOSTEI 0
Salsa
24/01/2004
Achei uma solução menos problemática. Só coloque um TApplicationEvents no form, crie um manipulador para o OnShowHint:
function GetHint(Control: TControl): String; begin while Control <> nil do begin Result := Control.Hint; if Result = ´´ then Control := Control.Parent else Exit; end; Result := ´´; end; procedure TForm1.ApplicationEvents1ShowHint(var HintStr: String; var CanShow: Boolean; var HintInfo: THintInfo); begin HintStr := GetHint(HintInfo.HintControl); end;
mto obrigado ... a sua soluçao foi perfeita .... []s :D
GOSTEI 0