Подскажите компонент типа TEdit со скруглёнными углами.
Или как у обычного TEdit скруглить углы не гася у него "BorderStyle"...
Модератор: Модераторы
wadman писал(а):Сделать наследника со своим методом прорисовки.
Vadim писал(а):Я думал, может кто-то уже сделал...
Vadim писал(а):Я пока остановился на "составном" варианте - обычный TEdit без рамки, а вокруг скуглённый TShape как рамка...
unit Unit1;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, Forms, Controls, Graphics, Dialogs, StdCtrls, ExtCtrls,
Buttons;
type
{ TForm1 }
TForm1 = class(TForm)
Edit1: TEdit;
procedure Edit1Change(Sender: TObject);
private
public
Procedure DrawEdit (AControl: TWinControl);
end;
var
Form1: TForm1;
implementation
{$R *.lfm}
{ TForm1 }
procedure TForm1.FormActivate(Sender: TObject);
begin
Form1.DrawEdit(Edit1);
end;
procedure TForm1.DrawEdit(AControl: TWinControl);
Var
ABitmap: Graphics.TBitmap;// окно
Rect:TRect;
begin
ABitmap := Graphics.TBitmap.Create;
ABitmap.Monochrome :={ True; //}False;
ABitmap.Width := AControl.Width;
ABitmap.Height := AControl.Height;
Rect.Create(0 ,0, ABitmap.Width, ABitmap.Height);
with ABitmap.Canvas do
begin
Brush.Color := clBlack; // transparent color
FillRect(0, 0, ABitmap.Width, ABitmap.Height);
Brush.Color := clWhite; // mask color
RoundRect(Rect,20,20)//цифры величина закругления
end;
AControl.SetShape(ABitmap);
ABitmap.Free;
end;
end.
Лекс Айрин писал(а):вот ссылка
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 123