| |
|
|
|
'Source wurde al 15.07.2007 de el MMJ-Quellcodesammlung (Dietmar Horn) en el Babyklappe en XProfan.Com abgelegt:
'Icon grau färben
'Un Método, en Icons grau a färben.
'(C) 2004 Frank Abbing.
Declarar bild&,texto$,neu&,array&,x&,y&,z&,but&,pseudobitmap&,bitmap&,wert&,x%,y%,z%
Def Seleccionar objeto(2) !"GDI32","SelectObject"
Def CreateCompatibleBitmap(3) !"GDI32","CreateCompatibleBitmap"
Def GetSysColor(1) !"USER32","GetSysColor"
SetTrueColor 1
Ventana 0,0-800,600
Cls GetSysColor(15)
'Originales Icon con Profanmitteln la ventana invitar.
text$=Par$(0)
DrawLibIcon texto$,12,40,40
'Originales Icon con Profanmitteln en el Hintergrundsspeicher invitar.
x&=32
y&=32
MCLS x&,y&
Startpaint -1
Cls GetSysColor(15)
DrawLibIcon texto$,12,0,0
'Icon grau färben
y%=0
Whileloop 32
x%=0
Whileloop 32
z&=GetPixel(X%, y%)
If z&<>GetSysColor(15)
z%=(GetRValue(z&)+GetGValue(z&)+GetBValue(z&))/3
SetPixel x%%,Rgb(z%,z%,z%)
EndIf
Inc x%
EndWhile
Inc y%
EndWhile
'Pseudobitmap redactar. BM_SETIMAGE funktioniert sólo Bitmaps, el keinem HDC zugeordnet son.
pseudobitmap&=CreateCompatibleBitmap(%hdc,x&,y&)
'Pseudobitmap unserem HDC zuordnen
'Als Ergebnis bekommen wir unsere losgelöste Mapa de bits zurück !
bitmap&=Seleccionar objeto(%hdc,pseudobitmap&)
EndPaint
'Button redactar via Control / el Crear(Button,...) Método funktioniert no sin weiteres
'Button todavía no sichtbar !
but&=@Control("Button","",$40000080,40,100,48,48,%hwnd,1001,%Hinstance)
'Mapa de bits el Button zuordnen
SendMessage(but&,$F7,0,bitmap&)'BM_SETIMAGE
'Button sichtbar hacer
ShowWindow(but&,1)
WaitKey
'- Button zerstören, así el Mapa de bits otra vez frei se
'- Mapa de bits löschen
DestroyWindow(but&)
DeleteObject bitmap&
End
|
|
|
| |
|
|