Statusbar
Boa Tarde,
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
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
Curtidas 0
Respostas
Paulo
10/12/2003
Eu faço asim e dá certo:
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);
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);
GOSTEI 0
Cebikyn
10/12/2003
A StatusBar faz isso automaticamente (em versões antigas do Delphi, este recurso não existe):
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.
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.
GOSTEI 0
Fcunha
10/12/2003
obrigado por respoder....
: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
: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
GOSTEI 0
Pedro Bugim
10/12/2003
Para colocar um ProgressBar dentro de uma StatusBar, tente o seguinte:
- 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,
- 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,
GOSTEI 0
Pedro Bugim
10/12/2003
Já no caso da StatusBar, faço de uma forma bem simples...
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,
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,
GOSTEI 0
Cebikyn
10/12/2003
[quote:e467cfc28b=´Pedro Bugim´]Já no caso da StatusBar, faço de uma forma bem simples...[/quote:e467cfc28b]
Vc leu minha resposta? Se não leu, leia, não tem forma mais simples que aquela (usando recursos do próprio Delphi).
Vc leu minha resposta? Se não leu, leia, não tem forma mais simples que aquela (usando recursos do próprio Delphi).
GOSTEI 0
Pedro Bugim
10/12/2003
Pode crêr! Não tinha tentado desse jeito ainda, e, de fato é bem mais simplório!
Valeu!
Valeu!
GOSTEI 0