Fórum problemas com HINT .. como resolver? #209123
24/01/2004
0
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
Curtir tópico
+ 0Posts
24/01/2004
Carlosrm
vc está querendo exibir um hint em mais de uma linha, é isso ?
carlosrm
Gostei + 0
24/01/2004
Salsa
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
24/01/2004
Wolverine
procedure TForm1.Button1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
StatusBar1.Panels[0].Text:=´|OK|´
end;
Gostei + 0
24/01/2004
Cebikyn
Gostei + 0
24/01/2004
Salsa
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
24/01/2004
Salsa
entao nao tem como mostrar um hint em um botao assim ´ |_aaa_| ?
Gostei + 0
24/01/2004
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
25/01/2004
Salsa
Gostei + 0
25/01/2004
Beppe
Gostei + 0
25/01/2004
Beppe
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
25/01/2004
Wolverine
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]
Gostei + 0
25/01/2004
Wolverine
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
25/01/2004
Salsa
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
Clique aqui para fazer login e interagir na Comunidade :)