| |
|
|
Jac de Lad | Folgendes Problem:
Das Icon im Anhang kann ich wunderbar in un Imagelist laden und damit arbeiten. Auch die Transparenzfarbe wird wunderbar in die Hintergrundfarbe umgewandelt. Nur leider hat das Icon absolut hässliche Kanten, was daran liegt, dass die Alphamaske nicht geladen wird. Das sieht man auch im Explorer (unter Win2000 getestet). Programme wie XnView laden aber die Alphamaske und zeigen es mit schön soften Rändern an. Möglich ist es also und die Alphamaske ist auch vorhanden (mit @Icon Sushi getestet). Und soweit ich weiß ist es auch possibile die Maske in die Imagelist zu laden. Hat jemand ne Idee wie das geht? Ich habe schon alles ausprobiert, bin aber nicht fündig geworden.
Jac |
|
|
| Profan² 2.6 bis XProfan 11.1+XPSE+XPIA+XPRR (und irgendwann XIDE) Core2Duo E8500/T2250, 8192/1024 MB, Radeon HD4850/Radeon XPress 1250, Vista64/XP | 08.01.2008 ▲ |
|
|
|
|
Jac de Lad | Und hier das Icon...habs naturalmente vergessen. |
|
|
| Profan² 2.6 bis XProfan 11.1+XPSE+XPIA+XPRR (und irgendwann XIDE) Core2Duo E8500/T2250, 8192/1024 MB, Radeon HD4850/Radeon XPress 1250, Vista64/XP | 08.01.2008 ▲ |
|
|
|
|
| Nicht das ich hierbei irgendwie ne Ahnung habe aber ich behaute der Kanal wird geladen und auch angezeigt, jedoch nur mit der falschen Farbe gefiltert. Haste mal Screenshot? Ich glaube es muss halt irgendwie die Hintergrundfarbe angegeben werden welche per das Filtern einzubeziehen ist. Könnte sein das dies ein Brush sein muss denn, wenn ich z.B. mit Drawicon ein Icon auf hWnd zeichne dann wird das Icon korrekt mit Antialias gezeichnet.
Wie gesagt, ein Screenshot wäre hier hilfreich. |
|
|
| |
|
|
|
Jac de Lad | Icons können von Natur aus eine Transparenzfarbe besitzen. Diese wird dann durch die Hintergrundfarbe ersetzt. Wie im Screenshot (Toolbar, 2. Icon von rechts). Aber der Rand bleibt. Die Transparenzmaske hat 8 Bit und deshalb einen Antialiasingeffekt. Wird aber eben nicht angezeigt. Versuch mal das Icon in XnView oder so zu laden, da siehst du den Unterschied. |
|
|
| Profan² 2.6 bis XProfan 11.1+XPSE+XPIA+XPRR (und irgendwann XIDE) Core2Duo E8500/T2250, 8192/1024 MB, Radeon HD4850/Radeon XPress 1250, Vista64/XP | 08.01.2008 ▲ |
|
|
|
|
| Jaja, ich weiß was Du meinst der Effekt ist mir völlig klar. Vielleicht fehlt dem Parent ein Brush oder so - das ist aber nur eine Vermutung. |
|
|
| |
|
|
|
Jac de Lad | Tja, wenn ich das wüsste... |
|
|
| Profan² 2.6 bis XProfan 11.1+XPSE+XPIA+XPRR (und irgendwann XIDE) Core2Duo E8500/T2250, 8192/1024 MB, Radeon HD4850/Radeon XPress 1250, Vista64/XP | 08.01.2008 ▲ |
|
|
|
|
Andreas Miethe
| Tja, bei mir gehts KompilierenMarkierenSeparieren $H windows.ph
$H commctrl.ph
$H ShellApi.ph
Proc GetSmallSysImageList
Declare file$,fileinfo$,result&
file$= Info.Ico
fileinfo$ = Space$(352)
result&= ~SHGetFileInfo(addr(file$),0,addr(FileInfo$),352,$04102)
Return result&
EndProc
zum Testen einfache Imagelist anlegen
Var IL& = GetSmallSysImageList()
~ImageList_SetBkColor(IL&,~CLR_NONE)Transparenter Hintergrund
Var TabText$ = Tabtext
Declare TC_ITEM#
Dim TC_ITEM#,28
Clear TC_ITEM#
Long TC_ITEM#,0 = ~TCIF_TEXT | ~TCIF_IMAGE
Long TC_ITEM#,4 = 0
Long TC_ITEM#,8 = 0
Long TC_ITEM#,12 = Addr(TabText$)
Long TC_ITEM#,16 = Len(TabText$)
Long TC_ITEM#,20 = 4IconIndex
Long TC_ITEM#,24 = 0
cls
Var Tab& = Create(TabCtrl,%hwnd,,10,10,300,300)
Sendmessage(Tab&,~TCM_DELETEITEM,0,0)
SendMessage(Tab&,~TCM_SETIMAGELIST,0,IL&)
SendMessage(Tab&,~TCM_INSERTITEM,0,TC_ITEM#)
waitinput
Dispose TC_ITEM#
end
|
|
|
| Gruss Andreas ________ ________ ________ ________ _ Profan 3.3 - XProfanX2 Win 95,98,ME,2000,XP,Vista - Win 7 32 / 64 Bit ASUS X93S - Intel Core I7-NVIDIA GForce 540M 8GB Arbeitsspeicher Homepage : [...] | 08.01.2008 ▲ |
|
|
|
|
Jac de Lad | Falscher Thread. Die Tabgeschichte ist schon vorbei. |
|
|
| Profan² 2.6 bis XProfan 11.1+XPSE+XPIA+XPRR (und irgendwann XIDE) Core2Duo E8500/T2250, 8192/1024 MB, Radeon HD4850/Radeon XPress 1250, Vista64/XP | 08.01.2008 ▲ |
|
|
|
|
Andreas Miethe
| Ne, ist schon richtig, ich habe nur den Quelltext missbraucht.
Hier aber noch ein Beispiel ( auch mit TAB)
Möglicherweise löst diese Zeile Dein Problem ?
Var IL& = ~Imagelist_Create(32,32,~ILC_MASK | ~ILC_COLOR32,1,1) KompilierenMarkierenSeparieren $H windows.ph
$H commctrl.ph
$H ShellApi.ph
Var IL& = ~Imagelist_Create(32,32,~ILC_MASK | ~ILC_COLOR32,1,1)
Var Ico& = ~LoadImage(0,Info.ico,~IMAGE_ICON,0,0,~LR_LOADFROMFILE)
~ImageList_AddIcon(IL&,Ico&)
DeleteObject Ico&
~ImageList_SetBkColor(IL&,~CLR_NONE)Transparenter Hintergrund
Var TabText$ = Tabtext
Declare TC_ITEM#
Dim TC_ITEM#,28
Clear TC_ITEM#
Long TC_ITEM#,0 = ~TCIF_TEXT | ~TCIF_IMAGE
Long TC_ITEM#,4 = 0
Long TC_ITEM#,8 = 0
Long TC_ITEM#,12 = Addr(TabText$)
Long TC_ITEM#,16 = Len(TabText$)
Long TC_ITEM#,20 = 0IconIndex
Long TC_ITEM#,24 = 0
cls
Var Tab& = Create(TabCtrl,%hwnd,,10,10,300,300)
Sendmessage(Tab&,~TCM_DELETEITEM,0,0)
SendMessage(Tab&,~TCM_SETIMAGELIST,0,IL&)
SendMessage(Tab&,~TCM_INSERTITEM,0,TC_ITEM#)
waitinput
Dispose TC_ITEM#
end
|
|
|
| Gruss Andreas ________ ________ ________ ________ _ Profan 3.3 - XProfanX2 Win 95,98,ME,2000,XP,Vista - Win 7 32 / 64 Bit ASUS X93S - Intel Core I7-NVIDIA GForce 540M 8GB Arbeitsspeicher Homepage : [...] | 08.01.2008 ▲ |
|
|
|
|
Jac de Lad | Mach mal einen Screenshot, ich bekomme genau das zu sehen, was ich bemängel. |
|
|
| Profan² 2.6 bis XProfan 11.1+XPSE+XPIA+XPRR (und irgendwann XIDE) Core2Duo E8500/T2250, 8192/1024 MB, Radeon HD4850/Radeon XPress 1250, Vista64/XP | 08.01.2008 ▲ |
|
|
|
|
Andreas Miethe
| Ok !
|
|
|
| Gruss Andreas ________ ________ ________ ________ _ Profan 3.3 - XProfanX2 Win 95,98,ME,2000,XP,Vista - Win 7 32 / 64 Bit ASUS X93S - Intel Core I7-NVIDIA GForce 540M 8GB Arbeitsspeicher Homepage : [...] | 08.01.2008 ▲ |
|
|
|
|
Jac de Lad | |
|
| Profan² 2.6 bis XProfan 11.1+XPSE+XPIA+XPRR (und irgendwann XIDE) Core2Duo E8500/T2250, 8192/1024 MB, Radeon HD4850/Radeon XPress 1250, Vista64/XP | 08.01.2008 ▲ |
|
|
|