Нубокодер
Новичок
- Сообщения
- 75
- Репутация
- 0
Как растянуть картинку под размер кнопки в полном экране? Или установить другую бОльшую картинку на всю кнопку?
(И почему нельзя загружать файлы *.bmp на форум для примера? Подставьте тогда свои любые файлы *.bmp вместо 32Full.bmp, 32Clos.bmp и Большая.bmp)
Вы будете ржать, но проблема была в том, что я вместо GUICtrlSetImage($ButClos, @ScriptDir & '\Большая.bmp') использовал GUICtrlSetImage($ButClos, @SystemDir & '\Большая.bmp'). А т.к. изображения были однообразные, то не замечал, что картинка вообще не меняется. Главное компилятор молчит как партизан и не выдает ошибок, ведь по пути нет файла. Вывод сделан: в следующий раз буду сильно разные изображения юзать. Всем спасибо за помощь
(И почему нельзя загружать файлы *.bmp на форум для примера? Подставьте тогда свои любые файлы *.bmp вместо 32Full.bmp, 32Clos.bmp и Большая.bmp)
Код:
#include <WindowsConstants.au3>
#include <ButtonConstants.au3>
Opt("GUIOnEventMode", 1) ; включает режим OnEvent (по событию)
Opt("GUIResizeMode", 1) ; опция поведение элементов при изменение размеров (изменять все пропорционально)
$hWin = GUICreate("Тест", 777, 437, 100, 150, $WS_POPUP) ; окно без системной строки
$ButFull = GUICtrlCreateButton("Full", 700, 50, 32, 32, $BS_BITMAP) ; кнопка полный экран
GUICtrlSetImage($ButFull, @ScriptDir & '\32Full.bmp')
GUICtrlSetCursor ( -1, 0 ) ; курсор на элементе
$ButClos = GUICtrlCreateButton("Clos", 735, 10, 32, 32, $BS_BITMAP) ; кнопка закрыть
GUICtrlSetImage($ButClos, @ScriptDir & '\32Clos.bmp')
GUICtrlSetCursor ( -1, 0 ) ; курсор на элементе
GUISetState() ; окна видимы:
GUICtrlSetOnEvent($ButClos, "_CLOSEClicked") ; обработка пользовательской кнопки закрытия
GUICtrlSetOnEvent($ButFull, "_FullClicked") ; обработка пользовательской кнопки полного экрана
While Not @error
Sleep (1000)
WEnd
Func _CLOSEClicked() ; функция кнопки выхода
$ext = MsgBox(4, "Exit", "Want to quit?") ; Выход, Хотите выйти из игры?
If $ext = 6 Then
Exit
EndIf
EndFunc
Func _FullClicked() ; функция полного экрана и обратно
If Not BitAND(WinGetState ( $hWin ), 32) Then ; если статус окна "НЕ развернуто на полный экран":
GUISetState(@SW_MAXIMIZE, $hWin) ; в полный размер
GUICtrlSetImage($ButFull, @ScriptDir & '\Большая.bmp')
GUICtrlSetImage($ButClos, @ScriptDir & '\Большая.bmp')
Else
GUISetState(@SW_RESTORE, $hWin) ; в оконный размер
GUICtrlSetImage($ButFull, @ScriptDir & '\32Full.bmp')
GUICtrlSetImage($ButClos, @ScriptDir & '\32Clos.bmp')
EndIf
EndFunc
Сообщение автоматически объединено:
Вы будете ржать, но проблема была в том, что я вместо GUICtrlSetImage($ButClos, @ScriptDir & '\Большая.bmp') использовал GUICtrlSetImage($ButClos, @SystemDir & '\Большая.bmp'). А т.к. изображения были однообразные, то не замечал, что картинка вообще не меняется. Главное компилятор молчит как партизан и не выдает ошибок, ведь по пути нет файла. Вывод сделан: в следующий раз буду сильно разные изображения юзать. Всем спасибо за помощь
Последнее редактирование: