procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState);
Подскажите пожалуйста как можно эту процедуру вызвать из какого-либо участка кода?
Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.
Наладить общение поможет, если вы подпишитесь по почте на новые темы в этом форуме.
| Cheburashka |
Сообщение
#1
|
![]() Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 195 Пол: Мужской Реальное имя: Сергей Репутация: 2 |
В общем я хочу чтобы у меня после какого-то действия вызывалась процедура OnDrawCell для StringGrid'a.
procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer; Подскажите пожалуйста как можно эту процедуру вызвать из какого-либо участка кода? -------------------- ♣♣♣
"Себя великим не считай, гордясь величьем предков, Величья не добудешь ты и золота ценою! Хоть светит на небе луна, но отраженным светом - Чужою славой не живи, не будь второй луною!!!" ♣♣♣ |
![]() ![]() |
| volvo |
Сообщение
#2
|
|
Гость |
Когда я говорю "автоматически" - подразумевается, конечно, "во время работы программы". То есть, я не стал бы бросать все эти панели и изображения в режиме редактирования формы, потом с ними замучаешься разбираться, что где. А сделал бы вот так:
Тут код (Показать/Скрыть)
Вот чего получается на форме после того, как я сначала нажал кнопку "Создать", а потом - "Изменить": К тому же, как ты заметил я показал еще и как обрабатывать клик по панельке (или по изображению), если понадобится... По-моему, этот способ гораздо проще, чем кидать компоненты на форму, выравнивать их, да еще и запоминать, какой компонент как называется, или пользоваться неподходящими компонентами типа StringGrid-а. Добавлено через 3 мин. Цитата Если количество картинок заранее известно, можешь создать панели при проектировании вручную И ты туда же... Ну, брошу я эти 100 картинок вручную. А как потом к ним обращаться? Мне вот надо перенести первую картинку во втором ряду на 4 ряда ниже. Я что, должен помнить, как пронумерованы картинки? А оно мне надо, если можно обращаться к любому изображению, как к обычному элементу массива? |
Сергей Меркурьев Вызов события 27.06.2010 22:21
Unconnected Ну так и вызываешь, form1.StringGrid1DrawCell(Send… 27.06.2010 22:35
Сергей Меркурьев Так ему Sender не нравится...
Пишет следующее
[Err… 27.06.2010 22:37
volvo Налицо ошибка проектирования. Событие не должно вы… 27.06.2010 23:40
Сергей Меркурьев Что касается видимости ячеек, то этого у меня не п… 27.06.2010 23:52
volvo Похоже, ты не понимаешь основ событийного программ… 28.06.2010 0:32
Сергей Меркурьев Хорошо объясню ситуацию по конкретнее. Спасибо что… 28.06.2010 0:41
volvo Не использовать StringGrid для работы с изображени… 28.06.2010 3:35
Сергей Меркурьев Вы везде употребляете слово "автоматически… 28.06.2010 13:47
Unconnected Ну наверное имелось в виду при запуске программы с… 28.06.2010 15:46
Сергей Меркурьев Действительно, оказывается всё настолько просто :)… 28.06.2010 19:04
Client Думаю, что этот обработчик надо установить для все… 28.06.2010 20:18
volvo Комментарии к коду читал? Там все написано.
А во … 28.06.2010 21:15
Сергей Меркурьев Спасибо! 28.06.2010 21:37
Сергей Меркурьев А вот еще один вопрос по поводу первых процедур - … 30.06.2010 20:34
volvo Ну, например, написать вот такую вот функцию:
// … 30.06.2010 20:56
Сергей Меркурьев А как сделать обмен таких изображений, зная коорди… 30.06.2010 22:34
Client А что ты делаешь если надо поменять 2 переменные ц… 30.06.2010 23:00
Сергей Меркурьев b1 := arrPanels[x,y].Components[0] as TImage;
… 30.06.2010 23:03
Client свойство Picture тоже поменяй 30.06.2010 23:20
volvo Этого недостаточно. Такой способ сработает только … 30.06.2010 23:39
Сергей Меркурьев volvo, в общем-то я затрудняюсь ответить на Ваши в… 1.07.2010 12:42![]() ![]() |
|
Текстовая версия | 19.02.2026 22:29 |