| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Общие вопросы > Люди подскажите плиз срочно!!! |
| Автор: fifo79 8.5.2003, 13:09 |
| Здраствуйте! у меня возникла такая проблема: я написал программу на Дельфи для тестирования знаний есть вопрос и к нему идут 3 ответа, но вот проблема как сделать так чтобы кнопка с ответами увеличивалась по размеру автоматический, т.е. ответы выполнены в виде конпок где отображатеся текстовая информация, проблема в следующем при занесении большой информации для ответо, данные не помещаются в кнопку и отображаются обрывисто, подскажите пожалйста как сдеалть так чтобы размер кнопкеи автоматический менялся при большой информации он вмешалбы всю информацтю и правильно его отображал. Заранее благодарен |
| Автор: Georg4 8.5.2003, 13:26 |
| А чего б тебе не сделать кнопку заранее больше, если она будет скакать в размерах получится некрасиво. Или если так уж хочешь, то вместо кнопки поставь лейбл и просто подставь фунцию он клик. |
| Автор: emchenko 8.5.2003, 14:59 |
| текст распологается в одну строку или несколько? |
| Автор: AntonSaburov 8.5.2003, 16:19 | ||
IMHO - разумно. Пусть будут просто большие кнопки. Хотя, IMHO, еще более прилично было бы сделать класс, который имеет стандатный размер, но может скролироваться. Он умеет отображать ответ. При попадании мышки в этот объект менять курсор на "палец". Кроме этого такой объект может иметь фокус и он это показывает путем изменения вида кромки. Между объектами двигаться как обычно кнопкой Tab. При нажатии Enter считается выбраным ответ в фокусе. Причем такой подход удобен для дальнейшего расширения системы (а вдруг захочется рисунки выводить - без смены логики всей прораммы просто делаем круче сам объект. Можно пойти еще дальше и оббъявить базовый класс, который умеет выводить текст, а потом пораждать от него остальные. Логика работы программы за счет полиморфизма может оставаться неизменной. А вот какой объект создавать - можно узнаьт при считывании вопроса их базы, в которой прописано, какого точно типа сосздавать объекты. Вообщем, круто |
| Автор: fk_ 10.5.2003, 16:18 |
| Хех а я посоветовал бы естесно создать свой компонент на базе стандартной кнопки просчитывающий количество символов и в зависимости от этого меняющий размеры... но на самом деле можно и без этого обойтись... А самое простое, думаю, это дублировать информацию в свойство Hint и поставить истину на отображение подсказок... |
| Автор: neutrino 11.5.2003, 10:34 | ||
А может просто:
Ну, конечно как функция GetTextLength называется я точно не помню, но ... |
| Автор: 78125 11.5.2003, 16:41 |
| Обычно тесты делают при помощи radiobutton |
| Автор: &-ray 11.5.2003, 19:40 |
| По-моему проще сделать, как сказал Georg4: вместо кнопки использовать tlabel с wordwrap=true А чтоб смотрелось все путем можно обрамить все это дело в tbevel и при клике менять вид границ этого bevel - чем не кнопка? |
| Автор: neutrino 14.5.2003, 09:41 |
| Можно сделать еще 500 разными способами, но вопрос не в этом. |
| Автор: emchenko 14.5.2003, 13:29 | ||
| Товарищи! ну человек же просит: "плз. срочно...". Делом же занят, не курсач какой-нибудь задрипанный, но проект пишет! Да как нарисовать красивее он, наверное, знает (а если и не знает, то какое нам дело). Наша задача конкретно ответить на вопрос. Человеку важна не мораль, а способ решения... братель, брось на форму кнопку (у меня так сложилось что Button3) и Edit. Событие Click у кнопки выглядит так:
один из 500 я взял на себя... кстати, братель, я кнопку зачеркнул, так просто (последние 5 строчек), если не понравиться убери;) |