Вниз
Скачать: CL | DM;

Событие на bitmap в stringgrid   Найти похожие ветки 

← →
Uran   (2005-07-05 14:02) [0]

Мастера! Помогите плиз!!!!
Есть StringGrid. 30X30 ячеек, в каждую ячейку вставленно от 2х до 5 bitmap`ов. Подскажите, если можно на примере, как обработать события  нажатия  на картинку или наведении на неё мыши.
Заранее благодарен


← →
pasha_golub ©   (2005-07-05 16:41) [1]

Вручную узнавать положение картинки и генерировать свое событие. Хотя, не серьезно это. В Стрингрид и картинки, и еще и несколько.

Чего надо-то? Может по-другому кошерней будет?


← →
Digitman ©   (2005-07-05 16:47) [2]

и на шута, спрашивается, стринггрид, когда в ячейках вместо текста изображение ?

почему не дрогрид ?


← →
Uran   (2005-07-06 09:55) [3]

Каждая картинка имеет свои тип и назначение, и их очень много в базе, т.е при занесении её в стринг грид надо сохранять её позицию ... далее если обрабатывать перемещение мыши по сетки надо с каждым обьектом сравнивать ...  а это ну очень сильно скажется на производительности ! :(

а если использовать дро грид, какие он даст преимущества?


← →
evvcom ©   (2005-07-06 10:00) [4]


> и их очень много в базе

так может тогда вообще DBGrid использовать?


← →
Uran   (2005-07-06 10:02) [5]

а что это даст? как я по наведению мыши на обьект быстро смогу определить какой именно обьект выбран, и какой хинт показать?
хотя может я совершенно не в том направлении ищу и есть более простые методы? просветите, а ? :)


← →
Digitman ©   (2005-07-06 10:04) [6]


> при занесении её в стринг грид надо сохранять её позицию


ну и сохраняй !
в чем проблема-то ?


> если обрабатывать перемещение мыши по сетки надо с каждым
> обьектом сравнивать ...  а это ну очень сильно скажется
> на производительности !


как алгоритм построишь, так и производительность будет


> если использовать дро грид, какие он даст преимущества?


по кр.мере, стринг-листы (в которых хранятся строки с текстами в ячейках) не будут создаваться, т.е. явная экономия ресурсов процесса ... мне просто непонятно, зачем тебе стринг-грид, предназначенный, по умолчанию и в 1-ю очередь, для отображения в ячейках ТЕКСТА, в то время как в ячейках ты отображаешь не текст, а КАРТИНКИ ..


← →
Uran   (2005-07-06 10:06) [7]


> по кр.мере, стринг-листы (в которых хранятся строки с текстами
> в ячейках) не будут создаваться, т.е. явная экономия ресурсов
> процесса ... мне просто непонятно, зачем тебе стринг-грид,
> предназначенный, по умолчанию и в 1-ю очередь, для отображения
> в ячейках ТЕКСТА, в то время как в ячейках ты отображаешь
> не текст, а КАРТИНКИ ..

ну это не суть важно ... и там и там по кавасу рисую...

> как алгоритм построишь, так и производительность будет


вот в этом и прошу помощи ... как грамотно посторить быстродейственный алгоритм ... я не прошу реализацую алгоритма, а хотя бы основную идею :)


← →
evvcom ©   (2005-07-06 10:17) [8]

А у самого какие идеи есть? Выкладывай, поправим. Думаешь охото тут сочинение на 3 листа писать?


← →
Digitman ©   (2005-07-06 10:22) [9]


> 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


← →
Uran   (2005-07-06 10:29) [10]

Спасибо большое, буду пробовать! :)


← →
REA   (2005-07-06 10:33) [11]

А может в каждую ячейку по одному рисунку? Тогда MouseToCell


← →
Uran   (2005-07-06 10:40) [12]

да я тоже об этом думал ... но нужно что бы визуально выглядело что в одной ячейке несколько картинок, это своего рода  календарь будет. А как вставить Stringgrid в Cell я не предствляю ! :(



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.48 MB
Время: 0.025 c
4-1117241679
gdaujk
2005-05-28 04:54
2005.07.25
Дочерние контролы дочерних контролов :-)


1-1120555327
Ded Moroz
2005-07-05 13:22
2005.07.25
WinXP Manifest


3-1118894388
Dron1173
2005-06-16 07:59
2005.07.25
Аварийное закрытие приложения


4-1117424627
LEXX_55
2005-05-30 07:43
2005.07.25
Как удалить файл зная только его расширение


14-1120332268
NewWonder
2005-07-02 23:24
2005.07.25
Как написать аналог этого кода на MS Visual C++




   Наверх