![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Событие на bitmap в stringgrid [D7, WinXP]
Uran © (2005-07-05 14:02:00)Мастера! Помогите плиз!!!!
Есть StringGrid. 30X30 ячеек, в каждую ячейку вставленно от 2х до 5 bitmap`ов. Подскажите, если можно на примере, как обработать события нажатия на картинку или наведении на неё мыши.
Заранее благодарен
Uran (2005-07-06 10:40:00) [1]да я тоже об этом думал ... но нужно что бы визуально выглядело что в одной ячейке несколько картинок, это своего рода календарь будет. А как вставить Stringgrid в Cell я не предствляю ! :(
REA (2005-07-06 10:33:00) [2]А может в каждую ячейку по одному рисунку? Тогда MouseToCell
Uran (2005-07-06 10:29:00) [3]Спасибо большое, буду пробовать! :)
Digitman (2005-07-06 10:22:00) [4]
> Uran (06.07.05 10:06) [7]
тебе нужно индексировать изображения
создай, например, список записей вида :
row: Integer; //№ строки ячейки
col: integer; //№ столбца ячейки
imgrect: TRect; //отн.координаты зоны отображения картинки imgobj
imgobj: объект_ассоциированный_с_картинкой_отображаемой_в_зоне_imgrect
в ходе "загрузки" заполняй этот список
по событию мыши OnMouseXXX ты имеешь отн.коорд-ты X,Y (кл.зона окна грида), из них получаешь экр.координаты (ClientToScreen), передаешь их параметрами в DrawGrid.MouseToCell(), получаешь row и col ... имея X, Y, row, col ищешь в списке imgobj
evvcom (2005-07-06 10:17:00) [5]А у самого какие идеи есть? Выкладывай, поправим. Думаешь охото тут сочинение на 3 листа писать?
Uran (2005-07-06 10:06:00) [6]
> по кр.мере, стринг-листы (в которых хранятся строки с текстами
> в ячейках) не будут создаваться, т.е. явная экономия ресурсов
> процесса ... мне просто непонятно, зачем тебе стринг-грид,
> предназначенный, по умолчанию и в 1-ю очередь, для отображения
> в ячейках ТЕКСТА, в то время как в ячейках ты отображаешь
> не текст, а КАРТИНКИ ..
ну это не суть важно ... и там и там по кавасу рисую...
> как алгоритм построишь, так и производительность будет
вот в этом и прошу помощи ... как грамотно посторить быстродейственный алгоритм ... я не прошу реализацую алгоритма, а хотя бы основную идею :)
Digitman (2005-07-06 10:04:00) [7]
> при занесении её в стринг грид надо сохранять её позицию
ну и сохраняй !
в чем проблема-то ?
> если обрабатывать перемещение мыши по сетки надо с каждым
> обьектом сравнивать ... а это ну очень сильно скажется
> на производительности !
как алгоритм построишь, так и производительность будет
> если использовать дро грид, какие он даст преимущества?
по кр.мере, стринг-листы (в которых хранятся строки с текстами в ячейках) не будут создаваться, т.е. явная экономия ресурсов процесса ... мне просто непонятно, зачем тебе стринг-грид, предназначенный, по умолчанию и в 1-ю очередь, для отображения в ячейках ТЕКСТА, в то время как в ячейках ты отображаешь не текст, а КАРТИНКИ ..
Uran (2005-07-06 10:02:00) [8]а что это даст? как я по наведению мыши на обьект быстро смогу определить какой именно обьект выбран, и какой хинт показать?
хотя может я совершенно не в том направлении ищу и есть более простые методы? просветите, а ? :)
evvcom (2005-07-06 10:00:00) [9]
> и их очень много в базе
так может тогда вообще DBGrid использовать?
Uran (2005-07-06 09:55:00) [10]Каждая картинка имеет свои тип и назначение, и их очень много в базе, т.е при занесении её в стринг грид надо сохранять её позицию ... далее если обрабатывать перемещение мыши по сетки надо с каждым обьектом сравнивать ... а это ну очень сильно скажется на производительности ! :(
а если использовать дро грид, какие он даст преимущества?
Digitman (2005-07-05 16:47:00) [11]и на шута, спрашивается, стринггрид, когда в ячейках вместо текста изображение ?
почему не дрогрид ?
pasha_golub (2005-07-05 16:41:00) [12]Вручную узнавать положение картинки и генерировать свое событие. Хотя, не серьезно это. В Стрингрид и картинки, и еще и несколько.
Чего надо-то? Может по-другому кошерней будет?