Frage

Wie kann ich ein Bild für Editbox Hintergrund?

War es hilfreich?

Lösung

Das ist sehr gut möglich, in der Tat. In dem Formular definieren

private
  { Private declarations }
  FBitmap: TBitmap;
  FBrush: HBRUSH;
protected
  procedure WndProc(var Message: TMessage); override;      

und tun

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;

und

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;

Natürlich können Sie diese in eine Komponente des eigenen, sagen wir TEditEx wickeln. Wenn ich Zeit über, ich könnte dies tun. (Beachtet, dass es keine Notwendigkeit, eine teuer zu kaufen (und vielleicht auch nicht, dass qualitativ hochwertige) -Komponente Pack von einer Drittfirma.)

Custom bearbeiten Hintergrund ??

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top