Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » AutoIt - Добавление иконки 24x24 на кнопку формы

Ответить
Настройки темы
AutoIt - Добавление иконки 24x24 на кнопку формы

Новый участник


Сообщения: 5
Благодарности: 0

Профиль | Отправить PM | Цитировать


Изменения
Автор: ypmail
Дата: 04-05-2016
Есть скрипт, в котором иконка просто берётся из файла navigation.ico. Нужно сделать так, чтобы эта иконка была зашита в полученный из этого скрипта exe.
Пробовал GUICtrlSetImage(-1, "1.exe", -2). Иконка появляется на кнопке 16x16 или 32x32, или мелкая или крупная и кубиками (у меня она 24x24). Как это обойти?
Нужно, чтобы GUICtrlSetImage выводило иконку именно 24x24.

Код скрипта:
Код: Выделить весь код
#NoTrayIcon
#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_Icon=1\2.ico
#AutoIt3Wrapper_Res_Icon_Add=D:\3\2\navigation.ico
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****

#Include <WinAPIEx.au3>
#Include <WindowsConstants.au3>
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <Word.au3>

Global $hParent, $hForm, $hIcon

$hParent = GUICreate('', 116, 0, 0, 0, 0, $WS_EX_TOOLWINDOW)
$hForm = GUICreate('Выбор шаблона таблички', 240, 378, -1, -1, BitOR($WS_CAPTION, $WS_POPUP, $WS_SYSMENU), $WS_EX_DLGMODALFRAME, $hParent)

$hIcon = _WinAPI_GetClassLongEx($hForm, $GCL_HICON)
_WinAPI_DestroyIcon($hIcon)
_WinAPI_SetClassLongEx($hForm, $GCL_HICON, 0)
_WinAPI_SetClassLongEx($hForm, $GCL_HICONSM, 0)


$Button1 = GUICtrlCreateButton(" Документ", 10, 10, 220, 35)
GUICtrlSetFont(-1, 12, 800, 2, "Times New Roman")
GUICtrlSetImage(-1, "D:\3\2\navigation.ico")


While 1
	$nMsg = GUIGetMsg()
	Switch $nMsg
		Case $GUI_EVENT_CLOSE
			Exit
		Case $Button1
			Local $oWord = _Word_Create()
			Local $sDocument = "D:\3\2\1.doc"
			_Word_DocOpen($oWord, $sDocument)
			WinActivate($sDocument)
			Exit
		
	EndSwitch
WEnd

Отправлено: 10:16, 04-05-2016

 

Аватара для Creat0R

Must AutoIt


Сообщения: 3054
Благодарности: 1009

Профиль | Сайт | Отправить PM | Цитировать


Если по проще, то так:

Код: Выделить весь код
FileInstall('D:\3\2\navigation.ico', @TempDir & '\navigation.ico')
GUICtrlSetImage($Button1, @TempDir & '\navigation.ico', 0)

-------
“Сделай так просто, как возможно, но не проще этого.”... “Ты никогда не решишь проблему, если будешь думать так же, как те, кто её создал.”

Альберт Эйнштейн

P.S «Не оказываю техподдержку через ПМ/ICQ, и по email - для этого есть форум. ©»

http://creator-lab.ucoz.ru/Images/Icons/autoit_icon.png Русское сообщество AutoIt | http://creator-lab.ucoz.ru/Images/Ic...eator_icon.png CreatoR's Lab | http://creator-lab.ucoz.ru/Images/Icons/oac_icon.png Opera AC Community


Отправлено: 03:05, 05-05-2016 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Новый участник


Сообщения: 5
Благодарности: 0

Профиль | Отправить PM | Цитировать


Спасибо!

1) Но в случае с FileInstall, судя по справке, картинка извлекается из exe и потом остаётся в папке.
Если же просто использовать GUICtrlSetImage(-1, "1.exe", -2), то нет лишних действий по извлечениям и не остается мусора после работы exe.
Пока решил использовать иконки 16x16 и GUICtrlSetImage(-1, "1.exe", -2). Надеюсь, что когда-нибудь разработчики добавят возможность вывода формата 24x24 в GUICtrlSetImage.

2) Ещё нигде не смог найти как перейти в корневую папку? Т.е. скрипт находится в папке 2, которая находится в папке 1 (...1\2\script.au3).
С помощью @ScriptDir я попаду в папку 2, а как задать путь к папке 1?
Т.е. (@ScriptDir & ?как прописывается в AutoIt на папку вверх?) чтобы попасть в папку 1.

Последний раз редактировалось ypmail, 05-05-2016 в 14:25.


Отправлено: 14:05, 05-05-2016 | #3


Ветеран


Сообщения: 27449
Благодарности: 8086

Профиль | Отправить PM | Цитировать


Цитата ypmail:
С помощью @ScriptDir я попаду в папку 2, а как задать путь к папке 1? »
Как обычно — относительным путём, указанием ссылки на родительский каталог «..» от @ScriptDir.

Отправлено: 16:20, 05-05-2016 | #4


Новый участник


Сообщения: 5
Благодарности: 0

Профиль | Отправить PM | Цитировать


Цитата Iska:
Как обычно — относительным путём, указанием ссылки на родительский каталог «..» от @ScriptDir. »
Т.е. путь будет выглядеть так?:
@ScriptDir & '..\..'
Что-то не работает

Отправлено: 10:12, 06-05-2016 | #5


Ветеран


Сообщения: 27449
Благодарности: 8086

Профиль | Отправить PM | Цитировать


Цитата ypmail:
Т.е. путь будет выглядеть так?:
@ScriptDir & '..\..' »
Так:
Код: Выделить весь код
@ScriptDir & '\..'

Отправлено: 12:52, 06-05-2016 | #6


Аватара для Creat0R

Must AutoIt


Сообщения: 3054
Благодарности: 1009

Профиль | Сайт | Отправить PM | Цитировать


Цитата ypmail:
картинка извлекается из exe и потом остаётся в папке »
Что мешает её удалить по завершении работы скрипта?

-------
“Сделай так просто, как возможно, но не проще этого.”... “Ты никогда не решишь проблему, если будешь думать так же, как те, кто её создал.”

Альберт Эйнштейн

P.S «Не оказываю техподдержку через ПМ/ICQ, и по email - для этого есть форум. ©»

http://creator-lab.ucoz.ru/Images/Icons/autoit_icon.png Русское сообщество AutoIt | http://creator-lab.ucoz.ru/Images/Ic...eator_icon.png CreatoR's Lab | http://creator-lab.ucoz.ru/Images/Icons/oac_icon.png Opera AC Community


Отправлено: 22:05, 07-05-2016 | #7


Новый участник


Сообщения: 5
Благодарности: 0

Профиль | Отправить PM | Цитировать


Цитата Creat0R:
Что мешает её удалить по завершении работы скрипта? »
Распаковать, показать, удалить. Зачем машине лишние действия? Я использовал другую иконку 16х16 и использовал GUICtrlSetImage, зашил её в exe, ничего не извлекается и не удаляется. Разработчикам Autoit не мешало бы расширить функционал GUICtrlSetImage.

Отправлено: 14:23, 17-05-2016 | #8



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » AutoIt - Добавление иконки 24x24 на кнопку формы

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Delphi - Изменение формы окна и добавление компонентов Dreamer_UFA Программирование и базы данных 10 23-12-2013 23:30
Отправка формы на E-mail ArchikDikos Вебмастеру 4 31-05-2012 12:51
[решено] javascript для панели закл-к FireFox: добавить кнопку для формы в Google Bookmarks eugrus Вебмастеру 2 04-01-2012 18:46
[решено] Как на AutoIt заблокировать кнопку CTRL или ALT...или отключить диспетчер задач? Fraks AutoIt 12 02-02-2010 11:51
После нажатия на кнопку Power копм запускается лишь на 2-3 секунды James Douglas Непонятные проблемы с Железом 23 10-12-2009 22:59




 
Переход