Arredonadar cantos de componentes

Delphi

14/05/2014

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 ?
Volmir Santos

Volmir Santos

Curtidas 0

Respostas

Mauricio Rodrigues

Mauricio Rodrigues

14/05/2014

Fiz o teste aqui, e recebe o focus normalmente tanto como .setfocus como usando tecla tab.
GOSTEI 0
Volmir Santos

Volmir Santos

14/05/2014

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
GOSTEI 0
POSTAR