Fórum Arredonadar cantos de componentes #478970
14/05/2014
0
Usei esta procedure do amigo Diego Garcia
procedure ArredondarComponente(Componente: TWinControl; const Radius: SmallInt);
var
R : TRect;
Rgn : HRGN;
begin
with Componente do
begin
R := ClientRect;
Rgn := CreateRoundRectRgn(R.Left, R.Top, R.Right, R.Bottom, Radius, Radius);
Perform(EM_GETRECT, 0, lParam(@R));
InflateRect(R, -5, -5);
Perform(EM_SETRECTNP, 0, lParam(@R));
SetWindowRgn(Handle, Rgn, True);
Invalidate;
end;
end;
procedure TfrmPrincipal.Button1Click(Sender: TObject);
begin
ArredondarComponente(Edit1,10);
end;
mas me aconteceu o seguinte problema apos chamar a procedure meu edit nao recebe mais foco, e preciso que ele receba o foco pois vai receber dados
alguem poderia me ajudar ?
procedure ArredondarComponente(Componente: TWinControl; const Radius: SmallInt);
var
R : TRect;
Rgn : HRGN;
begin
with Componente do
begin
R := ClientRect;
Rgn := CreateRoundRectRgn(R.Left, R.Top, R.Right, R.Bottom, Radius, Radius);
Perform(EM_GETRECT, 0, lParam(@R));
InflateRect(R, -5, -5);
Perform(EM_SETRECTNP, 0, lParam(@R));
SetWindowRgn(Handle, Rgn, True);
Invalidate;
end;
end;
procedure TfrmPrincipal.Button1Click(Sender: TObject);
begin
ArredondarComponente(Edit1,10);
end;
mas me aconteceu o seguinte problema apos chamar a procedure meu edit nao recebe mais foco, e preciso que ele receba o foco pois vai receber dados
alguem poderia me ajudar ?
Volmir Santos
Curtir tópico
+ 0
Responder
Posts
15/05/2014
Mauricio Rodrigues
Fiz o teste aqui, e recebe o focus normalmente tanto como .setfocus como usando tecla tab.
Responder
Gostei + 0
15/05/2014
Volmir Santos
descobri que era o alinhamento do texto no edit pois coloquei pra alinhar a esquerda ai nao recebe foco se colocar pra alinhar a direita pu ao centro ai funciona normal
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)