Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.07.25;
Скачать: 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 вся ветка

Текущий архив: 2005.07.25;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.043 c
14-1120371700
Anvar
2005-07-03 10:21
2005.07.25
Программист-стажер, Delphi. Никто не хочет поработать?


3-1118714814
Viktop
2005-06-14 06:06
2005.07.25
как в базу Paradox записать изображения.


4-1117110559
DimN
2005-05-26 16:29
2005.07.25
Узнать цвет точки на экране


1-1120568378
Dmitrij_K
2005-07-05 16:59
2005.07.25
Чем грозит unsafe ошибка?


1-1120664264
Igor_thief
2005-07-06 19:37
2005.07.25
Как из строкового 19,10 перевести в вещественное 19, 10 без ...