Текущий архив: 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.47 MB
Время: 0.01 c