Hallo.
Also, ich habe ein Pic Control, das ich mit GDI+ Funktionen mit Bildern fülle. Auf dem PicControl soll ein Button sein. Dadurch, dass die Bilder immer erneuert werden, wirkt auch das Ontop Attribut auf Controls nicht so auf den Button, wie ich es gern hätte, also bei einem neuen Bild ist der Button weg, wenn man mit der Maus rübergeht wieder da. Hier mal ein simples Beispiel:
Spoiler anzeigen
#include <GDIPlus.au3>
[/autoit] [autoit][/autoit] [autoit]_GDIPlus_Startup()
[/autoit] [autoit][/autoit] [autoit]Dim $bTimer = True
[/autoit] [autoit][/autoit] [autoit]GUICreate("test", 200, 200)
$Pic = GUICtrlCreatePic("", 0, 0, 200, 200)
$ButtnHelp = GUICtrlCreateButton("?", 0, 0, 20, 20)
GUICtrlSetState(-1, 2048) ;OnTop
GUISetState()
[/autoit] [autoit][/autoit] [autoit]While 1
Switch GUIGetMsg()
Case $ButtnHelp
MsgBox(0,"","Button geklickt")
Case -3
_GDIPlus_Shutdown()
Exit
EndSwitch
If $bTimer = True Then
$vTimer = TimerInit()
$bTimer = False
EndIf
If TimerDiff($vTimer) >= 2000 Then
CreatePic()
$bTimer = True
EndIf
Sleep(50)
WEnd
Func CreatePic()
$hWnd = GUICtrlGetHandle($Pic)
$hGraphicGUI = _GDIPlus_GraphicsCreateFromHWND($hWnd)
$hImage = _GDIPlus_BitmapCreateFromGraphics(200, 200, $hGraphicGUI)
$hGraphic = _GDIPlus_ImageGetGraphicsContext($hImage)
_GDIPlus_GraphicsClear($hGraphic, 0xFF000000)
$hBitmap = _GDIPlus_ImageLoadFromFile("bild.jpg")
_GDIPlus_GraphicsDrawImageRectRect($hGraphic, $hBitmap, Random(0, 213), Random(0, 100), 200, 200, 0, 0, 200, 200)
$hBitmap2 = _GDIPlus_BitmapCreateHBITMAPFromBitmap($hImage)
$vCall = DllCall("user32.dll", "hwnd", "SendMessage", "hwnd", $hWnd, "int", 0x0172, "int", 0, "int", $hBitmap2)
;_WinAPI_RedrawWindow($hGUI, "", "", BitOR(0x0001, 0x0100, 0x0400))
If $vCall[0] <> 0 Then _WinAPI_DeleteObject($vCall[0])
_WinAPI_DeleteObject($hBitmap2)
_GDIPlus_GraphicsDispose($hGraphicGUI)
_GDIPlus_GraphicsDispose($hGraphic)
_GDIPlus_BitmapDispose($hImage)
_GDIPlus_BitmapDispose($hBitmap)
EndFunc
Hier das Bild:
[Blockierte Grafik: http://www.imagebanana.com/img/tm1o9a00/bild.jpg]
Das Bild muss im selben Ordner sein wie das Script und "bild.jpg" heißen.
Was für Alternativen gibt es für mich?
MfG NoName