Cómo establecer una imagen de fondo para Editar (Delphi)
-
30-09-2019 - |
Pregunta
¿Cómo puedo tener una imagen para el fondo de cuadro de edición?
Solución
Esto es muy posible, por cierto. En su formulario, definir
private
{ Private declarations }
FBitmap: TBitmap;
FBrush: HBRUSH;
protected
procedure WndProc(var Message: TMessage); override;
y hacer
procedure TForm1.FormCreate(Sender: TObject);
begin
FBitmap := TBitmap.Create;
FBitmap.LoadFromFile('C:\Users\Andreas Rejbrand\Pictures\AS20Utv.bmp');
FBrush := 0;
FBrush := CreatePatternBrush(FBitmap.Handle);
end;
y
procedure TForm1.WndProc(var Message: TMessage);
begin
inherited;
case Message.Msg of
WM_CTLCOLOREDIT, WM_CTLCOLORSTATIC:
if (Message.LParam = Edit1.Handle) and (FBrush <> 0) then
begin
SetBkMode(Message.WParam, TRANSPARENT);
Message.Result := FBrush;
end;
end;
end;
Por supuesto que puede terminar con esto en un componente de su cuenta, por ejemplo TEditEx
. Si me da tiempo a lo largo, que podría hacer esto. (Y, aviso que no hay necesidad de comprar un costoso (y tal vez no tan alta calidad) paquete de componentes de una empresa de terceros.)
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow