Wer kann mir helfen?
31.08.2005 14:41:56
Frank
ich habe ein Formular in Excel darin eine Frame.
Das Frame besitzt ein Bild. Das Bild hat einen weißen Hintegrund und
einen Rahmen. Ich möchte jetzt gerne dem UserForm eine Skin verpassen,
die weisse Hintergundfrabe ist meine tranzparente Farbe so dass der Rahmen
dann übrig bleibt. Geeeeeht aaaaaaber nicht!
Irgendwie arbeitet GetPixel nicht korrekt oder ich bin zu blöd!
Hier mal das Code-Fragment (API Deklaration erspare ich!)
lhWnd = GetUFHwnd(ufrmSkin)
'UserForm Clientaarea
lChildHwnd = GetWindow(lhWnd, 5)
'frame
lChildHwnd = GetWindow(lChildHwnd, 5)
frDC = GetWindowDC(lChildHwnd)
'Rechteckiger Bereich des Frame
Call GetWindowRect(lChildHwnd, Rct)
MsgBox Rct.x1 & ", " & Rct.y1 & ", " & Rct.x2 & ", " & Rct.y2
'das sind bei mir die Werte : 495, 479, 1111 , 761
PixColor = GetPixel(frDC, 800, 600)
End With
Call ReleaseDC(lhWnd, frDC)
Die Werte (meine Schirmauflösung beträgt 1600x1200) entsprechen der Postion des
Frames innerhalb der Form! (Meiner Meinung bis hier korrekt)
Nun versuche ich mit GetPixel die weißen, also transparenten Pixel zu gestimmen
aber GetPixel liefert -1 ( CLR_INVALID) bei meinen beiden Aufrufen (^oben)!
Wieso?
Gruss
Frank