| |
|
|
|
'Source wurde am 15.07.2007 aus qui MMJ-Quellcodesammlung (Dietmar Horn) dans qui Babyklappe sur XProfan.Com abgelegt:
'Icon gris färben
'une Methode, um Icônes gris trop färben.
'(C) 2004 Frank Abbing.
Déclarer bild&,text$,neu&,array&,x&,y&,z&,but&,pseudobitmap&,bitmap&,wert&,x%,y%,z%
Def SelectObject(2) !"GDI32","SelectObject"
Def CreateCompatibleBitmap(3) !"GDI32","CreateCompatibleBitmap"
Def GetSysColor(1) !"User32","GetSysColor"
SetTrueColor 1
Fenêtre 0,0-800,600
Cls GetSysColor(15)
'Originales Icon avec Profanmitteln ins la fenêtre magasin.
text$=Par$(0)
DrawLibIcon text$,12,40,40
'Originales Icon avec Profanmitteln im Hintergrundsspeicher magasin.
x&=32
y&=32
MCLS x&,y&
Startpaint -1
Cls GetSysColor(15)
DrawLibIcon text$,12,0,0
'Icon gris färben
y%=0
Whileloop 32
x%=0
Whileloop 32
z&=GetPixel(% X, y%)
Si z&<>GetSysColor(15)
z%=(GetRValue(z&)+GetGValue(z&)+GetBValue(z&))/3
SetPixel % X, y%,Rgb(z%,z%,z%)
EndIf
Inc x%
Endwhile
Inc y%
Endwhile
'Pseudobitmap erstellen. BM_SETIMAGE funktioniert seulement avec Bitmaps, qui aucun HDC zugeordnet sommes.
pseudobitmap&=CreateCompatibleBitmap(%hdc,x&,y&)
'Pseudobitmap unserem HDC zuordnen
'comme Ergebnis bekommen wir unsere losgelöste Bitmap zurück !
bitmap&=SelectObject(%hdc,pseudobitmap&)
EndPaint
'Button erstellen via Contrôle / qui Créer(Button,...) Methode funktioniert pas sans weiteres
'Button encore pas sichtbar !
but&=@Contrôle("Button",»,$40000080,40,100,48,48,%hwnd,1001,%Hinstance)
'Bitmap dem Button zuordnen
SendMessage(but&,$F7,0,bitmap&)'BM_SETIMAGE
'Button sichtbar faire
ShowWindow(but&,1)
WaitKey
'- Button anéantir, avec cela qui Bitmap wieder libre wird
'- Bitmap effacer
DestroyWindow(but&)
DeleteObject bitmap&
Fin
|
|
|
| |
|
|