![]() |
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:
![]() |
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... |
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): |
Re: Transparenz? Richedit,listbox, edit
btw: die transparent menge ist egal, hauptsache es scheint irgendwie durch
|
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... |
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?
|
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 |
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);
|
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:
Die einzelnen Items mittels Owner-Draw anpassen
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; |
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