Цитата:
Сообщение от wolf-vega
Мда!
Есть ли возможность прописать код для каждой ячейки в DBGrid или только в StringGrid? Если да, то каким образом.
Как сделать динамическую кнопку.
Я нарисовал три положения кнопки (статичную, при наведении мышки и при нажатии кнопки, ну onClick). Как мне подгрузить остальные два положения кнопки. Через Visible? Или есть другие возможности.
Подскажите.
Я не прошу делать за меня работу, тем паче писать код за меня.
Я просто прошу подсказать пути решения, ссылки на схожие темы, да и просто дружеский совет.
|
Можно я дам совет? Спасибо.
Наплюйте на данном этапе на красивые кнопки с динамическими картинками и на прочие украшательства. Они отвлекают вас от основной задачи. Сделайте их просто текстовыми и сосредоточьтесь на работе с базой данных. Для начала можно сходить
сюда и почитать. Когда у вас заработает функциональность программы, решающая главную задачу, можно будет вернуться к кнопкам. К тому моменту у вас будет опыт работы и понимание того, как устроены компоненты VCL, а потому многие сегодняшние проблемы решатся сами собой.
Отвечая же на конкретный вопрос, могу сказать, что сделать динамическую картинку на кнопке можно разными способами, в зависимости от используемых компонентов. Можно использовать TToolbar, у него есть специальные свойства для указания объектов TImageList, содержащих "обычные" картинки, "запрещенные" картинки и т.п. Можно задействовать события OnMouseEnter и OnMouseLeave у кнопки. Можно поиграться с объектами TAction. Про последнее можно почитать
тут. Можно, наверное, еще что-то придумать.
Что касается кода для ячейки DbGrid, то тут нужно разобраться, чего вы хотите. DbGrid не хранит данные, он их только показывает. А хранятся они в наследнике класса TDataSet, вот с ним обычно и работают, чтобы изменить какие-то данные. Если же вы хотите изменить именно формат представления данных в DbGrid (ну, например, отобразить картинку в ячейке, или раскрасить строки в разные цвета), то да - есть такая
возможность.