Здравствуйте! Помогите пожалуйста реализовать одновременное изменение параметров картинки (положение, размер) при изменении размеров окна. К примеру если я нажимаю, развернуть окно до максимума(где значки свернуть, развернуть ,закрыть), не срабатывает условие нажатия левой кнопки мыши и в итоге не происходит изменения параметров картинки.
Код:
#include <GUIConstantsEx.au3>
#include <ButtonConstants.au3>
#include <WindowsConstants.au3>
#include <EditConstants.au3>
#include <ListBoxConstants.au3>
#include <StaticConstants.au3>
#include <Misc.au3>
#include <GuiButton.au3>
#include <WinAPI.au3>
#include <Array.au3>
#include <GuiEdit.au3>
#include <SendMessage.au3>
#include <String.au3>
#include <File.au3>
#include <Date.au3>
#include <GuiListBox.au3>
#include <GuiImageList.au3>
#include <GuiButton.au3>
;///////////////Nachalo vkluchenie module\\\\\\\\\\\\\\\\\\\;
Opt("GUIOnEventMode", 1)
;((((((((((((((((((((ПЕРЕМЕННЫЕ ГЛОБАЛ)))))))))))))))))))));
;(Информация Окна);
Global $Informaciya_okna
;(Координаты Начальные);
Global $xx = 0
Global $yy = 0
;(Координаты 1);
Global $xx_1
Global $yy_1
Global $Razmer_Shirina_1
Global $Razmer_Visota_1
;(Координаты 2);
Global $xx_2
Global $yy_2
Global $Razmer_Shirina_2
Global $Razmer_Visota_2
;(Координаты 3);
Global $xx_3
Global $yy_3
Global $Razmer_Shirina_3
Global $Razmer_Visota_3
;(Координаты 4);
Global $xx_4
Global $yy_4
Global $Razmer_Shirina_4
Global $Razmer_Visota_4
;(Координаты 5);
Global $xx_5
Global $yy_5
Global $Razmer_Shirina_5
Global $Razmer_Visota_5
;(Координаты 6);
Global $xx_6
Global $yy_6
Global $Razmer_Shirina_6
Global $Razmer_Visota_6
;(Координаты 7);
Global $xx_7
Global $yy_7
Global $Razmer_Shirina_7
Global $Razmer_Visota_7
;(Координаты 8);
Global $xx_8
Global $yy_8
Global $Razmer_Shirina_8
Global $Razmer_Visota_8
;(Координаты 9);
Global $xx_9
Global $yy_9
Global $Razmer_Shirina_9
Global $Razmer_Visota_9
;(Координаты 10);
Global $xx_10
Global $yy_10
Global $Razmer_Shirina_10
Global $Razmer_Visota_10
;(Кartinki);
;Global $Kartinka_1[1]
Global $xx_Kartinka_1
Global $yy_Kartinka_1
Global $Razmer_Kartinka_Shirina_1
Global $Razmer_Kartinka_Visota_1
Global $Kolichestvo_kartinok_vstroke
Global $Otstup_kartinok = 10
;(Кartinki);
Global $Karta_Massiv = ObjCreate('Scripting.Dictionary')
$Karta_Massiv.CompareMode = 1
Global $hDLL = DllOpen("user32.dll")
Global $Massiv_Kartinka_ID
;/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\////\\\\;
;\\\\\/////\\\\\/////(0)ОКНО(НАЧАЛЬНОЕ)(0)\\\\/////\\\\\///;
;/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\;
;_________________________ОПЦИИ____________________________;
;((((((((((((((ПЕРЕМЕННЫЕ))))))))))))))));
;[[[[[[[[[[[[Глобал]]]]]]]]]]];
;(Главное окно);
Global $Okno_Glavnoe
;(Кнопка ИГРА);
Global $Kn_Igra_1
;(Кнопка КОЛОДА);
Global $Kn_Koloda_1
;(Кнопка НАСТРОЙКА);
Global $Kn_Nastroiki_1
;[[[[[[[[[[[[Локал]]]]]]]]]]]];
;<<<<<<<<<<<<<<ПАРАМЕТРЫ>>>>>>>>>>>>>>>>>;
;Главное окно);
$xx_1 = 0
$yy_1 = 0
$Razmer_Shirina_1 = 200
$Razmer_Visota_1 = 200
;(Кнопка Игра);
$xx_2 = $xx_1 + 40
$yy_2 = $yy_1 + 60
$Razmer_Shirina_2 = 120
$Razmer_Visota_2 = 28
;(Кнопка Колода);
$xx_3 = $xx_2
$yy_3 = $yy_2 + $Razmer_Visota_2 + 7
$Razmer_Shirina_3 = 120
$Razmer_Visota_3 = $Razmer_Visota_2
;(Кнопка Настройки);
$xx_4 = $xx_2
$yy_4 = $yy_3 + $Razmer_Visota_2 + 7
$Razmer_Shirina_4 = 120
$Razmer_Visota_4 = $Razmer_Visota_2
;__________________________________________________________;
Global $Okno_Glavnoe = GUICreate("1488", $Razmer_Shirina_1, $Razmer_Visota_1) ;создает главное окно
GUISetOnEvent($GUI_EVENT_CLOSE, "CLOSE_Okno_Glavnoe") ;создает функцию для главного окна
;кнопка запуск
Global $Kn_Igra_1 = GUICtrlCreateButton("Игра", $xx_2, $yy_2, $Razmer_Shirina_2, $Razmer_Visota_2) ;создание конпки запуск
;кнопка новости
Global $Kn_Koloda_1 = GUICtrlCreateButton("Колода", $xx_3, $yy_3, $Razmer_Shirina_3, $Razmer_Visota_3) ;создание кнопки настройка
GUICtrlSetOnEvent($Kn_Koloda_1, "clik_Kn_Koloda_1")
;GUICtrlSetOnEvent($Novosti, "OK_Novosti") ;создает функцию для конпки настройка
;кнопка настройки
Local $Kn_Nastroiki_1 = GUICtrlCreateButton("Настройки", $xx_4, $yy_4, $Razmer_Shirina_4, $Razmer_Visota_4) ;создание кнопки настройка
GUISwitch($Okno_Glavnoe) ;переключение на главное окно
GUISetState(@SW_SHOW) ;отображение конопок и окон
;;;;;;;;;;/цикл/;;;;;;;;;;;;;
While 1
Sleep(1000) ; Цикл ожидания
WEnd
;_________________________ОПЦИИ____________________________;
;((((((((((((((ПЕРЕМЕННЫЕ))))))))))))))));
;[[[[[[[[[[[[Глобал]]]]]]]]]]];
;[[[[[[[[[[[[Локал]]]]]]]]]]]];
;<<<<<<<<<<<<<<ПАРАМЕТРЫ>>>>>>>>>>>>>>>>>;
;__________________________________________________________;
;/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\////\\\\;
;\\\\\/////\\\\\/////\\(1)ОКНО(КОЛОДА)(1)\\\\\/////\\\\\///;
;/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\;
Func clik_Kn_Koloda_1()
;_________________________ОПЦИИ____________________________;
;((((((((((((((ПЕРЕМЕННЫЕ))))))))))))))));
;[[[[[[[[[[[[Глобал]]]]]]]]]]];
Global $Okno_Koloda
;[[[[[[[[[[[[Локал]]]]]]]]]]]];
Local $x
Local $y
; Local $Otstup_kartinok_y
;<<<<<<<<<<<<<<ПАРАМЕТРЫ>>>>>>>>>>>>>>>>>;
;Главное окно);
$xx_1 = 0
$yy_1 = 0
$Razmer_Shirina_1 = @DesktopWidth * 0.8
$Razmer_Visota_1 = @DesktopHeight * 0.8
;(Кнопка Игра);
$xx_2 = $xx_1 + 40
$yy_2 = $yy_1 + 60
$Razmer_Shirina_2 = 120
$Razmer_Visota_2 = 28
;(Кнопка Колода);
$xx_3 = $xx_2
$yy_3 = $yy_2 + $Razmer_Visota_2 + 7
$Razmer_Shirina_3 = 120
$Razmer_Visota_3 = $Razmer_Visota_2
;(Кнопка Настройки);
$xx_4 = $xx_2
$yy_4 = $yy_3 + $Razmer_Visota_2 + 7
$Razmer_Shirina_4 = 120
$Razmer_Visota_4 = $Razmer_Visota_2
;(Картинки);
Local $Chislo_kartinok = IniRead(@ScriptDir & "\karti.ini", "Карты", "Количество Карт", 0)
Global $Kartinka_1[12]
;global Massiv_Kartinok[$Chislo_kartinok + 1]
$Razmer_Kartinka_Shirina_1 = Ceiling($Razmer_Shirina_1 / 10)
$Razmer_Kartinka_Visota_1 = Ceiling($Razmer_Shirina_1 / 7)
;$Otstup_kartinok = 11
;MsgBox(4096, "", $Razmer_Kartinka_Shirina_1)
;__________________________________________________________;
$Okno_Koloda = GUICreate("Колода", -1, -1, 0, 0, $WS_CLIPCHILDREN + $WS_CLIPSIBLINGS + $WS_OVERLAPPEDWINDOW + $WS_MAXIMIZE) ;создает главное окно
GUISetOnEvent($GUI_EVENT_CLOSE, "CLOSE_Okno_Koloda")
For $i = 0 To $Chislo_kartinok - 1
$Informaciya_okna = WinGetPos($Okno_Koloda)
$Kolichestvo_kartinok_vstroke = Ceiling($Informaciya_okna[2] / 200)
;MsgBox(4096, "", $Chislo_kartinok)
$j = Floor($i / ($Kolichestvo_kartinok_vstroke))
$x = (($i - ($j * $Kolichestvo_kartinok_vstroke)) * $Razmer_Kartinka_Shirina_1) + ($Otstup_kartinok * ($i - ($j * $Kolichestvo_kartinok_vstroke)))
$y = ($j * $Razmer_Kartinka_Visota_1) + ($j * $Otstup_kartinok)
$tx = Int($Otstup_kartinok + $x)
$ty = Int($Otstup_kartinok + $y)
$Kartinka_1[$i] = GUICtrlCreatePic("C:\Users\Lilu\Desktop\3.jpg", $tx, $ty, $Razmer_Kartinka_Shirina_1, $Razmer_Kartinka_Visota_1)
$Karta_Massiv.Add($Kartinka_1[$i], "C:\Users\Lilu\Desktop\3.jpg")
;MsgBox(4096, "", $tx & " " & $ty)
$Massiv_Kartinka_ID = $Karta_Massiv.Keys()
Next
Global $kn = GUICtrlCreateButton("title", 800, 450, 100, 100)
;GUICtrlSetOnEvent($kn, "clik_1")
;MsgBox(4096, "", WinGetState("Справка AutoIt"))
AutoItSetOption ( "GUIEventOptions",0 )
GUISetOnEvent($GUI_EVENT_PRIMARYUP, "clik_1")
GUISetOnEvent($GUI_EVENT_RESIZED, "clik_1")
GUISetOnEvent($GUI_EVENT_PRIMARYDOWN, "clik_1")
GUISwitch($Okno_Koloda) ;переключение на главное окно
GUISetState() ;отображение конопок и окон
EndFunc ;==>clik_Kn_Koloda_1
Func clik_1()
; MsgBox(4096, "", "")
;_ArrayDisplay($Massiv_Kartinka_ID,"edf")
Local $Chislo_kartinok = IniRead(@ScriptDir & "\karti.ini", "Карты", "Количество Карт", 0)
Local $x
Local $y
$Razmer_Kartinka_Shirina_1 = Ceiling($Razmer_Shirina_1 / 10)
$Informaciya_okna = WinGetPos($Okno_Koloda)
$Kolichestvo_kartinok_vstroke = Ceiling($Informaciya_okna[2] / 200)
;$Razmer_Kartinka_Shirina_1 = $Informaciya_okna[2] / 10
;$Razmer_Kartinka_Visota_1 = $Informaciya_okna[3] / 10
;Local $Otstup_kartinok = 11
; MsgBox(4096, "", $Kolichestvo_kartinok_vstroke)
For $i = 0 To $Chislo_kartinok - 1
$j = Floor($i / ($Kolichestvo_kartinok_vstroke))
$x = (($i - ($j * $Kolichestvo_kartinok_vstroke)) * $Razmer_Kartinka_Shirina_1) + ($Otstup_kartinok * ($i - ($j * $Kolichestvo_kartinok_vstroke)))
$y = ($j * $Razmer_Kartinka_Visota_1) + ($j * $Otstup_kartinok)
$tx = Int($Otstup_kartinok + $x)
$ty = Int($Otstup_kartinok + $y)
;MsgBox(4096, $i, $tx & " " & $ty & " " & $Massiv_Kartinka_ID[$i])
GUICtrlSetPos($Massiv_Kartinka_ID[$i], 0, 0, $Razmer_Kartinka_Shirina_1, $Razmer_Kartinka_Visota_1)
GUICtrlSetPos($Massiv_Kartinka_ID[$i], $tx, $ty, $Razmer_Kartinka_Shirina_1, $Razmer_Kartinka_Visota_1)
GUICtrlSetImage($Massiv_Kartinka_ID[$i], "C:\Users\Lilu\Desktop\3.jpg")
;MsgBox(4096, $i,$Informaciya_okna[0])
GUISetState()
Next
GUISetState()
EndFunc ;==>clik_1
;;;;;;;;;;;;;;;;;;;;/ФУНКЦИИ/;;;;;;;;;;;;;;;;;;;;;;;;
Func CLOSE_Okno_Glavnoe()
Exit
EndFunc ;==>CLOSE_Okno_Glavnoe
Func CLOSE_Okno_Koloda()
Exit
EndFunc ;==>CLOSE_Okno_Koloda