Statusbar
10/12/2003
0
Como eu faço pra quando o cara passar o mouse na frente do botao ele escrever na statusbar ( ´incluir novo registro´ ) e logo apos ele sair de cima daquele botao ficar em branco ?
me ajudem... sou novato eu estou aprendendo delphi na faculdade e nem tudo eles ensinam...
aproveitando alguem tem um exemplo de progressbar ???
quem puder me ajudar eu agradesco
abraços
Fernando Cunha
Fcunha
Posts
10/12/2003
Paulo
No Evento OnMouseMove digite:
begn
if (X > 1) and (X<73) and (Y>1) and (Y<22) then begin
statusbar1.Panels[0].Text:=btEnviar.Hint
end else
statusbar1.Panels[0].Text:=´´
end;
Lembrando que X e Y são os limites do botão em pixels. X representa a propriedade Width e Y a Heigth. Caso o tamanho do botão foi alterado, veja os limites X e Y dele e mãos a obra. Se tiver dificuldades para saber o limite X e Y, coloque dois labels e e no evento OnMove do botão, vai passando o mouse Lateralmente(X) e Verticalmente(Y) e descubra nos labels os valores. Quando parar de contar, é porque vc ta fora do botão(limite). Eis os códigos dos labels dentro do OnMove.
label1.caption:=inttostr(X);
label2.caption:=inttostr(Y);
11/12/2003
Cebikyn
Basta configurar a propriedade ´Hint´ de um componente (o botão, no caso), com o texto desejado, depois no ObjectInspector, configure a StatusBar:
SimplePanel := true; // Opcional
AutoHint := true;
Não é necessário qualquer outro código.
11/12/2003
Fcunha
:D
e o lance de uma progressbar ? alguem teria um exemplo ?
valeus
pois eu queria depois colocar assim:
enquanto o select alimenta uma tabela ... ele vai passando uma progress ate terminar o select.
e depois da mensagem de importado com sucesso
11/12/2003
Pedro Bugim
- Coloque uma StatusBar no Form e adicione dois paineis à mesma;
- Ajuste as propriedades do primeiro painel:
Style = psOwnerDraw
Width = 150
- Coloque uma ProgressBar no Form e mude sua propriedade visible pra false;
- No evento OnDrawPanel da StatusBar digite o código:
procedure TForm1.StatusBar1DrawPanel(StatusBar: TStatusBar;
Panel: TStatusPanel; const Rect: TRect);
begin
if panel.Index = 0 then
begin
ProgressBar1.Width:= Rect.Right - Rect.Left + 1;
ProgressBar1.Height:= Rect.Botton - Rect.Top + 1;
ProgressBar1.PaintTo(StatusBar.anves.Handle, Rect.Left, Rect.Top);
end;
end;
- Coloque um Button no Form;
- Digite no evento OnClick do Button o código:
Procedure TForm1.Button1Click(Sender: TObject);
var
I: integer;
begin
for I:=progressBar1.Min to ProgressBar1.Max do
begin
ProgressBar1.position:= I;
StatusBar1.Repaint;
Sleep(50); //Aguarda 50 milisegundos
end;
Sleep(500);
ProgressBar1.Position:=ProgressBar1.Min;
StatusBar1.Repaint;
end;
- Execute e clique no botão para ver o resultado!
Espero que este código lhe seja útil!
Abraços,
11/12/2003
Pedro Bugim
No evento OnMouseMove do Button, digite o código:
statusbar1.panels[0].text:=´Texto a ser mostrado´;
{Isso mostrará o texto na StatusBar oa passar com o mouse por ele}
Para que este texto suma ao sair com o mouse do Button, digite no evento OnMouseMove do Form (ou do componente no qual se encontra o Button), o código:
statusbar1.panels[0].text:=´´;
Blz?!
Abraços,
12/12/2003
Cebikyn
Vc leu minha resposta? Se não leu, leia, não tem forma mais simples que aquela (usando recursos do próprio Delphi).
15/12/2003
Pedro Bugim
Valeu!
Clique aqui para fazer login e interagir na Comunidade :)