| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Общие вопросы > StringGrid Click |
| Автор: Rodman 16.10.2006, 14:13 |
| Дароф.... Подскажите, пожалуйста, как программно нажать на ячейку на которую было произведено нажатие в последний раз.... Т.е. я выбрал ячейку (произошел расчет)... я произвел другие маневры в гриде данные обновились... и тут чтобы опять обновился расчет мне необходимо нажать на прошлую ячейку... Как это сделать... Спасибо... |
| Автор: skyboy 16.10.2006, 14:38 | ||||
| уже вижу два варианта: 1. честная эмуляция - отослать сообщения wm_mousedown и wm_mouseup твоей таблице. Недостатки очевидны: - если ячейки на экране нет, кликнуть в пределх этой ячейки не выйдет; - надо определять координаты требуемой ячейки; 2. "Прямой" вызов обработчика нажатия с передачей нужных параметров. Пересчет у тебя по какому событию вызывается? По OnClick? Тогда делай так:
Или на OnSelectCell? Тогда:
|
| Автор: Rodman 17.10.2006, 10:16 |
| По OnSelectCell... Сенкс... Попробую... |
| Автор: Rodman 17.10.2006, 17:05 | ||
а как мне нажать на StringGridDrawCell
но если изенятся текущая ячейка, она не перерисовывается... Что не так??? |
| Автор: skyboy 17.10.2006, 17:19 |
доходчивее обьясни. |
| Автор: Rodman 17.10.2006, 19:37 |
| Ячейка может меняться... а на старте хотелось бы закрашивать первую.... у меня высота и ширина ячеек = 22 я расчитываю параметр Rect как Rect.left:=ARow*22 и Rect.Top:=ACol*22, по такому же принципу и остальные параметры... Но рисовать не хочет... |
| Автор: Zero 17.10.2006, 21:44 |
| Rodman, там в стрингриде бывает баг, когда по несколько раз перересовывешь одну и ту же ячейку. В DRKB есть код как на ней рисовать один раз, но при перерисовке бывают глюки... Я в своё время, заменил стринггрид, другим компонентом (название не помню, в поисковике ищется) предназначеным для создания отчётов. Если ты делаешь именно их, то стринггрид на него и замени, если нет то искать другие способы. Добавлено @ 21:47 В общем, если хочешь то посмотри тут: http://forum.vingrad.ru/index.php?act=module&module=vingradfaq&article_num=000602 Там подробное описание рисования на ячейках. |