![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 26.04.2010
Сообщений: 40
|
![]()
Вобщем ситуация такая. Делаю Таблицу Менделеева. Каждый Элемент - Timage. Нужно чтобы при наведении курсора(OnMouseMove) изменялась картинка элемента, на который навели.
Я делаю просто изменением всех картинок. Но на каждый МаусМув по 118 строк кода(1 кратинка изменяется, а все другие изменяются на изначальную). Проблема в том, что измененная картинка долго грузится, да и кода только для МаусМув получится на 11к строк. Как можно это реализовать лучше? Спасибо заранее. Последний раз редактировалось bunukar; 12.04.2011 в 08:48. |
![]() |
![]() |
![]() |
#2 |
220400
Форумчанин
Регистрация: 21.05.2010
Сообщений: 726
|
![]()
1) отказаться от TImage;
2) рисовать на канве; 3) использовать MouseMove формы.
Cерьёзной помощи не ждите - помогаю в перерывах на "перекур".
Не существует ничего невозможного для человека, который не собирается ничего делать сам. Не учите человека, если вы не его учитель. |
![]() |
![]() |
![]() |
#3 | |
Пользователь
Регистрация: 26.04.2010
Сообщений: 40
|
![]() Цитата:
Я просто совсем новичок ещё ![]() Ещё была идея всделать Таблицу на HTML. Там ведь проще, да и грузиться должно быстрее. Но как реализовать HTML в Дельфи так и не разобрался. |
|
![]() |
![]() |
![]() |
#4 |
Старожил
Регистрация: 31.05.2010
Сообщений: 13,543
|
![]()
Если язык С++, то через разыменование классов:
Для TImage не делал, но для чекбоксов вот (как пример) Код:
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder |
![]() |
![]() |
![]() |
#5 | |
220400
Форумчанин
Регистрация: 21.05.2010
Сообщений: 726
|
![]() Цитата:
![]()
Cерьёзной помощи не ждите - помогаю в перерывах на "перекур".
Не существует ничего невозможного для человека, который не собирается ничего делать сам. Не учите человека, если вы не его учитель. |
|
![]() |
![]() |
![]() |
#6 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]()
графика не мой конёк. Но, ИМХО:
думаю, что главная ошибка TC в том, что он для каждого TImage пишет СВОЙ код. я бы лично создал массив указателей на TImage. (или использовал ImageList) и дальше обработчик писал ТАК, чтобы он (обработчик) был универсальный (один и тот же код ДЛЯ ВСЕХ картинок! bunukar, выложите исходники проекта в архиве. лень рисовать пример с нуля... |
![]() |
![]() |
![]() |
#7 |
Пользователь
Регистрация: 26.04.2010
Сообщений: 40
|
![]()
Smitt&Wesson
Забыл уточнить. Делаю на Delphi 7 Sparkman С канвас совсем не знаком. Только прмитивно - фигурки, таблицы - основы вобщем. Serge_Bliznykov Тоже не совсем понимаю, как реализовать в массиве. Прикрепляю исходники. Весь тот код по 118 строк на каждую картинку я удалил, т.к. это точно не вариант. ![]() _________ ЗАМЕНИЛ ВЛОЖЕНИЕ! теперь без вируса! Модератор Последний раз редактировалось Serge_Bliznykov; 12.04.2011 в 10:26. |
![]() |
![]() |
![]() |
#8 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]()
так, сразу, пока не началось - бегом в тему
Delphi-“вирус” проверьте свою установленную Delphi! и лечить свою заражённую Delphi! |
![]() |
![]() |
![]() |
#9 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]()
Вы не написали, что собственно должно изменяться при наведении.
поэтому при наведении берём картинку из ImageList, при уходе с поля восстанавливаем то, что там было... как это сделано: 1) у элементов водород, гелий, Li, Be, B назначены поле Tag ручками вписано индекс картинки из ImageList 2) все эти кнопки выделены (через Shift) и им всем назначен ОДИН и тот же обработчик события MouseEnter и один и тот же обработчик события MouseLeave собственно обработчики вот: Код:
внимание! Там не полностью исходник, а только то, что менялось! |
![]() |
![]() |
![]() |
#10 |
Пользователь
Регистрация: 26.04.2010
Сообщений: 40
|
![]()
Просмотрел. Примерное понял как делается.
Но у меня не находит эти процедуры в Events. При запуске исходника выскочил впорос, игнорировать или Cancel. Что делать? Последний раз редактировалось bunukar; 12.04.2011 в 11:07. |
![]() |
![]() |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
не много теории | world12_tk | Помощь студентам | 0 | 29.12.2009 15:24 |
Много объектов. | Манжосов Денис :) | Общие вопросы Delphi | 5 | 04.09.2008 22:34 |
Много переменных | Altera | Общие вопросы Delphi | 15 | 18.07.2008 08:06 |
много регистров | nntpaha | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 2 | 22.12.2007 19:01 |
Помогите! (много вопросов!) | илья too | Общие вопросы Delphi | 2 | 20.08.2007 19:58 |