Pintar parte de um Edit
Alguem sabe se é possível eu pintar parte do fundo de um component TEdit de uma cor e o restante de outra cor? Quando uso TEdit.color ele
pinta para todo o componente, mas gostaria de fazer isso somente em parte do edit...
Agradeço por sugestões
pinta para todo o componente, mas gostaria de fazer isso somente em parte do edit...
Agradeço por sugestões
Mcd
Curtidas 0
Respostas
Edilcimar
13/05/2005
que eu saiba só aceita 1 cor, mas você pode tentar utilizando Canvas e TRect para pintar pixel por pixel
GOSTEI 0
Andcarpi
13/05/2005
Bom amigo ..
tentei verificar pra vc se conseguia fazer tal procedimento, mas o componente Edit não possui a propriedade Canvas, portanto fica meio dificil (acho q impossivel, mais nao vou afirmar)... caso vc consiga um componente edit alternativo, que contenha a propriedade canvas, ai sim fica bem mais facil....
tentei verificar pra vc se conseguia fazer tal procedimento, mas o componente Edit não possui a propriedade Canvas, portanto fica meio dificil (acho q impossivel, mais nao vou afirmar)... caso vc consiga um componente edit alternativo, que contenha a propriedade canvas, ai sim fica bem mais facil....
GOSTEI 0
Mcd
13/05/2005
Consegui... Se alguem precisar segue o código abaixo
var
fCanvas: TControlCanvas;
iLin, iCol: integer;
begin
fCanvas:= TControlCanvas.Create;
try
fCanvas.Control:= Edit1;
fCanvas.Brush.Color:= clRed;
fCanvas.Pen.Color:= clgreen;
for iLin:=0 to Edit1.Height do
for iCol:=0 to trunc((Edit1.Width / 2)) do
if fCanvas.Pixels[iCol,iLin] = clWhite then
fCanvas.Pixels[iCol,iLin]:= clGray;
finally
fCanvas.Free;
end;
var
fCanvas: TControlCanvas;
iLin, iCol: integer;
begin
fCanvas:= TControlCanvas.Create;
try
fCanvas.Control:= Edit1;
fCanvas.Brush.Color:= clRed;
fCanvas.Pen.Color:= clgreen;
for iLin:=0 to Edit1.Height do
for iCol:=0 to trunc((Edit1.Width / 2)) do
if fCanvas.Pixels[iCol,iLin] = clWhite then
fCanvas.Pixels[iCol,iLin]:= clGray;
finally
fCanvas.Free;
end;
GOSTEI 0