Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Transparenz? Richedit,listbox, edit (https://www.delphipraxis.net/7334-transparenz-richedit-listbox-edit.html)

Pseudemys Nelsoni 9. Aug 2003 16:46


Transparenz? Richedit,listbox, edit
 
hi, ich hatte zwar schonmal solchnen thread offen, aber komplett geholfen hats nicht also ich habe eine Form wo man nur das Hintergrundbild sieht, also formstyle clnone...aber wie kriege ich die komponenten (siehe topic) transparent? ich zeig nochmal das bild als beispiel:

http://www.angelfire.com/bug/delphi/ts.jpg

alcaeus 11. Aug 2003 12:47

Re: Transparenz? Richedit,listbox, edit
 
Es gibt mehrere Fragen die zuerst beantwortet werden müssen:
1. was genau willst du transparent haben? Die Listen sehen nämlich schon halb-transparent aus.
2. Sollen die Komponenten ganz oder nur halb-transparent sein?

Wenn du diese Fragen beantworten könntest, kann ich weitersehen...

Pseudemys Nelsoni 11. Aug 2003 13:39

Re: Transparenz? Richedit,listbox, edit
 
Liste der Anhänge anzeigen (Anzahl: 1)
moin

die listen sehen deshalb so aus, da es der original spiel chat von Tiberian Sun ist ;)...leider wurde der chat deaktiviert und ich mache nun ein für die ts leute... der funzt zwar auch schon aber bei mir scheint das hintergrundbild eben nicht durch die edits etc, siehe hier(Bild im Anhang):

Pseudemys Nelsoni 11. Aug 2003 13:40

Re: Transparenz? Richedit,listbox, edit
 
btw: die transparent menge ist egal, hauptsache es scheint irgendwie durch

alcaeus 11. Aug 2003 13:44

Re: Transparenz? Richedit,listbox, edit
 
aha,ok, ich habe mir schon gedacht wieso du was fragst wenn es ja schon geht... also, so auf die schnelle weiß ich nicht wie du eine liste transparent machen könntest, aber es gibt andere Lösungsansätze:
1. Du programmierst eine Komponente, um der du dich ums Zeichnen kümmerst.
2. Du verwendest die TWebBrowser-Komponente und legs das alles in einer HTML-Datei ab. Dann schneidest du diesen Teil als Bild aus, und fügst ihn mit CSS in di HTML-Datei ein. Natürlich sind dann HTML, JS und CSS-Kenntnisse notwendig, aber da lässt sich schon was machen falls du interessiert bist...

Pseudemys Nelsoni 11. Aug 2003 13:51

Re: Transparenz? Richedit,listbox, edit
 
HTML/CSS hab ich leider keinen funken ahnung, wäre es auch mögliche mit canvas drüber zu zeichnen?

neolithos 11. Aug 2003 13:52

Re: Transparenz? Richedit,listbox, edit
 
Schon mal daran gedacht den Control-Hintergrund selbst zu Zeichnen?

via der Windows-Nachricht WM_ERASEBKGND

Dazu müsstest du jedes Control über WindowProc Hooken oder gleich ableiten.

genaures falls Interesse

alcaeus 11. Aug 2003 14:03

Re: Transparenz? Richedit,listbox, edit
 
Mit Canvas was zeichnen dürfte gehen, du kannst es ja mal probieren, nimm einfach in JPG und lade es in den Canvas der Liste.. (z.B.
Code:
ListBox1.Canvas.Draw(Bitmap1);

neolithos 11. Aug 2003 14:13

Re: Transparenz? Richedit,listbox, edit
 
Im Paint solche Aktionen zu starten wird ein häßliches Flackern starten.

Am Flackerfreisten und elegantesten ist diese Methode für den Hintergrund:

Delphi-Quellcode:
  procedure WM_EraseBkGnd(var Message : TWMEraseBkgnd); message WM_ERASEBKGND;


procedure T???.WMEraseBkGnd(var Message: TWMEraseBkgnd);
begin
  with Message do
    begin
      BitBlt(hDC, ??????); // Bitmap reinkopieren
      // oder mittels AlphaBlend-effect
      Result := 1; // Hintergrund gezeichnet!
    end;
end;
Die einzelnen Items mittels Owner-Draw anpassen


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:49 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz