Einzelnen Beitrag anzeigen

Benutzerbild von Yogu
Yogu

Registriert seit: 10. Jan 2008
15 Beiträge
 
Turbo Delphi für Win32
 
#16

Re: Halb-durchsichtiges Panel?

  Alt 11. Apr 2009, 23:32
Mist. Daran hab ich nicht gedacht.
Zitat von PeterPanino:
Wieso wird denn nun die PaintBox hinter dem Edit gezeichnet?
Weil die PaintBox ein GraphicControl ist, und das Edit ein WinControl. Anders ist es leider nicht möglich, einen Transparenteffekt zu erzeugen.

Du kannst mit der PaintBox zum Beispiel ein Image verschleiern, oder ein Label. Aber so gut wie alles andere geht nicht. Du könntest die Methode Paint des Formulars überschreiben:

Delphi-Quellcode:
procedure TForm1.Paint;
begin
  inherited Paint;
  { ... }
end;
Im Platzhalter fügst du nun den Kariert-Code ein und änderst noch "0", "0" (die beiden Initialisierungswerte), "PaintBox1.Width" und "PaintBox1.Height" in die absoluten Koordinaten des Schleiers (siehe ClientToScreen). Ich hoffe jedenfalls, dass das klappt.

Wenn du noch fragen zu einzelnen Punkten haben, stell sie einfach

Grüße,
Yogu

Edit:
Zitat von lbccaleb:
kannst du die paintbox nicht einfach auf ein panel setzen?
Dann ist sie aber nicht mehr transparent bzw. wendet die Transparenz nur auf das Panel an
Yogu
  Mit Zitat antworten Zitat