Hey,
vielen Dank, dass du dir die Zeit genommen hast um dir das anzugucken.
Das Hintergrundbild wird nun so angezeigt, wie ich mir das gewünscht habe. Leider spinnt nun der Button.
Wenn ich das Script starte, ist alles ok. Nach ca. 2 Sekunden, geht der Hover des Buttons and und bleibt auch an. Und $aCoord[4] zeigt mir dauerhaft 0 an, als ob es kein Object in der Form findet. Nicht einmal die IE Form.
Leider kann ich mir auch nicht erklären, wieso $aCoord[4] nichts findet. Gibt es dafür eine simple Begründung oder ist da ein Fehler?
mfg Freaky ![]()
Beiträge von Freaky
-
-
Hey,
ich brauche Leider immer noch Hilfe an meinem Problem. Es ist mitlerweile fast 1 Monat her, dass ich an meinem Problem sitze und ich habe bis jetzt immer noch kein Weg gefunden
Bitte hilft mir.
mfg Freaky -
Moinsen,
leider sitze ich immer noch an dem Problem, weil das Hintergrundbild ja falsch angezeigt wird.
Hätte da jemand vielleicht jetzt dazu noch eine Lösung? Es ist wichtig fuer mich.
mfg Freaky -
Hey, vielen Dank ich idiot ...

Ok zum IE Problem. Bei mir wurde es plötzlich auch gerade angezeigt. Leider, wenn ich reinklicke komme ich zu dem Object hinter meiner Form.
Ich habe das nun gelöst, indem ich das IE Object auf eine neue Form gepackt habe und die Form als Child an die erste Form getan.Spoiler anzeigen
[autoit]#include <GUIConstantsEx.au3>
[/autoit] [autoit][/autoit] [autoit]
#include <GuiButton.au3>
#include <WindowsConstants.au3>
#include <GDIPlus.au3>
;~ #Include <WinAPI.au3>
#include <IE.au3>Global $hGUI, $hImage, $hGraphic, $hImage
[/autoit] [autoit][/autoit] [autoit]
Global Const $SC_DRAGMOVE = 0xF012
Global $iImagePfad = @ScriptDir & "\Bilder\", $iGlobal Const $IMAGE_BITMAP = 0
[/autoit] [autoit][/autoit] [autoit]
Global Const $STM_SETIMAGE = 0x0172_GDIPlus_StartUp()
[/autoit] [autoit][/autoit] [autoit]
$hImage = _GDIPlus_ImageLoadFromFile($iImagePfad & "background.png")
;~ $hImage_Pic1 = _GDIPlus_ImageLoadFromFile($iImagePfad & "start_2.png")
;~ $hImage_Pic2 = _GDIPlus_ImageLoadFromFile($iImagePfad & "start_1.png")$iWidth = _GDIPlus_ImageGetWidth($hImage)
[/autoit] [autoit][/autoit] [autoit]
$iHeight = _GDIPlus_ImageGetHeight($hImage)$hHBMP = _GDIPlus_BitmapCreateHBITMAPFromBitmap($hImage)
[/autoit] [autoit][/autoit] [autoit]
;~ $hHBMP_Pic1 = _GDIPlus_BitmapCreateHBITMAPFromBitmap($hImage_Pic1)
;~ $hHBMP_Pic2 = _GDIPlus_BitmapCreateHBITMAPFromBitmap($hImage_Pic2)$oIE=_IECreateEmbedded()
[/autoit] [autoit][/autoit] [autoit]; Create GUI
[/autoit] [autoit][/autoit] [autoit]
$hGUI = GUICreate("Test", $iWidth, $iHeight, -1, -1, $WS_POPUP, $WS_EX_LAYERED + $WS_EX_TOPMOST)
$idBackgroundPic = GUICtrlCreatePic("", 0, 0, $iWidth, $iHeight)
GUICtrlSetState(-1, $GUI_DISABLE)GUISetState(@SW_SHOW, $hGUI)
[/autoit] [autoit][/autoit] [autoit]
$idPic = GUICtrlCreatePic("",50,50,126,38)
$iButton = _CreateButton ($iImagePfad & "start_1.png",$iImagePfad & "start_2.png",100,100)
_WinAPI_DeleteObject(GUICtrlSendMsg($idBackgroundPic, $STM_SETIMAGE, $IMAGE_BITMAP, $hHBMP))SetTransparentBitmap($hGUI, $hImage)
[/autoit] [autoit][/autoit] [autoit]GUIRegisterMsg($WM_LBUTTONDOWN, "_WM_LBUTTONDOWN")
[/autoit] [autoit][/autoit] [autoit]_CreateIEObject($hGUI,$oIE,200,50,200,200)
[/autoit] [autoit][/autoit] [autoit]
_IENavigate($oIE, 'http://google.de')$isHover = False
[/autoit] [autoit][/autoit] [autoit]
$mem = TrueWhile 1
[/autoit] [autoit][/autoit] [autoit]
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
ExitLoop
Case $iButton[1]
MsgBox(262144, "Test", "Test")
EndSwitch
$aCoord = GUIGetCursorInfo($hGUI)
If $aCoord[4] = $iButton[1] Then
If Not $isHover Then
GUICtrlSendMsg($iButton[1], $STM_SETIMAGE, $IMAGE_BITMAP, $iButton[2])
$isHover = True
$mem = True
EndIf
Else
If $mem Then
GUICtrlSendMsg($iButton[1], $STM_SETIMAGE, $IMAGE_BITMAP, $iButton[3])
$mem = False
$isHover = False
EndIf
EndIfWEnd
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]; Clean up resources
[/autoit] [autoit][/autoit] [autoit]
_GDIPlus_ImageDispose($hImage)
;~ _GDIPlus_ImageDispose($hImage_Pic1)
;~ _GDIPlus_ImageDispose($hImage_Pic2)
_WinAPI_DeleteObject($hHBMP)
;~ _WinAPI_DeleteObject($hHBMP_Pic1)
;~ _WinAPI_DeleteObject($hHBMP_Pic2)
_GDIPlus_ShutDown()
ExitFunc _CreateIEObject ($iForm,$iVar,$iX,$iY,$iW,$iH)
[/autoit] [autoit][/autoit] [autoit]
$iIEForm = GUICreate ("",$iX,$iY,$iW,$iH,$WS_POPUP, $WS_EX_MDICHILD, $iForm)
GUICtrlCreateObj ($iVar,0,0,$iW,$iH)
GUISetState (@SW_SHOW,$iIEForm)
EndFuncFunc _CreateButton ($iPicture1, $iPicture2, $iX, $iY)
[/autoit] [autoit][/autoit] [autoit]
$bImage_Pic1 = _GDIPlus_ImageLoadFromFile($iPicture1)
$bImage_Pic2 = _GDIPlus_ImageLoadFromFile($iPicture2)$bHBMP_Pic1 = _GDIPlus_BitmapCreateHBITMAPFromBitmap($bImage_Pic1)
[/autoit] [autoit][/autoit] [autoit]
$bHBMP_Pic2 = _GDIPlus_BitmapCreateHBITMAPFromBitmap($bImage_Pic2)$bWidth = _GDIPlus_ImageGetWidth($bImage_Pic1)
[/autoit] [autoit][/autoit] [autoit]
$bHeight = _GDIPlus_ImageGetHeight($bImage_Pic1)$bPicture = GUICtrlCreatePic("",$iX,$iY,$bWidth,$bHeight)
[/autoit] [autoit][/autoit] [autoit]Local $bReturn[5] = [3,$bPicture,$bHBMP_Pic1,$bHBMP_Pic2]
[/autoit] [autoit][/autoit] [autoit]
Return $bReturn
EndFuncFunc _WM_LBUTTONDOWN($hWnd, $iMsg, $wParam, $lParam)
[/autoit] [autoit][/autoit] [autoit]
_SendMessage($hGUI, $WM_SYSCOMMAND, $SC_DRAGMOVE, 0)
EndFunc ;==>_WM_LBUTTONDOWNFunc SetTransparentBitmap($hGUI, $hImage, $iOpacity = 0xFF)
[/autoit]
Local $hScrDC, $hMemDC, $hBitmap, $hOld, $pSize, $tSize, $pSource, $tSource, $pBlend, $tBlend
$hScrDC = _WinAPI_GetDC(0)
$hMemDC = _WinAPI_CreateCompatibleDC($hScrDC)
$hBitmap = _GDIPlus_BitmapCreateHBITMAPFromBitmap($hImage)
$hOld = _WinAPI_SelectObject($hMemDC, $hBitmap)
$tSize = DllStructCreate($tagSIZE)
$pSize = DllStructGetPtr($tSize)
DllStructSetData($tSize, "X", _GDIPlus_ImageGetWidth($hImage))
DllStructSetData($tSize, "Y", _GDIPlus_ImageGetHeight($hImage))
$tSource = DllStructCreate($tagPOINT)
$pSource = DllStructGetPtr($tSource)
$tBlend = DllStructCreate($tagBLENDFUNCTION)
$pBlend = DllStructGetPtr($tBlend)
DllStructSetData($tBlend, "Alpha", $iOpacity)
DllStructSetData($tBlend, "Format", 1)
_WinAPI_UpdateLayeredWindow($hGUI, 0, 0, $pSize, $hMemDC, $pSource, 0, $pBlend, $ULW_ALPHA)
_WinAPI_ReleaseDC(0, $hScrDC)
_WinAPI_SelectObject($hMemDC, $hOld)
_WinAPI_DeleteObject($hBitmap)
_WinAPI_DeleteDC($hMemDC)
EndFunc ;==>SetBitmap
Und hier der Code, für die Leute die es vielleicht irgend wann einmal brauchen
mfg FreakyEdit:
Ok, mir ist was aufgefallen. Wenn ich die Form, ueber was nicht weißes mache, dann sieht man den Schatten nicht.
[Blockierte Grafik: http://s3.imgimg.de/uploads/background904b22d6png.png]
Ich habe ja bereits mit UEZ Hilfe ein Hintergrund hinbekommen und ein Button ebenfalls oben drauf. Dies funktioniert supper mit dem Schatten:
[Blockierte Grafik: http://s3.imgimg.de/uploads/background2672aa147png.png]
Ich brauche jetzt aber bei dem zweiten Beispiel den Button als Bilder und nicht normaler Button.
Hier ist noch einmal der Code, der so ist wie ich es brauche aber nur der Button Falsch ist.Spoiler anzeigen
[autoit]#include <GUIConstantsEx.au3>
[/autoit] [autoit][/autoit] [autoit]
#include <WindowsConstants.au3>
#include <GDIPlus.au3>
#include <WinAPI.au3>
#include <GDIpProgress.au3>
#include <IE.au3>
#include <Misc.au3>
#include <GuiButton.au3>Global $hGUI, $hImage, $hGraphic, $hImage
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
Global Const $SC_DRAGMOVE = 0xF012
Global Const $IMAGE_BITMAP = 0
Global Const $STM_SETIMAGE = 0x0172
Global $iImagePfad = @ScriptDir & "\Bilder\", $i_GDIPlus_Startup()
[/autoit] [autoit][/autoit] [autoit]
$hImage = _GDIPlus_ImageLoadFromFile($iImagePfad & "background.png")
$hHBMP = _GDIPlus_BitmapCreateHBITMAPFromBitmap($hImage)
$iWidth = _GDIPlus_ImageGetWidth($hImage)
$iHeight = _GDIPlus_ImageGetHeight($hImage)$hImage_Button = _GDIPlus_ImageLoadFromFile($iImagePfad & "start_0.jpg")
[/autoit] [autoit][/autoit] [autoit]
$hHBMP_Button = _GDIPlus_BitmapCreateHBITMAPFromBitmap($hImage_Button)$oIE = _IECreateEmbedded()
[/autoit] [autoit][/autoit] [autoit]; Create GUI
[/autoit] [autoit][/autoit] [autoit]
$hGUI = GUICreate("Test", $iWidth, $iHeight, -5000, -5000, $WS_POPUP, $WS_EX_LAYERED + $WS_EX_TOPMOST)
$hGUI_child = GUICreate("", $iWidth, $iHeight, -5000, -5000, $WS_POPUP, $WS_EX_LAYERED + $WS_EX_TOPMOST + $WS_EX_MDICHILD, $hGUI)
GUISetBkColor(0, $hGUI_child)$idBackgroundPic = GUICtrlCreatePic("", 0, 0, $iWidth, $iHeight)
[/autoit] [autoit][/autoit] [autoit]
GUICtrlSetState(-1, $GUI_DISABLE)GUISetState(@SW_SHOW, $hGUI)
[/autoit] [autoit][/autoit] [autoit]
GUISetState(@SW_SHOW, $hGUI_child)
SetTransparentBitmap($hGUI, $hImage)
_WinAPI_SetLayeredWindowAttributes($hGUI_child, 0x00, 0xff)_WinAPI_DeleteObject(GUICtrlSendMsg($idBackgroundPic, $STM_SETIMAGE, $IMAGE_BITMAP, $hHBMP))
[/autoit] [autoit][/autoit] [autoit]$iButton1 = GUICtrlCreateButton("hallo", 50, 50, 134, 33,$BS_BITMAP)
[/autoit] [autoit][/autoit] [autoit]
$iButton2 = _GuiCtrlCreatePic($hGUI_child, $iImagePfad & "\start_1.jpg", 100, 100)
;~ $iButton3 = _GuiCtrlCreatePic($hGUI, $iImagePfad & "\start_0.jpg", 200, 100)
;~ GUICtrlCreatePic ($iImagePfad & "\start_1.jpg",50,50,143,33);~ GUICtrlCreateObj ($oIE,50,50,100,100)
[/autoit] [autoit][/autoit] [autoit]
;~ _IENavigate($oIE, 'http://google.de')GUIRegisterMsg($WM_LBUTTONDOWN, "_WM_LBUTTONDOWN")
[/autoit] [autoit][/autoit] [autoit]WinMove($hGUI, "", (@DesktopWidth / 2) - ($iWidth / 2), (@DesktopHeight / 2) - ($iHeight / 2))
[/autoit] [autoit][/autoit] [autoit]
WinMove($hGUI_child, "", (@DesktopWidth / 2) - ($iWidth / 2), (@DesktopHeight / 2) - ($iHeight / 2))While 1
[/autoit] [autoit][/autoit] [autoit]
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
ExitLoop
Case $iButton2[1]
_WinAPI_DeleteObject(GUICtrlSendMsg($iButton2[1], $BM_SETIMAGE, $IMAGE_BITMAP, $hHBMP_Button))
_WinAPI_DeleteObject(GUICtrlSendMsg($iButton1, $BM_SETIMAGE, $IMAGE_BITMAP, $hHBMP_Button))
EndSwitchIf _ButtonHover($hGUI_child, $iButton2) Then
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
_WinAPI_DeleteObject(GUICtrlSendMsg($iButton2[1], $BM_SETIMAGE, $IMAGE_BITMAP, $hHBMP_Button))
EndIf
WEnd; Clean up resources
[/autoit] [autoit][/autoit] [autoit]
_GDIPlus_GraphicsDispose($hGraphic)
_GDIPlus_Shutdown()
Exit; Draw PNG image
[/autoit] [autoit][/autoit] [autoit]
Func MY_WM_PAINT($hWnd, $Msg, $wParam, $lParam)
_GDIPlus_GraphicsDrawImage($hGraphic, $hImage, 0, 0)
_WinAPI_RedrawWindow($hGUI, 0, 0, 1)
Return $GUI_RUNDEFMSG
EndFunc ;==>MY_WM_PAINTFunc _WM_LBUTTONDOWN($hWnd, $iMsg, $wParam, $lParam)
[/autoit] [autoit][/autoit] [autoit]
_SendMessage($hGUI, $WM_SYSCOMMAND, $SC_DRAGMOVE, 0)
EndFunc ;==>_WM_LBUTTONDOWNFunc SetTransparentBitmap($hGUI, $hImage, $iOpacity = 0xFF)
[/autoit] [autoit][/autoit] [autoit]
Local $hScrDC, $hMemDC, $hBitmap, $hOld, $pSize, $tSize, $pSource, $tSource, $pBlend, $tBlend
$hScrDC = _WinAPI_GetDC(0)
$hMemDC = _WinAPI_CreateCompatibleDC($hScrDC)
$hBitmap = _GDIPlus_BitmapCreateHBITMAPFromBitmap($hImage)
$hOld = _WinAPI_SelectObject($hMemDC, $hBitmap)
$tSize = DllStructCreate($tagSIZE)
$pSize = DllStructGetPtr($tSize)
DllStructSetData($tSize, "X", _GDIPlus_ImageGetWidth($hImage))
DllStructSetData($tSize, "Y", _GDIPlus_ImageGetHeight($hImage))
$tSource = DllStructCreate($tagPOINT)
$pSource = DllStructGetPtr($tSource)
$tBlend = DllStructCreate($tagBLENDFUNCTION)
$pBlend = DllStructGetPtr($tBlend)
DllStructSetData($tBlend, "Alpha", $iOpacity)
DllStructSetData($tBlend, "Format", 1)
_WinAPI_UpdateLayeredWindow($hGUI, 0, 0, $pSize, $hMemDC, $pSource, 0, $pBlend, $ULW_ALPHA)
_WinAPI_ReleaseDC(0, $hScrDC)
_WinAPI_SelectObject($hMemDC, $hOld)
_WinAPI_DeleteObject($hBitmap)
_WinAPI_DeleteDC($hMemDC)
EndFunc ;==>SetTransparentBitmapFunc _GuiCtrlCreatePic($gGui, $iPicture, $iX = 0, $iY = 0)
[/autoit] [autoit][/autoit] [autoit]
$gImage = _GDIPlus_ImageLoadFromFile($iPicture)
$gWidth = _GDIPlus_ImageGetWidth($gImage)
$gHeight = _GDIPlus_ImageGetHeight($gImage)$iGui = GUICreate("", $gWidth, $gHeight, $iX, $iY, $WS_POPUP, BitOR($WS_EX_LAYERED, $WS_EX_MDICHILD), $gGui)
[/autoit] [autoit][/autoit] [autoit]
$iLabel = GUICtrlCreateLabel("", 0, 0, $gWidth, $gHeight)
GUISetBkColor(0, $iGui)
GUISetState(@SW_SHOW, $iGui)
SetTransparentBitmap($iGui, $gImage)Local $iReturn[6] = [0, SetError(0, $iGui, $iLabel), $iX, $iY, $gWidth, $gHeight]
[/autoit] [autoit][/autoit] [autoit]Return $iReturn
[/autoit] [autoit][/autoit] [autoit]
EndFunc ;==>_GuiCtrlCreatePicFunc _ButtonHover($iGui, $iButton)
[/autoit]
$iMouse = GUIGetCursorInfo($iGui)
If ($iMouse[0] >= $iButton[2]) And _
($iMouse[0] <= $iButton[2] + $iButton[4]) And _
($iMouse[1] >= $iButton[3]) And _
($iMouse[1] <= $iButton[3] + $iButton[5]) Then ; Button hover
If (_IsPressed("01")) Then
Return 2
Else
Return 1
EndIf
Else
Return False
EndIf
EndFunc ;==>_ButtonHover
Ich hoffe ihr könnt mir jetzt immer noch helfen
mfg Freaky -
Heyho,
leider sitze ich immer noch an diesem Problem.
Mitlerweile geht es mir eher um das IE Object. Es ist einfach ein durchsitiges Loch und nicht die Internet Seite und ich finde keine Lösung dafuer ...
Ich bitte euch um Hilfe.
mfg Freaky -
Tut mir leid für das pushen, aber ich sitze immer noch an dem Problem und finde keine Lösung

Ich bitte euch mir noch ein bishen dabei zu helfen
mfg Freaky -
Ok vielen dank. Das funktioniert auch supper

Jetzt habe ich versucht das alles in eine Funktion zu machen, sodass mein ganzer Haufen kleiner wird. Leider wird nichts mehr angezeigt. Soweit ich richtig sehe, habe ich aber alles richtig uebernommen. Ich vermute es liegt daran, dass GUIGetCursorInfo das Bild garnicht mehr in der Form wieder findet. Warum dies so ist, habe ich gerade garkein blassen schimmer
Dazu ist ein zweites Problem aufgetreten. Ich benöte am Ende ebenfalls ein IE Object in der Form. Leider wird das IE Object einfach ein Transparentes Fenster. Wobei, ich den Rand des IE Objectes weg haben möchte was hierbei ja schon geschehen ist

Spoiler anzeigen
[autoit]#include <GUIConstantsEx.au3>
[/autoit] [autoit][/autoit] [autoit]
#include <GuiButton.au3>
#include <WindowsConstants.au3>
#include <GDIPlus.au3>
;~ #Include <WinAPI.au3>
#include <IE.au3>Global $hGUI, $hImage, $hGraphic, $hImage
[/autoit] [autoit][/autoit] [autoit]
Global Const $SC_DRAGMOVE = 0xF012
Global $iImagePfad = @ScriptDir & "\Bilder\", $iGlobal Const $IMAGE_BITMAP = 0
[/autoit] [autoit][/autoit] [autoit]
Global Const $STM_SETIMAGE = 0x0172_GDIPlus_StartUp()
[/autoit] [autoit][/autoit] [autoit]
$hImage = _GDIPlus_ImageLoadFromFile($iImagePfad & "background.png")
;~ $hImage_Pic1 = _GDIPlus_ImageLoadFromFile($iImagePfad & "start_2.png")
;~ $hImage_Pic2 = _GDIPlus_ImageLoadFromFile($iImagePfad & "start_1.png")$iWidth = _GDIPlus_ImageGetWidth($hImage)
[/autoit] [autoit][/autoit] [autoit]
$iHeight = _GDIPlus_ImageGetHeight($hImage)$hHBMP = _GDIPlus_BitmapCreateHBITMAPFromBitmap($hImage)
[/autoit] [autoit][/autoit] [autoit]
;~ $hHBMP_Pic1 = _GDIPlus_BitmapCreateHBITMAPFromBitmap($hImage_Pic1)
;~ $hHBMP_Pic2 = _GDIPlus_BitmapCreateHBITMAPFromBitmap($hImage_Pic2)$oIE=_IECreateEmbedded()
[/autoit] [autoit][/autoit] [autoit]; Create GUI
[/autoit] [autoit][/autoit] [autoit]
$hGUI = GUICreate("Test", $iWidth, $iHeight, -1, -1, $WS_POPUP, $WS_EX_LAYERED + $WS_EX_TOPMOST)
$idBackgroundPic = GUICtrlCreatePic("", 0, 0, $iWidth, $iHeight)
GUICtrlSetState(-1, $GUI_DISABLE)GUICtrlCreateObj ($oIE,50,200,100,100)
[/autoit] [autoit][/autoit] [autoit]
_IENavigate($oIE, 'http://google.de')GUISetState(@SW_SHOW, $hGUI)
[/autoit] [autoit][/autoit] [autoit]
;~ $idPic = GUICtrlCreatePic("",50,50,126,38)
$iButton = _CreateButton ("start_1.png","start_1.png",100,100)
_WinAPI_DeleteObject(GUICtrlSendMsg($idBackgroundPic, $STM_SETIMAGE, $IMAGE_BITMAP, $hHBMP))SetTransparentBitmap($hGUI, $hImage)
[/autoit] [autoit][/autoit] [autoit]GUIRegisterMsg($WM_LBUTTONDOWN, "_WM_LBUTTONDOWN")
[/autoit] [autoit][/autoit] [autoit]$isHover = False
[/autoit] [autoit][/autoit] [autoit]
$mem = TrueWhile 1
[/autoit] [autoit][/autoit] [autoit]
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
ExitLoop
Case $iButton[1]
MsgBox(262144, "Test", "Test")
EndSwitch
$aCoord = GUIGetCursorInfo($hGUI)
ToolTip ($aCoord[4],0,0)
If $aCoord[4] = $iButton[1] Then
If Not $isHover Then
GUICtrlSendMsg($iButton[1], $STM_SETIMAGE, $IMAGE_BITMAP, $iButton[2])
$isHover = True
$mem = True
EndIf
Else
If $mem Then
GUICtrlSendMsg($iButton[1], $STM_SETIMAGE, $IMAGE_BITMAP, $iButton[3])
$mem = False
$isHover = False
EndIf
EndIfWEnd
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]; Clean up resources
[/autoit] [autoit][/autoit] [autoit]
_GDIPlus_ImageDispose($hImage)
;~ _GDIPlus_ImageDispose($hImage_Pic1)
;~ _GDIPlus_ImageDispose($hImage_Pic2)
_WinAPI_DeleteObject($hHBMP)
;~ _WinAPI_DeleteObject($hHBMP_Pic1)
;~ _WinAPI_DeleteObject($hHBMP_Pic2)
_GDIPlus_ShutDown()
ExitFunc _CreateButton ($iPicture1, $iPicture2, $iX, $iY)
[/autoit] [autoit][/autoit] [autoit]
$bImage_Pic1 = _GDIPlus_ImageLoadFromFile($iPicture1)
$bImage_Pic2 = _GDIPlus_ImageLoadFromFile($iPicture2)$bHBMP_Pic1 = _GDIPlus_BitmapCreateHBITMAPFromBitmap($bImage_Pic1)
[/autoit] [autoit][/autoit] [autoit]
$bHBMP_Pic2 = _GDIPlus_BitmapCreateHBITMAPFromBitmap($bImage_Pic2)$bWidth = _GDIPlus_ImageGetWidth($bImage_Pic1)
[/autoit] [autoit][/autoit] [autoit]
$bHeight = _GDIPlus_ImageGetHeight($bImage_Pic1)$bPicture = GUICtrlCreatePic("",$iX,$iY,$bWidth,$bHeight)
[/autoit] [autoit][/autoit] [autoit]Local $bReturn[5] = [3,$bPicture,$bHBMP_Pic1,$bHBMP_Pic2]
[/autoit] [autoit][/autoit] [autoit]
Return $bReturn
EndFuncFunc _WM_LBUTTONDOWN($hWnd, $iMsg, $wParam, $lParam)
[/autoit] [autoit][/autoit] [autoit]
_SendMessage($hGUI, $WM_SYSCOMMAND, $SC_DRAGMOVE, 0)
EndFunc ;==>_WM_LBUTTONDOWNFunc SetTransparentBitmap($hGUI, $hImage, $iOpacity = 0xFF)
[/autoit]
Local $hScrDC, $hMemDC, $hBitmap, $hOld, $pSize, $tSize, $pSource, $tSource, $pBlend, $tBlend
$hScrDC = _WinAPI_GetDC(0)
$hMemDC = _WinAPI_CreateCompatibleDC($hScrDC)
$hBitmap = _GDIPlus_BitmapCreateHBITMAPFromBitmap($hImage)
$hOld = _WinAPI_SelectObject($hMemDC, $hBitmap)
$tSize = DllStructCreate($tagSIZE)
$pSize = DllStructGetPtr($tSize)
DllStructSetData($tSize, "X", _GDIPlus_ImageGetWidth($hImage))
DllStructSetData($tSize, "Y", _GDIPlus_ImageGetHeight($hImage))
$tSource = DllStructCreate($tagPOINT)
$pSource = DllStructGetPtr($tSource)
$tBlend = DllStructCreate($tagBLENDFUNCTION)
$pBlend = DllStructGetPtr($tBlend)
DllStructSetData($tBlend, "Alpha", $iOpacity)
DllStructSetData($tBlend, "Format", 1)
_WinAPI_UpdateLayeredWindow($hGUI, 0, 0, $pSize, $hMemDC, $pSource, 0, $pBlend, $ULW_ALPHA)
_WinAPI_ReleaseDC(0, $hScrDC)
_WinAPI_SelectObject($hMemDC, $hOld)
_WinAPI_DeleteObject($hBitmap)
_WinAPI_DeleteDC($hMemDC)
EndFunc ;==>SetBitmapmfg Freaky
-
Hmm, nicht so ganz

Habe es jetzt mal GUICtrlCreateButton mit GUICtrlCreatePic ersetzt und es wird kein Bild mehr angezeigt. Leider bringt es auch nichts, wenn ich ein Pfad zu einem Bild bei GUICtrlCreatePic einfüge. -
Hey, das sieht ja schon richtig gut aus, danke.
Problem ist jetzt aber, das man den Rand des Buttons sieht. Ich möchte halt, ein Bild als Button aber so das man nur das Bild sieht und nix anderes.
Habe jetzt an deinem Beispiel versucht einfach den Button zu verkleiner, aber oben und links sieht man noch ein 1px weißen Rand >.>
Und gibt es vll. eine etwas kleinere Lösung dafuer? Weil ich brauche 8 Buttons mit jeweils einen Hover und am Ende wird es etwas unübersichtlich
Trotzdem supper Leistung danke. Bräuchte nur noch den linken und oberen Rand weg
mfg Freaky -
Hey danke

Es ist fast geschafft. Ich brauche jetzt nur das Bild als Button und ein zweites Bild als Hover dafür. Nicht ein normalen Button und ein Hover drüber
Leider bekomme ich es irgend wie nicht wirklich hin mit einer Funktion um ein Button als Bild darzustellen
Spoiler anzeigen
[autoit]#include <GUIConstantsEx.au3>
[/autoit] [autoit][/autoit] [autoit]
#include <GuiButton.au3>
#include <WindowsConstants.au3>
#include <GDIPlus.au3>
;~ #Include <WinAPI.au3>
#include <IE.au3>Global $hGUI, $hImage, $hGraphic, $hImage
[/autoit] [autoit][/autoit] [autoit]
Global Const $SC_DRAGMOVE = 0xF012
Global $iImagePfad = @ScriptDir & "\Bilder\", $iGlobal Const $IMAGE_BITMAP = 0
[/autoit] [autoit][/autoit] [autoit]
Global Const $STM_SETIMAGE = 0x0172_GDIPlus_StartUp()
[/autoit] [autoit][/autoit] [autoit]
$hImage = _GDIPlus_ImageLoadFromFile($iImagePfad & "background.png")
$hImage_Button = _GDIPlus_ImageLoadFromFile($iImagePfad & "start_1.png")$iWidth = _GDIPlus_ImageGetWidth($hImage)
[/autoit] [autoit][/autoit] [autoit]
$iHeight = _GDIPlus_ImageGetHeight($hImage)$hHBMP = _GDIPlus_BitmapCreateHBITMAPFromBitmap($hImage)
[/autoit] [autoit][/autoit] [autoit]
$hHBMP_Button = _GDIPlus_BitmapCreateHBITMAPFromBitmap($hImage_Button)$oIE=_IECreateEmbedded()
[/autoit] [autoit][/autoit] [autoit]; Create GUI
[/autoit] [autoit][/autoit] [autoit]
$hGUI = GUICreate("Test", $iWidth, $iHeight, -1, -1, $WS_POPUP, $WS_EX_LAYERED + $WS_EX_TOPMOST)
$idBackgroundPic = GUICtrlCreatePic("", 0, 0, $iWidth, $iHeight)
GUICtrlSetState(-1, $GUI_DISABLE)
$idButton = _GuiCtrlCreatePic ($hGUI,$iImagePfad & "start_2.png",50,50, $BS_BITMAP)
GUISetState(@SW_SHOW, $hGUI)
_WinAPI_DeleteObject(GUICtrlSendMsg($idBackgroundPic, $STM_SETIMAGE, $IMAGE_BITMAP, $hHBMP))SetTransparentBitmap($hGUI, $hImage)
[/autoit] [autoit][/autoit] [autoit];~ GUICtrlCreatePic ($iImagePfad & "\start_1.jpg",50,50,143,33)
[/autoit] [autoit][/autoit] [autoit];~ GUICtrlCreateObj ($oIE,50,50,100,100)
[/autoit] [autoit][/autoit] [autoit]
;~ _IENavigate($oIE, 'http://google.de')GUIRegisterMsg($WM_LBUTTONDOWN, "_WM_LBUTTONDOWN")
[/autoit] [autoit][/autoit] [autoit]While 1
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
ExitLoop
Case $idButton[1]
_WinAPI_DeleteObject(GUICtrlSendMsg($idButton[1], $BM_SETIMAGE, $IMAGE_BITMAP, $hHBMP_Button))
MsgBox (0,"","Ho ho ho")
EndSwitch
WEnd; Clean up resources
[/autoit] [autoit][/autoit] [autoit]
_GDIPlus_ImageDispose($hImage)
_GDIPlus_ImageDispose($hImage_Button)
_WinAPI_DeleteObject($hHBMP)
_WinAPI_DeleteObject($hHBMP_Button)
_GDIPlus_ShutDown()
ExitFunc _GuiCtrlCreatePic($gGui, $iPicture, $iX = 0, $iY = 0, $iStyle = "")
[/autoit] [autoit][/autoit] [autoit]
$gImage = _GDIPlus_ImageLoadFromFile($iPicture)
$gWidth = _GDIPlus_ImageGetWidth($gImage)
$gHeight = _GDIPlus_ImageGetHeight($gImage)$iGui = GUICreate("", $gWidth, $gHeight, $iX, $iY, $WS_POPUP + $iStyle, BitOR($WS_EX_LAYERED, $WS_EX_MDICHILD), $gGui)
[/autoit] [autoit][/autoit] [autoit]
$iLabel = GUICtrlCreateLabel("", 0, 0, $gWidth, $gHeight)
GUISetBkColor(0, $iGui)
GUISetState(@SW_SHOW, $iGui)
SetTransparentBitmap($iGui, $gImage)Local $iReturn[6] = [0, SetError(0, $iGui, $iLabel), $iX, $iY, $gWidth, $gHeight]
[/autoit] [autoit][/autoit] [autoit]Return $iReturn
[/autoit] [autoit][/autoit] [autoit]
EndFunc ;==>_GuiCtrlCreatePicFunc _WM_LBUTTONDOWN($hWnd, $iMsg, $wParam, $lParam)
[/autoit] [autoit][/autoit] [autoit]
_SendMessage($hGUI, $WM_SYSCOMMAND, $SC_DRAGMOVE, 0)
EndFunc ;==>_WM_LBUTTONDOWNFunc SetTransparentBitmap($hGUI, $hImage, $iOpacity = 0xFF)
[/autoit]
Local $hScrDC, $hMemDC, $hBitmap, $hOld, $pSize, $tSize, $pSource, $tSource, $pBlend, $tBlend
$hScrDC = _WinAPI_GetDC(0)
$hMemDC = _WinAPI_CreateCompatibleDC($hScrDC)
$hBitmap = _GDIPlus_BitmapCreateHBITMAPFromBitmap($hImage)
$hOld = _WinAPI_SelectObject($hMemDC, $hBitmap)
$tSize = DllStructCreate($tagSIZE)
$pSize = DllStructGetPtr($tSize)
DllStructSetData($tSize, "X", _GDIPlus_ImageGetWidth($hImage))
DllStructSetData($tSize, "Y", _GDIPlus_ImageGetHeight($hImage))
$tSource = DllStructCreate($tagPOINT)
$pSource = DllStructGetPtr($tSource)
$tBlend = DllStructCreate($tagBLENDFUNCTION)
$pBlend = DllStructGetPtr($tBlend)
DllStructSetData($tBlend, "Alpha", $iOpacity)
DllStructSetData($tBlend, "Format", 1)
_WinAPI_UpdateLayeredWindow($hGUI, 0, 0, $pSize, $hMemDC, $pSource, 0, $pBlend, $ULW_ALPHA)
_WinAPI_ReleaseDC(0, $hScrDC)
_WinAPI_SelectObject($hMemDC, $hOld)
_WinAPI_DeleteObject($hBitmap)
_WinAPI_DeleteDC($hMemDC)
EndFunc ;==>SetBitmapmfg Freaky
ps: Habe im Anhang noch das zweite Bild für den Hover drangemacht.
-
Vielen Dank, leider sehe ich darin irgend wie kein nutzen. Wie hast du es dir vorgestellt?
Ich sehe was es vermutlich macht. Leider kann ich damit das Bild nicht ändern um den Hovereffekt darzustellen.
Ich brauche da doch ein etwas größeren Denkanstaoß
mfg Freaky -
Danke Marsi, aber leider geht deine UDF an meiner Form nicht. Ich vermute, dass mein Background es überlapt.
Nun bin ich bei meiner Theorie weiter gekommen.
Ich habe jetzt erfolgreich den Button in die Gui gebracht und ich kann jetzt auslesen ob draufgedrückt wird oder nur drauf ist auf dem Button.
Das Problem ist jetzt, ich weiß nicht wie ich den Hover effekt erstellen kann.
Da sind eigentlich 2 Probleme.
1. Ich weiß nicht wie ich das Bild ändern kann.
2. Ich weiß nicht wie ich die Abfrage richtig einbaue da ich ja vermutlich das Bild nicht einfach austauschen kann.Vorsicht bissig :D
[autoit]#include <GUIConstantsEx.au3>
[/autoit] [autoit][/autoit] [autoit]
#include <WindowsConstants.au3>
#include <GDIPlus.au3>
#include <WinAPI.au3>
#include <IE.au3>
#include <Misc.au3>
#include <Array.au3>Global $hGUI, $hImage, $hGraphic, $hImage, $gButtons[1][3]
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
Global Const $SC_DRAGMOVE = 0xF012
Global $iImagePfad = @ScriptDir & "\Bilder\", $i_GDIPlus_Startup()
[/autoit] [autoit][/autoit] [autoit]
$hImage = _GDIPlus_ImageLoadFromFile($iImagePfad & "background.png")
$iWidth = _GDIPlus_ImageGetWidth($hImage)
$iHeight = _GDIPlus_ImageGetHeight($hImage)$oIE = _IECreateEmbedded()
[/autoit] [autoit][/autoit] [autoit]; Create GUI
[/autoit] [autoit][/autoit] [autoit]
$hGUI = GUICreate("Test", $iWidth, $iHeight, -5000, -5000, $WS_POPUP, $WS_EX_LAYERED + $WS_EX_TOPMOST)
$hGUI_child = GUICreate("", $iWidth, $iHeight, -5000, -5000, $WS_POPUP, $WS_EX_LAYERED + $WS_EX_TOPMOST + $WS_EX_MDICHILD, $hGUI)
GUISetBkColor(0, $hGUI_child)
GUISetState(@SW_SHOW, $hGUI)
GUISetState(@SW_SHOW, $hGUI_child)
SetTransparentBitmap($hGUI, $hImage)
_WinAPI_SetLayeredWindowAttributes($hGUI_child, 0x00, 0xff)$iButton1 = GUICtrlCreateButton("hallo", 50, 50, 134, 33)
[/autoit] [autoit][/autoit] [autoit]
$iButton2 = _GuiCtrlCreatePic($hGUI_child, $iImagePfad & "\start_1.jpg", 100, 100)
;~ $iButton3 = _GuiCtrlCreatePic($hGUI, $iImagePfad & "\start_0.jpg", 200, 100)
;~ GUICtrlCreatePic ($iImagePfad & "\start_1.jpg",50,50,143,33);~ GUICtrlCreateObj ($oIE,50,50,100,100)
[/autoit] [autoit][/autoit] [autoit]
;~ _IENavigate($oIE, 'http://google.de')GUIRegisterMsg($WM_LBUTTONDOWN, "_WM_LBUTTONDOWN")
[/autoit] [autoit][/autoit] [autoit]WinMove($hGUI, "", (@DesktopWidth / 2) - ($iWidth / 2), (@DesktopHeight / 2) - ($iHeight / 2))
[/autoit] [autoit][/autoit] [autoit]
WinMove($hGUI_child, "", (@DesktopWidth / 2) - ($iWidth / 2), (@DesktopHeight / 2) - ($iHeight / 2))While 1
[/autoit] [autoit][/autoit] [autoit]
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
ExitLoop
EndSwitch
ToolTip(_ButtonHover($hGUI_child, $iButton2), 0, 0)WEnd
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]; Clean up resources
[/autoit] [autoit][/autoit] [autoit]
_GDIPlus_GraphicsDispose($hGraphic)
_GDIPlus_Shutdown()
Exit; Draw PNG image
[/autoit] [autoit][/autoit] [autoit]
Func MY_WM_PAINT($hWnd, $Msg, $wParam, $lParam)
_GDIPlus_GraphicsDrawImage($hGraphic, $hImage, 0, 0)
_WinAPI_RedrawWindow($hGUI, 0, 0, 1)
Return $GUI_RUNDEFMSG
EndFunc ;==>MY_WM_PAINTFunc _WM_LBUTTONDOWN($hWnd, $iMsg, $wParam, $lParam)
[/autoit] [autoit][/autoit] [autoit]
_SendMessage($hGUI, $WM_SYSCOMMAND, $SC_DRAGMOVE, 0)
EndFunc ;==>_WM_LBUTTONDOWNFunc SetTransparentBitmap($hGUI, $hImage, $iOpacity = 0xFF)
[/autoit] [autoit][/autoit] [autoit]
Local $hScrDC, $hMemDC, $hBitmap, $hOld, $pSize, $tSize, $pSource, $tSource, $pBlend, $tBlend
$hScrDC = _WinAPI_GetDC(0)
$hMemDC = _WinAPI_CreateCompatibleDC($hScrDC)
$hBitmap = _GDIPlus_BitmapCreateHBITMAPFromBitmap($hImage)
$hOld = _WinAPI_SelectObject($hMemDC, $hBitmap)
$tSize = DllStructCreate($tagSIZE)
$pSize = DllStructGetPtr($tSize)
DllStructSetData($tSize, "X", _GDIPlus_ImageGetWidth($hImage))
DllStructSetData($tSize, "Y", _GDIPlus_ImageGetHeight($hImage))
$tSource = DllStructCreate($tagPOINT)
$pSource = DllStructGetPtr($tSource)
$tBlend = DllStructCreate($tagBLENDFUNCTION)
$pBlend = DllStructGetPtr($tBlend)
DllStructSetData($tBlend, "Alpha", $iOpacity)
DllStructSetData($tBlend, "Format", 1)
_WinAPI_UpdateLayeredWindow($hGUI, 0, 0, $pSize, $hMemDC, $pSource, 0, $pBlend, $ULW_ALPHA)
_WinAPI_ReleaseDC(0, $hScrDC)
_WinAPI_SelectObject($hMemDC, $hOld)
_WinAPI_DeleteObject($hBitmap)
_WinAPI_DeleteDC($hMemDC)
EndFunc ;==>SetTransparentBitmapFunc _GuiCtrlCreatePic($gGui, $iPicture, $iX = 0, $iY = 0)
[/autoit] [autoit][/autoit] [autoit]
$gImage = _GDIPlus_ImageLoadFromFile($iPicture)
$gWidth = _GDIPlus_ImageGetWidth($gImage)
$gHeight = _GDIPlus_ImageGetHeight($gImage)$iGui = GUICreate("", $gWidth, $gHeight, $iX, $iY, $WS_POPUP, BitOR($WS_EX_LAYERED, $WS_EX_MDICHILD), $gGui)
[/autoit] [autoit][/autoit] [autoit]
$iLabel = GUICtrlCreateLabel("", 0, 0, $gWidth, $gHeight)
GUISetBkColor(0, $iGui)
GUISetState(@SW_SHOW, $iGui)
SetTransparentBitmap($iGui, $gImage);~ Local $iReturn[6] = [0, SetError(0, $iGui, $iLabel), $iX, $iY, $gWidth, $gHeight]
[/autoit] [autoit][/autoit] [autoit]Return SetError(0, $iGui, $iLabel)
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
EndFunc ;==>_GuiCtrlCreatePicFunc _ButtonCheckHover($iGui, $iButton)
[/autoit]
$iMouse = GUIGetCursorInfo($iGui)
If ($iMouse[0] >= $iButton[2]) And _
($iMouse[0] <= $iButton[2] + $iButton[4]) And _
($iMouse[1] >= $iButton[3]) And _
($iMouse[1] <= $iButton[3] + $iButton[5]) Then ; Button hover
If (_IsPressed("01")) Then
Return 2
Else
Return 1
EndIf
Else
Return False
EndIf
EndFunc ;==>_ButtonHoverIch hoffe ihr könnt mir helfen. Ich glaube sicher das mehrer Leute an sowas schon gescheitert sind

mfg Freaky
-
Ach mist, sorry & danke. Dies habe ich übersehen zu löschen.
Lösch die Zeile einfach bitte. Die wird zur Zeit nicht benötigt.
Habe es auch oben gwegeditiert.
mfg Freaky -
Hmm, leider sitze ich immer noch an dem Problem.
Vielleicht liegt es auch daran, dass ich nur Nachts antworten kann. Aber daran kann ich nichts ändern, wenn ich schon in den USA lebe >.>
Also Leute, bitte hilft mir oder schickt den Thread an Leute weiter, die mir vielleicht helfen können
mfg Freaky -
Hallo,
ich möchte eine Form machen mit schönen Bildern etc.
Das Problem ist, wenn ich ein Button als Bild darstelle mit GuiCtrlCreatePic hinbatsche, dann ist mein Hintergrundbild, dass mit GDI+ dargestellt wird, schwarz.
Nun habe ich es versuchen mit dem selben weg, wie ich das Hintergrundbild dargestellt habe, meine Buttons darzustellen.
Leider kommt das Bild irgend wo auf dem Desktop und nicht in der Gui obwohl ich ein Parent angegeben habe.Spoiler anzeigen
[autoit]#include <GUIConstantsEx.au3>
[/autoit] [autoit][/autoit] [autoit]
#include <WindowsConstants.au3>
#include <GDIPlus.au3>
#Include <WinAPI.au3>
#include <IE.au3>Global $hGUI, $hImage, $hGraphic, $hImage
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
Global Const $SC_DRAGMOVE = 0xF012
Global $iImagePfad = @ScriptDir & "\Bilder\", $i_GDIPlus_StartUp()
[/autoit] [autoit][/autoit] [autoit]
$hImage = _GDIPlus_ImageLoadFromFile($iImagePfad & "background.png")
$iWidth = _GDIPlus_ImageGetWidth($hImage)
$iHeight = _GDIPlus_ImageGetHeight($hImage)$oIE=_IECreateEmbedded()
[/autoit] [autoit][/autoit] [autoit]; Create GUI
[/autoit] [autoit][/autoit] [autoit]
$hGUI = GUICreate("Test", $iWidth, $iHeight, -5000, -5000, $WS_POPUP, $WS_EX_LAYERED + $WS_EX_TOPMOST)
$hGUI_child = GUICreate("", $iWidth, $iHeight, -5000, -5000, $WS_POPUP, $WS_EX_LAYERED + $WS_EX_TOPMOST + $WS_EX_MDICHILD, $hGUI)
GUISetBkColor(0, $hGUI_child)
GUISetState(@SW_SHOW, $hGUI)
GUISetState(@SW_SHOW, $hGUI_child)
SetTransparentBitmap($hGUI, $hImage)
_WinAPI_SetLayeredWindowAttributes($hGUI_child, 0x00, 0xff)GUICtrlCreateButton ("hallo",50,50,134,33)
[/autoit] [autoit][/autoit] [autoit]
_GuiCtrlCreatePic ($hGUI_child,$iImagePfad & "\start_1.png",100,100)
;~ GUICtrlCreatePic ($iImagePfad & "\start_1.jpg",50,50,143,33);~ GUICtrlCreateObj ($oIE,50,50,100,100)
[/autoit] [autoit][/autoit] [autoit]
;~ _IENavigate($oIE, 'http://google.de')GUIRegisterMsg($WM_LBUTTONDOWN, "_WM_LBUTTONDOWN")
[/autoit] [autoit][/autoit] [autoit]WinMove ($hGUI,"",(@DesktopWidth/2)-($iWidth/2),(@DesktopHeight/2)-($iHeight/2))
[/autoit] [autoit][/autoit] [autoit]
WinMove ($hGUI_child,"",(@DesktopWidth/2)-($iWidth/2),(@DesktopHeight/2)-($iHeight/2))While 1
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
ExitLoop
EndSwitch
WEnd; Clean up resources
[/autoit] [autoit][/autoit] [autoit]
_GDIPlus_GraphicsDispose($hGraphic)
_GDIPlus_ShutDown()
Exit; Draw PNG image
[/autoit] [autoit][/autoit] [autoit]
Func MY_WM_PAINT($hWnd, $Msg, $wParam, $lParam)
_GDIPlus_GraphicsDrawImage($hGraphic, $hImage, 0, 0)
_WinAPI_RedrawWindow($hGUI, 0, 0, 1)
Return $GUI_RUNDEFMSG
EndFuncFunc _WM_LBUTTONDOWN($hWnd, $iMsg, $wParam, $lParam)
[/autoit] [autoit][/autoit] [autoit]
_SendMessage($hGUI, $WM_SYSCOMMAND, $SC_DRAGMOVE, 0)
EndFunc ;==>_WM_LBUTTONDOWNFunc SetTransparentBitmap($hGUI, $hImage, $iOpacity = 0xFF)
[/autoit] [autoit][/autoit] [autoit]
Local $hScrDC, $hMemDC, $hBitmap, $hOld, $pSize, $tSize, $pSource, $tSource, $pBlend, $tBlend
$hScrDC = _WinAPI_GetDC(0)
$hMemDC = _WinAPI_CreateCompatibleDC($hScrDC)
$hBitmap = _GDIPlus_BitmapCreateHBITMAPFromBitmap($hImage)
$hOld = _WinAPI_SelectObject($hMemDC, $hBitmap)
$tSize = DllStructCreate($tagSIZE)
$pSize = DllStructGetPtr($tSize)
DllStructSetData($tSize, "X", _GDIPlus_ImageGetWidth($hImage))
DllStructSetData($tSize, "Y", _GDIPlus_ImageGetHeight($hImage))
$tSource = DllStructCreate($tagPOINT)
$pSource = DllStructGetPtr($tSource)
$tBlend = DllStructCreate($tagBLENDFUNCTION)
$pBlend = DllStructGetPtr($tBlend)
DllStructSetData($tBlend, "Alpha", $iOpacity)
DllStructSetData($tBlend, "Format", 1)
_WinAPI_UpdateLayeredWindow($hGUI, 0, 0, $pSize, $hMemDC, $pSource, 0, $pBlend, $ULW_ALPHA)
_WinAPI_ReleaseDC(0, $hScrDC)
_WinAPI_SelectObject($hMemDC, $hOld)
_WinAPI_DeleteObject($hBitmap)
_WinAPI_DeleteDC($hMemDC)
EndFunc ;==>SetBitmapFunc _GuiCtrlCreatePic ($gGui, $iPicture, $iX = 0, $iY = 0)
[/autoit] [autoit][/autoit] [autoit]
$gImage = _GDIPlus_ImageLoadFromFile($iPicture)
$gWidth = _GDIPlus_ImageGetWidth($hImage)
$gHeight = _GDIPlus_ImageGetHeight($hImage)$iGui = GUICreate ("",$gWidth,$gHeight,$iX,$iY, $WS_POPUP, $WS_EX_LAYERED + $WS_EX_TOPMOST, $gGui)
[/autoit]
GUISetBkColor(0, $iGui)
GUISetState(@SW_SHOW, $iGui)
SetTransparentBitmap($iGui, $gImage)
EndFunc
Bilder sind unten im Anhang.Ich hoffe ihr könnt mir helfen

mfg FreakyPS: Wenn ihr es rausgefunden habt, und mir bei meinem zweiten Problem helfen könnt, liest bitte den Spoiler.
Spoiler anzeigen
Ich habe ein IE Object ausgeklammert. Weiß einer wie ich eine Webseite ohne den IE Object Rand darstellen kann? Also als ob die Webseite zu der Form gehört?
-
Öhm, ich glaube du hast mich ziemlich falsch verstanden.
Ich habe ein Bild mit runden Kannten und einem schönnen Schatten (das Bild, nicht die Form). Dieses Bild möchte ich nun als Hintergrundbild für eine Form verwenden. Dies sollte aber so funktionieren, dass ich immer noch weitere Objecte fehlerfrei benutzen kann.
Ich hoffe du hast mich diesmal besser verstanden
mfg Freaky -
Hallo,
ich wurde gebeten für ein Freund ein kelines Script zu schreiben mit ein paar Bildern.
Leider hat sein Backgroundbild runde Kannten und ein Schatten. Ich weiß, dass ich es mit normalen Befehlen nicht hinbekomme und ich weiß ebenfalls das ich GDI+ benutzen muss.
Leider ist mir ebenfalls aufgefallen, dass ich keine normalen Objecte mehr verwenden kann wie z.B. ein IE Object, Buttons, Ladebalken, Inputs etc.
Kennt einer eine Möglichkeit die es doch machbar läst? Wenn ja, dann wär es echt supper wenn ihr mir sagen könnt wie ich es anstellen kann (mit Beispielen wäre echt supper :)).
mfg Freaky
-
Hallo,
ich möchte mir ein kelinen Downloader für erst einmal YouTube schreiben. Es soll mir einfach die .flv runterladen. Leider verzweifel ich schon den direkten Link zu finden vom Video.
Wisst ihr wie ich es finde? Oder kennt ihr ein Tutorial dafür?
mfg Freaky -
Ah ok vielen Dank. Komisch das dein Proxy bei meinen Tests durchgefallen ist

Nun funktioniert alles
-
Hey danke, dürfte ich erfahren welche Art dein Proxy ist?
Dein Script funktioniert aber wenn ich überprüfen ob es HTTPS, Socks4 oder Socks5 ist, fliegt jeder Test von Proxifier durch.