|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
13.02.2014, 02:25 | #21 |
Заблокирован
Регистрация: 31.03.2011
Сообщений: 976
|
Image1MouseMove это обработчик движения мыши по картинке. При малейшем движении ты выполняешь подгрузку иконки. Итого подгрузок 20 -30 (в зависимости от размера Image) в долю секунды... Мягко говоря ты "имеешь" процессор. Не удивительно, что программа подмигивает, перерисовываясь с такой скоростью. Решение проблемы сменить обработчик на MouseEnter
|
13.02.2014, 07:58 | #22 | ||
Пользователь
Регистрация: 11.02.2014
Сообщений: 12
|
Цитата:
Наверное не там смотрел ... Цитата:
Благодарю за разъяснение и помощь ! К стати , вот такой вопрос : Возможно реализовать к примеру вот такой функционал для Апдейтора , установить много TPanel с разными дизайнами и функционалом : Пример : При первом запуске Ланчера он проверяет есть ли с ним наличие в его же директории файла к примеру setting.ini Если да , то загрузить с него параметры , если нет тогда открыть программу и пользователю предоставить TPanel1 TPanel1 к примеру будет окно настройки , там возможно выбрать язык и скин ланчера После нажатия на ОК , создаётся файл и настройки сохраняются в файл setting.ini Код:
Skin1 + Русский язык -> У него изчезает Panel1 Panel3 Panel4 Panel5 после нажатия кнопки Применить и появляется Panel2 Если он выбирает Skin1 + English язык -> У него изчезает Panel1 Panel2 Panel4 Panel5 после нажатия кнопки Применить и появляется Panel3 Если он выбирает Skin2 + Русский язык -> У него изчезает Panel1 Panel2 Panel3 Panel5 после нажатия кнопки Применить и появляется Panel4 Если он выбирает Skin2 + English язык -> У него изчезает Panel1 Panel2 Panel3 Panel4 после нажатия кнопки Применить и появляется Panel5 то есть понятно что Panel1 -> Окно настроек Panel2 -> Меню ланчера Skin1 RU Panel3 -> Меню ланчера Skin1 EN Panel4 -> Меню ланчера Skin2 RU Panel5 -> Меню ланчера Skin2 EN ну и естественно что при выборе панели меняется и ссылка на сервер откуда он качает файлы игры ну а там рассортировать по скинам launcher.example.com/skin1/ru/ launcher.example.com/skin1/en/ launcher.example.com/skin2/ru/ launcher.example.com/skin2/en/ На каждую панель скина сделать кнопку настроек , и при нажатие на неё все панели пропадали (намного тяжелей сделать вычисление какая панель активная а какая нет , и деактивировать активную) а Panel1 активировать что бы пользователь мог изменить настройки ланчера Ну по сути это 100% возможно , вот только не пойму с чего трогаться ... Думаю для начала нужно сформулировать отчётливый алгоритм 1) Узнать как можно делать панель неактивной , так как если я наложу на Panel1 сверху Panel2 то она будет в любом случае перекрывать и не давать возможности работать с Panel1 Как правильно называется функция которая убирает вообще Panel1 не только визуально , но так что бы случайно с Panel2 её не зацепить , так как расположение кнопок может совпасть 2) Что использовать для того что бы считывать информацию с файла setting.ini ? ну и записывать при каждом нажатии Применить , ну и создавать файл если он отсутствует , ну и загрузить Panel1 если в файле setting.ini сделана ошибка . Посоветуйте в какую сторону мне , что учить , что ковырять , от чего отталкиваться ?? Спасибо всем , эта тема закончена , наверное нужно создать новую и соответственно там уже это разбирать ! Последний раз редактировалось VMG; 13.02.2014 в 08:40. |
||
13.02.2014, 11:59 | #23 | |
Заблокирован
Регистрация: 31.03.2011
Сообщений: 976
|
Цитата:
инициализация программы Код:
Код:
Ещё есть модуль Registry, для работы с реестром. Пример использования: Код:
P.S. По поводу кучи панелей, это делается через Frame. Изучай. Исходные изображения, как тебе писали выше лучше всего, если их не много, хранить в PngImageList (сторонний компонент который нужно установить, ищи в гугле), либо создать Res файл (можно использовать консольную программу из комплекта делфи brcc32, либо стороннюю Restorator), подключить к проекту, и работать непосредственно с ресурсами. Смысла в подключении внешнего DLL при объёме графики в пару мегабайт я не вижу. Такой тип подключения ресурсов необходим в играх, где размеры графики переваливают за гигабайт. Последний раз редактировалось doktor255; 13.02.2014 в 12:12. |
|
13.02.2014, 18:04 | #24 |
Участник клуба
Регистрация: 29.09.2008
Сообщений: 1,234
|
а не проще сделать компонент типа TImageButton (от класса TImage) и создать внутри него например 2-3 статус-картинки и обработать наведение и отведение курсора.
что-то подобное выйдет |
14.02.2014, 09:19 | #25 |
Пользователь
Регистрация: 29.01.2010
Сообщений: 21
|
ToolBar в связке с обычным ImageList неплохой результат дает - там также три картинки подгружаются как раз под ваши случаи - одна просто, одна на наведение, одна на нажатие. Просто кнопки надо делать размером под изображение и тогда все ровно должно быть, даже "скрипт", собственно, писать не придется
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как сделать так чтобы при наведение мыши | subbota | HTML и CSS | 3 | 03.03.2016 09:36 |
Классы. Чтение и создание .bmp изображения. Пропадает 1 пиксел при создании изображения. | s-mumrik | Visual C++ | 3 | 12.04.2013 21:21 |
Смена цвета изображения при смене параметров | faust-v | JavaScript, Ajax | 4 | 19.09.2011 11:46 |
При щелчке на ячейке DBGrid загружать изображение в Image1 из БД | ulala | Помощь студентам | 9 | 09.10.2010 16:05 |
Смена изображения при наведении не на белую область | Alex Cones | Общие вопросы Delphi | 6 | 10.05.2009 17:17 |