Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 12.11.2010, 18:15   #1
4uvak111
Пользователь
 
Регистрация: 12.11.2010
Сообщений: 18
По умолчанию Изображения в DBGridEh (Delphi 7)

Установил на Delphi 7 дополнение EhLib и воспользовался компонентом DBGridEh для решения следующей задачи: надо построить диспетчерский график, с делениями по 10 минут, на каждые сутки. То есть будет много ячеек, и в каждой из них должно графически отображаться состояние самолета.
Вот что вычитал в справке по EhLib:
Цитата:
Отображение картинок в ячейках даннных, в зависимости от значений полей.
TDBGridEh позволяет отображать картинки из компонента TImageList, в зависимости от значений полей. Для этого нужно заполнить список значений полей в свойстве Column.KeyList (каждое значение в отдельной строке) и назначить свойству Column.ImageList значеним компоненты типа TImageList, в которой располагаются картинки в порядке номеров строк KeyList'а. Можно также присвоить свойство Column.NotInKeyListIndex индексом картини выводимой в случае если значениt поля не совпадающего ни с одним значением в KeyList (например, вы можете задать индекс картинки для значения Null). В run-time вы не можете менять картинке в ячейке. Использйте клавишу пробел и клик мышки для установки следующего значения из Column.KeyList в поле. Shift-пробел и Shift-клик для установки предыдущего значения из Column.KeyList. Установка Column.DblClickNextval в True позволяет изменять значения двойным-кликом мышки.
Подскажите пожалуйста, как это реализовать - чтобы при клике на ячейке там изменялась картинка. И понадобится еще обязательно передавать значения и желательно делать ячейки недоступными для последующего редактирования. И как проще и лучше хранить эти передаваемые с ячеек данные? (будет таблица, 144х6, передаваемые данные - не большое число, в пределах 100, которое определит состояние самолета исходя из графика)
4uvak111 вне форума Ответить с цитированием
Старый 12.11.2010, 22:20   #2
4uvak111
Пользователь
 
Регистрация: 12.11.2010
Сообщений: 18
По умолчанию

вот тоже нашел, но нормально работать не хочет, то одно не нравится, то другое:
Цитата:
Чтобы показать вместо значения поля картинку, зависящую от значения поля, необходимо сделать следующее: Column[i].ImageList – ImageList с картинками, Column[i].KeyList свойство типа Strings - каждая строка – значение поля, вместо которого будет подставляться картинка из ImageList с соотвествующим индексом; свойствоColumn[i].NotInKeyListIndex должно содержать индекс картинки сопоставляемый значениям поля, которых нет в KeyList (например, это удобно для значения NULL). Список из свойства PickList используется для сопоставления картинкам всплывающих подсказок (для этого необходимо также выставить в TRUE свойства Column.Tooltips и DBGridEh.ShowHint).


With column[xxx] do begin
ImageList := Self.ImageList;
//табличка преобразований значения поля в картинку
KeyList.Add('Петров');
KeyList.Add('Иванов');
KeyList.Add('Семенов');
NotInKeyListIndex := 3; //для других значений поля
DblClickNextval := TRUE; //циклическая смена значения в поле по двойному клику мышки
//хинты к картинкам
PickList.Add('Это фото Петрова');
PickList.Add('Это фото Иванова');
PickList.Add('Это фото Семенова');
Tooltips := TRUE;
End;
4uvak111 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
DBGridEh Багдат87 Компоненты Delphi 1 02.10.2010 18:37
DBGridEh vdalest БД в Delphi 0 08.07.2010 23:05
Вставка изображения в word средствами delphi MeTeOpA БД в Delphi 2 03.06.2010 22:09
Delphi. Перетягивание изображения ugagaga Помощь студентам 3 12.12.2009 02:40
Чтение изображения из базы данных, Вместо изображения - "System.Byte[]" ruelCrow Общие вопросы .NET 3 10.07.2008 23:29