Что нового

Skin_01b несколько вопросов

saraconor

Новичок
Сообщения
387
Репутация
3
Дополнительные файлы тут: https://yadi.sk/d/9v57HOi2ghdPx
Код:
#region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_Icon=Metico.ico
#AutoIt3Wrapper_Res_File_Add=Form.png, PNG, FORM
#AutoIt3Wrapper_Res_File_Add=Warn.png, PNG, WARN
#AutoIt3Wrapper_Res_File_Add=0.bmp, 2, 0
#AutoIt3Wrapper_Res_File_Add=1.bmp, 2, 1
#AutoIt3Wrapper_Res_File_Add=2.bmp, 2, 2
#AutoIt3Wrapper_Res_File_Add=3.bmp, 2, 3
#AutoIt3Wrapper_Res_File_Add=4.bmp, 2, 4
#AutoIt3Wrapper_Res_File_Add=5.bmp, 2, 5
#AutoIt3Wrapper_Res_File_Add=6.bmp, 2, 6
#AutoIt3Wrapper_Res_File_Add=7.bmp, 2, 7
#AutoIt3Wrapper_Res_File_Add=8.bmp, 2, 8
#AutoIt3Wrapper_Res_File_Add=9.bmp, 2, 9
#AutoIt3Wrapper_Res_File_Add=10.bmp, 2, 10
#AutoIt3Wrapper_Res_File_Add=11.bmp, 2, 11
#AutoIt3Wrapper_Res_File_Add=12.bmp, 2, 12
#AutoIt3Wrapper_Res_File_Add=13.bmp, 2, 13
#AutoIt3Wrapper_Res_File_Add=14.bmp, 2, 14
#AutoIt3Wrapper_Res_File_Add=15.bmp, 2, 15
#AutoIt3Wrapper_Res_File_Add=16.bmp, 2, 16
#AutoIt3Wrapper_Res_File_Add=17.bmp, 2, 17
#AutoIt3Wrapper_Res_File_Add=18.bmp, 2, 18
#AutoIt3Wrapper_Res_File_Add=19.bmp, 2, 19
#AutoIt3Wrapper_Res_File_Add=20.bmp, 2, 20
#AutoIt3Wrapper_Res_File_Add=21.bmp, 2, 21
#AutoIt3Wrapper_Res_File_Add=22.bmp, 2, 22
#AutoIt3Wrapper_Res_File_Add=23.bmp, 2, 23
#AutoIt3Wrapper_Res_File_Add=25.bmp, 2, 25
#AutoIt3Wrapper_Res_File_Add=26.bmp, 2, 26
#AutoIt3Wrapper_Res_File_Add=27.bmp, 2, 27
#AutoIt3Wrapper_Res_File_Add=28.bmp, 2, 28
#AutoIt3Wrapper_Res_File_Add=29.bmp, 2, 29
#AutoIt3Wrapper_Res_File_Add=30.bmp, 2, 30
#AutoIt3Wrapper_Res_File_Add=31.bmp, 2, 31
#AutoIt3Wrapper_Res_File_Add=32.bmp, 2, 32
#AutoIt3Wrapper_Res_File_Add=33.bmp, 2, 33
#AutoIt3Wrapper_Res_File_Add=34.bmp, 2, 34
#AutoIt3Wrapper_Res_File_Add=35.bmp, 2, 35
#AutoIt3Wrapper_Res_File_Add=36.bmp, 2, 36
#AutoIt3Wrapper_Res_File_Add=37.bmp, 2, 37
#AutoIt3Wrapper_Res_File_Add=38.bmp, 2, 38
#AutoIt3Wrapper_Res_File_Add=39.bmp, 2, 39
#AutoIt3Wrapper_Res_File_Add=40.bmp, 2, 40
#AutoIt3Wrapper_Res_File_Add=41.bmp, 2, 41
#AutoIt3Wrapper_Res_File_Add=42.bmp, 2, 42
#AutoIt3Wrapper_Res_File_Add=43.bmp, 2, 43
#AutoIt3Wrapper_Res_File_Add=44.bmp, 2, 44
#AutoIt3Wrapper_Res_File_Add=45.bmp, 2, 45
#AutoIt3Wrapper_Res_File_Add=46.bmp, 2, 46
#AutoIt3Wrapper_Res_File_Add=47.bmp, 2, 47
#AutoIt3Wrapper_Res_File_Add=48.bmp, 2, 48
#AutoIt3Wrapper_Res_File_Add=49.bmp, 2, 49
#AutoIt3Wrapper_Res_File_Add=50.bmp, 2, 50
#AutoIt3Wrapper_Res_File_Add=51.bmp, 2, 51
#AutoIt3Wrapper_Res_File_Add=52.bmp, 2, 52
#AutoIt3Wrapper_Res_File_Add=53.bmp, 2, 53
#AutoIt3Wrapper_Res_File_Add=54.bmp, 2, 54
#AutoIt3Wrapper_Res_File_Add=55.bmp, 2, 55
#AutoIt3Wrapper_Res_File_Add=56.bmp, 2, 56
#AutoIt3Wrapper_Res_File_Add=57.bmp, 2, 57
#AutoIt3Wrapper_Res_File_Add=58.bmp, 2, 58
#AutoIt3Wrapper_Res_File_Add=59.bmp, 2, 59
#AutoIt3Wrapper_Res_File_Add=60.bmp, 2, 60
#AutoIt3Wrapper_Res_File_Add=61.bmp, 2, 61
#AutoIt3Wrapper_Res_File_Add=62.bmp, 2, 62
#AutoIt3Wrapper_Res_File_Add=63.bmp, 2, 63
#AutoIt3Wrapper_Res_File_Add=64.bmp, 2, 64
#AutoIt3Wrapper_Res_File_Add=65.bmp, 2, 65
#AutoIt3Wrapper_Res_File_Add=66.bmp, 2, 66
#AutoIt3Wrapper_Res_File_Add=67.bmp, 2, 67
#AutoIt3Wrapper_Res_File_Add=68.bmp, 2, 68
#AutoIt3Wrapper_Res_File_Add=69.bmp, 2, 69
#AutoIt3Wrapper_Res_File_Add=70.bmp, 2, 70
#AutoIt3Wrapper_Res_File_Add=71.bmp, 2, 71
#AutoIt3Wrapper_Res_File_Add=72.bmp, 2, 72
#AutoIt3Wrapper_Res_File_Add=73.bmp, 2, 73
#AutoIt3Wrapper_Res_File_Add=74.bmp, 2, 74
#AutoIt3Wrapper_Res_File_Add=75.bmp, 2, 75
#AutoIt3Wrapper_Res_File_Add=76.bmp, 2, 76
#AutoIt3Wrapper_Res_File_Add=77.bmp, 2, 77
#AutoIt3Wrapper_Res_File_Add=78.bmp, 2, 78
#AutoIt3Wrapper_Res_File_Add=79.bmp, 2, 79
#AutoIt3Wrapper_Res_File_Add=80.bmp, 2, 80
#AutoIt3Wrapper_Res_File_Add=81.bmp, 2, 81
#AutoIt3Wrapper_Res_File_Add=82.bmp, 2, 82
#AutoIt3Wrapper_Res_File_Add=83.bmp, 2, 83
#AutoIt3Wrapper_Res_File_Add=84.bmp, 2, 84
#AutoIt3Wrapper_Res_File_Add=85.bmp, 2, 85
#AutoIt3Wrapper_Res_File_Add=86.bmp, 2, 86
#AutoIt3Wrapper_Res_File_Add=87.bmp, 2, 87
#AutoIt3Wrapper_Res_File_Add=88.bmp, 2, 88
#AutoIt3Wrapper_Res_File_Add=89.bmp, 2, 89
#AutoIt3Wrapper_Res_File_Add=90.bmp, 2, 90
#AutoIt3Wrapper_Res_File_Add=91.bmp, 2, 91
#AutoIt3Wrapper_Res_File_Add=92.bmp, 2, 92
#AutoIt3Wrapper_Res_File_Add=93.bmp, 2, 93
#AutoIt3Wrapper_Res_File_Add=94.bmp, 2, 94
#AutoIt3Wrapper_Res_File_Add=95.bmp, 2, 95
#AutoIt3Wrapper_Res_File_Add=96.bmp, 2, 96
#AutoIt3Wrapper_Res_File_Add=97.bmp, 2, 97

#endregion ;**** Directives created by AutoIt3Wrapper_GUI ****
Opt("TrayIconDebug", 1)
#include <APIConstants.au3>
#include <GDIPlus.au3>
#include <GUIConstantsEx.au3>
#include <WinAPIEx.au3>
#include <Skin_01b.au3>
#include <ClipBoard.au3>			;точная вставка клипборда
#include <Array.au3>				;работа с массивами
#include <Misc.au3>
#include <GUIConstants.au3>
#include <WindowsConstants.au3>		;создание окна
#include <ButtonConstants.au3>		;свойства кнопок в интерфейсе
#include <FileOperations.au3>
#include <Date.au3>
#include <APIConstants.au3>
#include <GuiButton.au3>
#include <GDIPlus.au3>
HotKeySet("!^+{й}", "escape") ;завершить процесс
local $exmain=0

$col = 97 ;количество кнопок
Dim $hBmp[$col + 1]
For $i = 0 To $col
	$hBmp[$i] = _LoadBitmap($i)
Next
_GDIPlus_Startup()
$hPng = _LoadPNG('FORM')
$hBitmap = _GDIPlus_BitmapCreateHBITMAPFromBitmap($hPng)
$hParent = GUICreate('', 525, 219, -1, -1, $WS_POPUP, $WS_EX_LAYERED)
_WinAPI_UpdateLayeredWindowEx($hParent, -1, -1, $hBitmap, 255, 1)
_GDIPlus_ImageDispose($hPng)
_GDIPlus_Shutdown()
$hForm = GUICreate('', 592, 248, 56, 25, $WS_POPUP, $WS_EX_MDICHILD, $hParent)	;меню с кнопками "ТЕХНОЛОГИИ"
GUICtrlCreatePic('', 0, 0, 592, 248)
GUICtrlSendMsg(-1, 0x0172, $IMAGE_BITMAP, _LoadBitmap(0))
GUICtrlSetState(-1, $GUI_DISABLE)

;окнопки
Dim $GLOB,$but1n,$but2n,$but3n,$but4n,$but5n,$Button1,$Button2,$Button3,$Button4,$Button5,$Button6,$Button7,$Button8,$Button,$Teh_1,$Teh_2,$Teh_3,$Teh_4,$Teh_5,$Teh_6,$Teh_7,$Teh_8,$Teh_9,$Teh_10,$Teh_11,$Teh_12,$Teh_13,$Teh_14,$Teh_15,$Teh_16,$Teh_17,$Teh_18,$Teh_19,$Teh_20,$Teh_21,$Teh_22,$Teh_23,$Teh_24
;кнопки интерфейса -----------------------------------------------------------------------------------------------------------------------------------------------------
Dim $i1a=3,$i1b=4,$i1c=1,$i2a=5,$i2b=6,$i2c=7,$i3a=9,$i3b=10,$i3c=11,$i4a=13,$i4b=14,$i4c=15,$i5a=17,$i5b=18,$i5c=19,$i6a=21,$i6b=22,$i6c=23,$i7a=25,$i7b=26,$i7c=27,$i8a=31,$i8b=32,$i8c=33
;дочерние кнопки -----------------------------------------------------------------------------------------------------------------------------------------------------
Dim $11a=34,$11b=35,$11c=36,$12a=37,$12b=38,$12c=39,$13a=40,$13b=41,$13c=42,$14a=43,$14b=44,$14c=45,$15a=46,$15b=47,$15c=48,$16a=49,$16b=50,$16c=51,$21a=52,$21b=53,$21c=54,$22a=55,$22b=56,$22c=57,$23a=58,$23b=59,$23c=60,$24a=61,$24b=62,$24c=63,$25a=64,$25b=65,$25c=66,$26a=67,$26b=68,$26c=69,$31a=70,$31b=71,$31c=72,$32a=73,$32b=74,$32c=75,$33a=76,$33b=77,$33c=78,$34a=79,$34b=80,$34c=81,$35a=82,$35b=83,$35c=84,$36a=85,$36b=86,$36c=87,$41a=88,$41b=89,$41c=90,$42a=91,$42b=92,$42c=93,$43a=94,$43b=94,$43c=94,$44a=95,$44b=95,$44c=95,$45a=96,$45b=96,$45c=96,$46a=97,$46b=97,$46c=97

$GLOB=1	;основные кнопоки по умолчанию
$but1n=1
$but2n=0
$but3n=0
$but4n=0
$but5n=0
GUIRegisterMsg($WM_NCHITTEST, 'WM_NCHITTEST')

NAZ_INT()	;назначить кнопки интерфейса
NAZ_TEH()	;назначить кнопки технологий

TEH_cicle()
maincicle()
Func maincicle()	;цикл сканирования хоткеев
	While $exmain = 0
	Sleep(200)
	WEnd
	TEH_cicle()
EndFunc   ;==>maincicle

Func TEH_cicle()	;цикл нажатия кнопок
GUISetState(@SW_SHOW, $hParent)
GUISetState(@SW_SHOW, $hForm)

While 1
_Skin_Helper($hForm)
Switch GUIGetMsg()
;--------------( кнопки интерфейса )-----------------
Case $Button1
	$GLOB=1
	KNOP_ON()
Case $Button2
	$GLOB=2
	KNOP_ON()
Case $Button3
	$GLOB=3
	KNOP_ON()
Case $Button4
	$GLOB=4
	KNOP_ON()
Case $Button5
	$GLOB=5
	KNOP_ON()

;--------------( кнопка выхода )-----------------
Case $Button8
	GUISetState(@SW_HIDE, $hParent)
	GUISetState(@SW_HIDE, $hForm)
	Dim $GLOB=1,$but1n=1,$but2n=0,$but3n=0,$but4n=0,$but5n=0,$i1a=3,$i1b=4,$i1c=1,$i2a=5,$i2b=6,$i2c=7,$i3a=9,$i3b=10,$i3c=11,$i4a=13,$i4b=14,$i4c=15,$i5a=17,$i5b=18,$i5c=19,$11a=34,$11b=35,$11c=36,$12a=37,$12b=38,$12c=39,$13a=40,$13b=41,$13c=42,$14a=43,$14b=44,$14c=45,$15a=46,$15b=47,$15c=48,$16a=49,$16b=50,$16c=51,$21a=52,$21b=53,$21c=54,$22a=55,$22b=56,$22c=57,$23a=58,$23b=59,$23c=60,$24a=61,$24b=62,$24c=63,$25a=64,$25b=65,$25c=66,$26a=67,$26b=68,$26c=69,$31a=70,$31b=71,$31c=72,$32a=73,$32b=74,$32c=75,$33a=76,$33b=77,$33c=78,$34a=79,$34b=80,$34c=81,$35a=82,$35b=83,$35c=84,$36a=85,$36b=86,$36c=87,$41a=88,$41b=89,$41c=90,$42a=91,$42b=92,$42c=93,$43a=94,$43b=94,$43c=94,$44a=95,$44b=95,$44c=95,$45a=96,$45b=96,$45c=96,$46a=97,$46b=97,$46c=97
	NAZ_INT()
	NAZ_TEH()
	$exmain = 0
	ExitLoop
	EndSwitch
	WEnd
	maincicle()
EndFunc   ;==>TEH_cicle

Func KNOP_ON() ;действие кнопок интерфейса
BlockInput(1)
If $GLOB=1 Then
If $but1n=0 Then	;переменные цвета
Dim $but1n=1,$but2n=0,$but3n=0,$but4n=0,$but5n=0,$i1a=3,$i1b=4,$i1c=1,$i2a=5,$i2b=6,$i2c=7,$i3a=9,$i3b=10,$i3c=11,$i4a=13,$i4b=14,$i4c=15,$i5a=17,$i5b=18,$i5c=19
;Технологии
Else
If ($but2n=1 Or $but3n=1 Or $but4n=1 Or $but5n=1) Then
Dim $i1a=1,$i1b=2,$i1c=3,$but1n=0
EndIf
EndIf
NAZ_INT()
NAZ_TEH()
BlockInput(0)
Return
EndIf

If $GLOB=2 Then
If $but2n=0 Then ;переменные цвета
Dim $but1n=0,$but2n=1,$but3n=0,$but4n=0,$but5n=0,$i1a=1,$i1b=2,$i1c=3,$i2a=7,$i2b=8,$i2c=5,$i3a=9,$i3b=10,$i3c=11,$i4a=13,$i4b=14,$i4c=15,$i5a=17,$i5b=18,$i5c=19
Else
If ($but1n=1 Or $but3n=1 Or $but4n=1 Or $but5n=1) Then
Dim $i2a=5,$i2b=6,$i2c=7,$but2n=0
EndIf
EndIf
NAZ_INT()
NAZ_TEH()
BlockInput(0)
Return
EndIf

If $GLOB=3 Then
If $but3n=0 Then	;переменные цвета
Dim $but1n=0,$but2n=0,$but3n=1,$but4n=0,$but5n=0,$i1a=1,$i1b=2,$i1c=3,$i2a=5,$i2b=6,$i2c=7,$i3a=11,$i3b=12,$i3c=9,$i4a=13,$i4b=14,$i4c=15,$i5a=17,$i5b=18,$i5c=19
Else
If ($but2n = 1 Or $but1n = 1 Or $but4n = 1 Or $but5n = 1) Then
Dim $i3a=9,$i3b=10,$i3c=11,$but3n=0
EndIf
EndIf
NAZ_INT()
NAZ_TEH()
BlockInput(0)
Return
EndIf
If $GLOB=4 Then
If $but4n=0 Then	;переменные цвета
Dim $but1n=0,$but2n=0,$but3n=0,$but4n=1,$but5n=0,$i1a=1,$i1b=2,$i1c=3,$i2a=5,$i2b=6,$i2c=7,$i3a=9,$i3b=10,$i3c=11,$i4a=15,$i4b=16,$i4c=13,$i5a=17,$i5b=18,$i5c=19
Else
If ($but2n = 1 Or $but3n = 1 Or $but1n = 1 Or $but5n = 1) Then
Dim $i4a=13,$i4b=14,$i4c=15,$but4n=0
EndIf
EndIf
NAZ_INT()
NAZ_TEH()
BlockInput(0)
Return
EndIf
If $GLOB = 5 Then
If $but5n = 0 Then	;переменные цвета
Dim $but1n=0,$but2n=0,$but3n=0,$but4n=0,$but5n=1,$i1a=1,$i1b=2,$i1c=3,$i2a=5,$i2b=6,$i2c=7,$i3a=9,$i3b=10,$i3c=11,$i4a=13,$i4b=14,$i4c=15,$i5a=19,$i5b=20,$i5c=17
Else
If ($but2n = 1 Or $but3n = 1 Or $but4n = 1 Or $but1n = 1) Then
Dim $i5a=17,$i5b=18,$i5c=19,$but5n=0
EndIf
EndIf
NAZ_INT()
NAZ_TEH()
BlockInput(0)
Return
EndIf
EndFunc

Func TEH_ON()	;нажатия дочерних кнопок

EndFunc

Func NAZ_INT() ;кнопки интерфейса
;основной интерфейс
$Button1 = _Skin_AddButton(6, 1, 91, 26, $hBmp[$i1a], $hBmp[$i1b], $hBmp[$i1c])		;технологии
$Button2 = _Skin_AddButton(128, 1, 91, 26, $hBmp[$i2a], $hBmp[$i2b], $hBmp[$i2c])	;нанесение
$Button3 = _Skin_AddButton(240, 1, 91, 26, $hBmp[$i3a], $hBmp[$i3b], $hBmp[$i3c])	;металл
$Button4 = _Skin_AddButton(352, 1, 91, 26, $hBmp[$i4a], $hBmp[$i4b], $hBmp[$i4c])	;тип изделия
$Button5 = _Skin_AddButton(464, 1, 91, 26, $hBmp[$i5a], $hBmp[$i5b], $hBmp[$i5c])	;деятельность
$Button6 = _Skin_AddButton(19, 216, 91, 26, $hBmp[$i6a], $hBmp[$i6b], $hBmp[$i6c])	;опции
$Button7 = _Skin_AddButton(119, 216, 91, 26, $hBmp[$i7a], $hBmp[$i7b], $hBmp[$i7c])	;запись
$Button8 = _Skin_AddButton(473, 216, 91, 26, $hBmp[$i8a], $hBmp[$i8b], $hBmp[$i8c])	;выход
return
EndFunc
Func NAZ_TEH() ;Назначение дочерних кнопок
$Teh_1 = _Skin_AddButton(-2, 49, 2, 3, $hBmp[$11a], $hBmp[$11b], $hBmp[$11c])	;1 ряд
$Teh_2 = _Skin_AddButton(-2, 74, 2, 3, $hBmp[$12a], $hBmp[$12b], $hBmp[$12c])
$Teh_3 = _Skin_AddButton(-2, 99, 2, 3, $hBmp[$13a], $hBmp[$13b], $hBmp[$13c])
$Teh_4 = _Skin_AddButton(-2, 124, 2, 3, $hBmp[$14a], $hBmp[$14b], $hBmp[$14c])
$Teh_5 = _Skin_AddButton(-2, 149, 2, 3, $hBmp[$15a], $hBmp[$15b], $hBmp[$15c])
$Teh_6 = _Skin_AddButton(-2, 174, 2, 3, $hBmp[$16a], $hBmp[$16b], $hBmp[$16c])
$Teh_7 = _Skin_AddButton(147, 49, 2, 3, $hBmp[$21a], $hBmp[$21b], $hBmp[$21c])	;2 ряд
$Teh_8 = _Skin_AddButton(147, 74, 2, 3, $hBmp[$22a], $hBmp[$22b], $hBmp[$22c])
$Teh_9 = _Skin_AddButton(147, 99, 2, 3, $hBmp[$23a], $hBmp[$23b], $hBmp[$23c])
$Teh_10 = _Skin_AddButton(147, 124, 2, 3, $hBmp[$24a], $hBmp[$24b], $hBmp[$24c])
$Teh_11 = _Skin_AddButton(147, 149, 2, 3, $hBmp[$25a], $hBmp[$25b], $hBmp[$25c])
$Teh_12 = _Skin_AddButton(147, 174, 2, 3, $hBmp[$26a], $hBmp[$26b], $hBmp[$26c])
$Teh_13 = _Skin_AddButton(296, 49, 2, 3, $hBmp[$31a], $hBmp[$31b], $hBmp[$31c])	;3 ряд
$Teh_14 = _Skin_AddButton(296, 74, 2, 3, $hBmp[$32a], $hBmp[$32b], $hBmp[$32c])
$Teh_15 = _Skin_AddButton(296, 99, 2, 3, $hBmp[$33a], $hBmp[$33b], $hBmp[$33c])
$Teh_16 = _Skin_AddButton(296, 124, 2, 3, $hBmp[$34a], $hBmp[$34b], $hBmp[$34c])
$Teh_17 = _Skin_AddButton(296, 149, 2, 3, $hBmp[$35a], $hBmp[$35b], $hBmp[$35c])
$Teh_18 = _Skin_AddButton(296, 174, 2, 3, $hBmp[$36a], $hBmp[$36b], $hBmp[$36c])
$Teh_19 = _Skin_AddButton(445, 49, 2, 3, $hBmp[$41a], $hBmp[$41b], $hBmp[$41c])	;4 ряд
$Teh_20 = _Skin_AddButton(445, 74, 2, 3, $hBmp[$42a], $hBmp[$42b], $hBmp[$42c])
$Teh_21 = _Skin_AddButton(445, 99, 2, 3, $hBmp[$43a], $hBmp[$43b], $hBmp[$43c])
$Teh_22 = _Skin_AddButton(445, 124, 2, 3, $hBmp[$44a], $hBmp[$44b], $hBmp[$44c])
$Teh_23 = _Skin_AddButton(445, 149, 2, 3, $hBmp[$45a], $hBmp[$45b], $hBmp[$45c])
$Teh_24 = _Skin_AddButton(445, 174, 2, 3, $hBmp[$46a], $hBmp[$46b], $hBmp[$46c])
return
endfunc
Func _LoadBitmap($iResource)
	If Not @Compiled Then
		Return _WinAPI_LoadImage(0, @ScriptDir & '\' & $iResource & '.bmp', 0, 0, 0, 0x0010)
	Else
		Return _WinAPI_LoadBitmap(_WinAPI_GetModuleHandle(0), $iResource)
	EndIf
EndFunc   ;==>_LoadBitmap
Func _LoadPNG($sResource)
	If Not @Compiled Then
		Return _GDIPlus_ImageLoadFromFile(@ScriptDir & '\' & $sResource & '.png')
	Else
		Return _LoadResImage(0, 'PNG', $sResource)
	EndIf
EndFunc   ;==>_LoadPNG
Func _LoadResImage($hInstance, $sType, $sName, $iLanguage = 0)

	Local $hInfo, $hData, $pData, $iSize, $hMem, $pMem, $pStream, $hImage

	If Not $hInstance Then
		$hInstance = _WinAPI_GetModuleHandle('')
	EndIf
	If $iLanguage Then
		$hInfo = _WinAPI_FindResourceEx($hInstance, $sType, $sName, $iLanguage)
	Else
		$hInfo = _WinAPI_FindResource($hInstance, $sType, $sName)
	EndIf
	$hData = _WinAPI_LoadResource($hInstance, $hInfo)
	$iSize = _WinAPI_SizeOfResource($hInstance, $hInfo)
	$pData = _WinAPI_LockResource($hData)
	If @error Then
		Return SetError(1, 0, 0)
	EndIf
	$hMem = DllCall('kernel32.dll', 'ptr', 'GlobalAlloc', 'uint', 2, 'ulong_ptr', $iSize)
	If @error Then
		Return SetError(2, 0, 0)
	EndIf
	Do
		$pMem = DllCall('kernel32.dll', 'ptr', 'GlobalLock', 'ptr', $hMem[0])
		If @error Then
			ExitLoop
		EndIf
		If Not _WinAPI_MoveMemory($pMem[0], $pData, $iSize) Then
			ExitLoop
		EndIf
		DllCall('kernel32.dll', 'int', 'GlobalUnlock', 'ptr', $hMem[0])
		$pStream = _WinAPI_CreateStreamOnHGlobal($hMem[0])
		If @error Then

		EndIf
	Until 1
	If @error Then
		DllCall('kernel32.dll', 'ptr', 'GlobalFree', 'ptr', $hMem[0])
		Return SetError(2, 0, 0)
	EndIf
;~	_GDIPlus_Startup()
	$hImage = DllCall('gdiplus.dll', 'uint', 'GdipCreateBitmapFromStream', 'ptr', $pStream, 'ptr*', 0)
	If (Not @error) And (Not $hImage[0]) Then
		$hImage = $hImage[2]
	Else
		$hImage = 0
	EndIf
;~	_GDIPlus_Shutdown()
	_WinAPI_ReleaseStream($pStream)
	If Not $hImage Then
		Return SetError(3, 0, 0)
	EndIf
	Return $hImage
EndFunc   ;==>_LoadResImage
Func WM_NCHITTEST($hWnd, $iMsg, $wParam, $lParam)
	Switch $hWnd
		Case $hForm
			If (Not $skData[0][1]) And (Not $skData[0][3]) Then
				_SendMessage($hParent, $WM_SYSCOMMAND, 0xF012, 0)
			EndIf
		Case $hParent
			Return $HTCAPTION
	EndSwitch
	Return $GUI_RUNDEFMSG
EndFunc   ;==>WM_NCHITTEST
Func escape() ;завершить процесс
	ToolTip("")
	ToolTip('ВЫХОД')
	Sleep(500)
	ToolTip("")
	Exit
EndFunc   ;==>escape

Почему нажимая поочередно верхние оранжевые кнопки быстродействие скрипта замедляется? Продолжая нажимать кнопки они все медленнее и медленнее будут реагировать. Спрятать и снова вытащить gui не помогает, проблема в чем-то другом.
ps. blockinput там стоит для того чтобы кнопка таки поменяла цвет, дело в том что при замедлении работы скрипта если убрать с нажатой кнопки курсор -кнопка может цвет не поменять, видимо нужно чтобы курсор был над кнопкой до завершения операции.

Как можно сделать несколько интерфейсов с кнопками на одной полупрозрачной подложке png? с тем чтобы можно было прятать одни наборы и показывать другие?
Дело в том что оранжевые кнопки в идеале должны менять наборы кнопок внизу, (переназначение битмапов для нижних кнопок не подходит, поскольку их в дальнейшем планируется сделать такими-же "залипающе \ отлипающими" как и оранжевые и код в итоге слишком сложный для меня выходит, в общем нужно именно другие кнопки на месте предыдущих, по этому думаю единственное решение это привязать 5 наборов кнопок к единой подложке png. но не знаю как это сделать.)
 

joiner

Модератор
Локальный модератор
Сообщения
3,425
Репутация
597
saraconor
я так думаю, что в этом хаосе никто не хочет разбираться. может проще написать в стол заказов? четко изложить, как ты видишь работу и внешний вид скрипта.
ну и что значит "несколько вопросов"? ведь на форуме : один вопрос - одна тема (ну или наоборот). так как несколько вопросов это значит не меньше полусотни вопросов. :smile:
 

Yashied

Модератор
Команда форума
Глобальный модератор
Сообщения
5,379
Репутация
2,716
saraconor, вы с этим GUI уже полгода возитесь, но так ни к чему и не пришли. И это не смотря на то, что на некоторые вопросы вы получили от меня ответы в Skype'е. Из всего этого я сделал вывод, что данная библиотека, как, впрочем, и вся работа с API для вас является слишком сложной на данный момент. Что-либо детально разъяснять у меня нет никакого желания. Учите основы работы с изображениями в API.

saraconor сказал(а):
Почему нажимая поочередно верхние оранжевые кнопки быстродействие скрипта замедляется?
Банальная невнимательность (непонимание?) в коде. Ищите и найдете.
 
Верх