Работа с ресурсами для оптимизации MapInfo: различия между версиями
Slinger (обсуждение | вклад) Нет описания правки |
Slinger (обсуждение | вклад) Нет описания правки |
||
Строка 12: | Строка 12: | ||
[[Файл:Resources1.jpg|200px|thumb|center|Диалог "Закрыть таблицу"]] | [[Файл:Resources1.jpg|200px|thumb|center|Диалог "Закрыть таблицу"]] | ||
'''2520 DIALOG 21, 30, 203, 98''' - здесь следует объявление номера ресурса, а также начальные координаты появления окна на экране и размеры окна. | |||
'''STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU''' - объявление стилей согласно Win 32 API. Некоторые из них будут рассмотрены далее, но полное их описание можно почитать на [https://msdn.microsoft.com/ru-ru/library/windows/desktop/ms632600(v=vs.85).aspx сайте MSDN] | |||
'''CAPTION "Закрыть таблицу"''' - Заголовок окна | |||
'''LANGUAGE LANG_RUSSIAN, 0x0''' - объявление используемого языка ресурса. В изменении нет необходимости | |||
'''FONT 8, "Helv"''' - объявление стиля и размера используемого в диалоге шрифта | |||
{{Статья|Черновик}} | {{Статья|Черновик}} |
Версия от 18:45, 25 декабря 2016
В этой заметке будет описан способ редактирования диалоговых окон, текстовых объектов и других объектов интерфейса, находящиеся в ресурсах динамических библиотек, подгружаемых MapInfo.
Для работы потребуется утилита Resource Hacker, которая является бесплатной и не требует установки.
Работа с диалоговыми окнами
Диалоговые окна в MapInfo - тема довольно интересная. Связано это с тем, что диалоговые окна по большей части являются статическими: их невозможно ни развернуть, ни растянуть, ни запомнить их последующее положение. Практически все окна в MapInfo небольшие по своему. Возможно, это связано с тем, чтобы окна полностью уменьшались на экране монитора даже на самом низком разрешении. Однако, с развитием технологий и увеличением разрешения экрана, размер окон остался неизменным и всё таким же неудобным. Но существуют возможности исправить эти недочёты, о чём и будет сказано в этом разделе.
После распаковки и запуска программы Resource Hacker, открываем файл mires.dll, находящийся в корневой директории с MapInfo. Для примера написания данной статьи взята последняя 32-х битная версия MapInfo, а именно 15.0. Но файл mires.dll принципиально ничем не отличается, поэтому информация будет также актуальной и для старых версий MapInfo.
После того, как файл mires.dll будет открыт, необходимо перейти в директорию Dialog. Далее, для примера, поработаем с окном "Закрыть таблицу". Для того, чтобы быстро найти нужный диалог и вдобавок узнать номер ресурса, можно воспользоваться поиском. Диалог и его описание выглядят так:
2520 DIALOG 21, 30, 203, 98 - здесь следует объявление номера ресурса, а также начальные координаты появления окна на экране и размеры окна.
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU - объявление стилей согласно Win 32 API. Некоторые из них будут рассмотрены далее, но полное их описание можно почитать на сайте MSDN
CAPTION "Закрыть таблицу" - Заголовок окна
LANGUAGE LANG_RUSSIAN, 0x0 - объявление используемого языка ресурса. В изменении нет необходимости
FONT 8, "Helv" - объявление стиля и размера используемого в диалоге шрифта