| |
|
|
|
'Source wurde am 15.07.2007 aus qui MMJ-Quellcodesammlung (Dietmar Horn) dans qui Babyklappe sur XProfan.Com abgelegt:
'Icônes 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$=glace.ico
DrawLibIcon text$,0,40,40
' Originales Icon avec Profanmitteln im Hintergrundsspeicher magasin.
x&=32
y&=32
MCLS x&,y&
Startpaint -1
Cls GetSysColor(15)
DrawLibIcon text$,0,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
|
|
|
| |
|
|