Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi nonvcl listbox bsclear (https://www.delphipraxis.net/128490-nonvcl-listbox-bsclear.html)

EWeiss 30. Jan 2009 18:16


nonvcl listbox bsclear
 
Liste der Anhänge anzeigen (Anzahl: 1)
Welche variable (Flag) kann ich bei nonvcl Listbox übergeben um
einen ausgewählten Eintrag transparent zu bekommen.

Normal ist es ja ...canvas.Brush.Style := bsClear
Ich verwende
Delphi-Quellcode:
Brush:   hBrush;
Brush := CreateSolidBrush(TRANSPARENT);
Ist das dass gleiche ?
Mein problem ist das trotzdem die selektiere vordergrundfarbe nicht transparent gesetzt wird.

Ich habe die ListBox gesubclassed im WM_PAINT kopiere ich den Hintergrund
der Listbox von der Mainform in die ListBox als Bitmap
Funktioniert so weit siehe Bild..

Die schrift wird aber nicht angezeigt nur wenn ich in die Liste klicke
und dann ist sie nicht transparent.

gruss Emil

ups.. Bild vergessen

DeddyH 30. Jan 2009 19:19

Re: nonvcl listbox bsclear
 
Hallo Emil,

ohne Gewähr, aber evtl. bringt Dir SetBkMode etwas.

EWeiss 30. Jan 2009 19:33

Re: nonvcl listbox bsclear
 
Zitat:

Zitat von DeddyH
Hallo Emil,

ohne Gewähr, aber evtl. bringt Dir SetBkMode etwas.

Gute idee werde es mal versuchen.

EDIT:
Hmm geht leider auch nicht.
Irgendwas ist mal wieder murks.

gruss Emil

lbccaleb 30. Jan 2009 20:23

Re: nonvcl listbox bsclear
 
Es währe vllt ganz gut wenn du ein bisschen mehr Code zeigen würdest??!!

Fehlt ein wenig der zusammenhang..

mfg

mr_emre_d 30. Jan 2009 20:25

Re: nonvcl listbox bsclear
 
Ist jetzt OffTop. aber:
Wow ... das Teil schaut ziemlich schick aus :thumb:

EWeiss 30. Jan 2009 20:42

Re: nonvcl listbox bsclear
 
Zitat:

Zitat von lbccaleb
Es währe vllt ganz gut wenn du ein bisschen mehr Code zeigen würdest??!!

Fehlt ein wenig der zusammenhang..

mfg

Mein problem ist folgendes.
Ich kopiere den Hintergrund der sich hinter der Listbox befindet in die Listbox um den anschein zu erwecken das diese Transparent ist.

Das funktioniert.
Bei MouseWeel verhindere ich das Flackern bzw das verändern des ListBox Bitmap indem ich ein
InvalidateRect plus ein Update Window hinterhergeschickte damit das Bild immer konstant bleibt.
Soweit so gut.
Mein problem ist nun das ich die schrift nicht sehen kann da sie überzeichnet wird.
Kann sie aber nur in WM_DRAWITEM: neu zeichnen das kann man aber nicht erzwingen da
Zitat:

PDis := Pointer(lP);
dann logischerweise NIL ist.

Wie kann ich nun die Schrift auf das Hintergrundbild bringen nach dem dieses neu gezeichnet wurde.

Warum brauchst du jetzt mehr Code ?
Wenn er dafür wichtig ist um das Problem zu beheben kann ich die uListBox hier rein kopieren.

gruss Emil

EWeiss 30. Jan 2009 20:43

Re: nonvcl listbox bsclear
 
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:

Zitat von mr_emre_d
Ist jetzt OffTop. aber:
Wow ... das Teil schaut ziemlich schick aus :thumb:

Danke :)
Mir wäre nur lieb wenn ich mein Problem beseitigt bekommen würde. ;)

gruss Emil

EDIT:
Zum vorherigen Bild noch mal ein neues das man sehen kann das der hintergrund
sich der ListBox anpaßt.
Beim scrollen ist die schrift wieder weg .. das sind meine Probleme.
Und die ist nicht Transparent.

lbccaleb 31. Jan 2009 02:13

Re: nonvcl listbox bsclear
 
Hast du mal direkt das subclassen probiert, ohne das kopieren des main windows in den hintergrund??

also nur SetBkMode anwenden, und dann das TRANSPARENT dazu??

EWeiss 31. Jan 2009 06:34

Re: nonvcl listbox bsclear
 
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:

Zitat von lbccaleb
Hast du mal direkt das subclassen probiert, ohne das kopieren des main windows in den hintergrund??

also nur SetBkMode anwenden, und dann das TRANSPARENT dazu??

Glaube war was spät heute bin immer noch dran.
Aber langsam wird es.

Fertig ist das noch nicht das dauert noch.
Extrem viele Dinge die man beachten muss.
Zum vorherigen ScreenShot aber schon ein Meilenweiter unterschied.

Pic im Anhang.

lbccaleb 31. Jan 2009 10:02

Re: nonvcl listbox bsclear
 
Na so denke ich solls aussehen ;-)


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:13 Uhr.

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