Всем здарасте
Такая проблемка, у меня есть окно, фон которого - png изображение. Все работает на ура, пока не появляется потребность отрисовать на нем другое png изображение, оно элементарно не отображается, прошу у вас совета :-\
Это что-то вроде изображения-кнопки, тогда наверное нужно рисовать динамически? :-\
Такая проблемка, у меня есть окно, фон которого - png изображение. Все работает на ура, пока не появляется потребность отрисовать на нем другое png изображение, оно элементарно не отображается, прошу у вас совета :-\
Это что-то вроде изображения-кнопки, тогда наверное нужно рисовать динамически? :-\
Код:
#NoTrayIcon
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <GDIPlus.au3>
#Include <WinAPIEx.au3>
Global _
$_sTitle = "", _
$hImage[6][2], $hBitmap[6][2]
$hImage[1][0] = "3.png"
$hImage[2][0] = "Play.png"
_GDIPlus_Startup()
$hBitmap[1][0] = _GDIPlus_BitmapCreateFromFile(@ScriptDir & "\" & $hImage[1][0])
$hBitmap[1][1] = _GDIPlus_BitmapCreateHBITMAPFromBitmap($hBitmap[1][0])
_GDIPlus_BitmapDispose($hBitmap[1][0])
$hForm = GUICreate($_sTitle, 175, 40, -1, -1, -1, $WS_EX_LAYERED)
$hBitmap[2][0] = _GDIPlus_BitmapCreateFromFile(@ScriptDir & "\Play.png")
$hGraphic = _GDIPlus_ImageGetGraphicsContext($hBitmap[2][0])
_WinAPI_UpdateLayeredWindowEx($hForm, -1, -1, $hBitmap[1][1], 255)
_GDIPlus_GraphicsDrawImageRect($hGraphic, $hBitmap[2][0], 10, 10, 16, 16)
_GDIPlus_GraphicsDispose($hGraphic)
_GDIPlus_BitmapDispose($hBitmap[2][0])
GUIRegisterMsg($WM_NCHITTEST, "WM_NCHITTEST")
GUISetState(@SW_SHOW, $hForm)
While 1
_GDIPlus_GraphicsDrawImageRect($hGraphic, $hBitmap[2][0], 10, 10, 16, 16)
_WinAPI_UpdateLayeredWindowEx($hForm, -1, -1, $hBitmap[1][1], 225)
Switch GUIGetMsg()
Case $GUI_EVENT_CLOSE
_GDIPlus_Shutdown()
Exit
EndSwitch
WEnd
Func WM_NCHITTEST($hWnd, $iMsg, $iwParam, $ilParam)
Switch $hWnd
Case $hForm
Switch $iMsg
Case $WM_NCHITTEST
Return $HTCAPTION
EndSwitch
EndSwitch
Return $GUI_RUNDEFMSG
EndFunc ;==>WM_NCHITTEST
OffTopic:
Подобная тема уже была (и я был её автором), но совет "разобрать калькулятор Yashied'a" увы ни к чему не привел, код для меня слишком сложен и непонятен :'(
Подобная тема уже была (и я был её автором), но совет "разобрать калькулятор Yashied'a" увы ни к чему не привел, код для меня слишком сложен и непонятен :'(