firemonkey EDit 改变颜色

PS:本来不应该有多难,结果折腾了半天,

firemonkey EDit  Canvas 按需绘颜色

procedure TForm.EditPaint(Sender: TObject; Canvas: TCanvas;
const ARect: TRectF);
var
ARect1: TRectF;
begin
//绘制颜色
(Sender as TEdit).BeginUpdate;
ARect1:=ARect;
ARect1.Left:=1;
ARect1.Top:=1;
ARect1.Bottom:=ARect.Bottom-1;
ARect1.Right:=ARect.Right-1; if (Sender as TEdit).Text= ((Sender as TEdit).Hint) then
begin
Canvas.Fill.Kind := TBrushKind.Solid;
Canvas.Fill.Color := TAlphaColorRec.Blue;
Canvas.FillRect(ARect1, 0, 0, [], 1);
(Sender as TEdit ).FontColor:=TAlphaColorRec.red;
end
else
begin
// Canvas.Fill.Kind := TBrushKind.Solid;
Canvas.Fill.Color := TAlphaColorRec.Red;
Canvas.FillRect(ARect1, 0, 0, [], 1);
(Sender as TEdit ).FontColor:=TAlphaColorRec.blue;
end; Canvas.Fill.Color := TAlphaColorRec.Black;
Canvas.Font.Size:=12;
Canvas.FillText(ARect1, (Sender as tedit).Text, false,1, [], TTextAlign.Center, TTextAlign.Center);
(Sender as TEdit).EndUpdate;
end;

  

上一篇:理解go的闭包


下一篇:混淆器:java程序保护如何知识产权,特别提供一个java 开发的java 源代码级的混淆器