|
![]() |
#1 |
Участник
|
![]()
В модуле анкеты, при запуске анкеты: если ответ слишком длинный, ширина формы растягивается на всю длину ответа, ответ при этом в одну строку.
Каким образом можно изменить форму так, чтобы ответ переносился на несколько строк, а ширина формы оставалась какого-либо фиксированного размера ? |
|
![]() |
#2 |
Аманд
|
Цитата:
чтобы ответ переносился на несколько строк
У меня получалось сделать вопрос в три строки С ответами не пробовал, но должно сработать. |
|
![]() |
#3 |
MCTS
|
Получалось на портале или в DAX?
В DAX не работает ни <br> ни \n
__________________
farlander.ru Последний раз редактировалось farlander; 20.12.2007 в 10:41. |
|
![]() |
#4 |
Участник
|
![]()
В DAX, у меня все вопросы относятся к DAX.
Самое интересное, что если зафиксировать размеры формы, то сам ответы все равно растягиваются и просто не помещаются в форму. Кстати, возникает вопрос, может просто контролы типа CheckBox или RadioButton не могут сами по себе нереноситься на несколько строк??? |
|
![]() |
#5 |
Участник
|
Это в win-форме.
Вопрос-то автоматически переносится по строкам. Последний раз редактировалось nmariya; 20.12.2007 в 10:34. |
|
![]() |
#6 |
Участник
|
В общем, получилось навести красоту, правда пришлось немного попрограммировать.
Контрол CheckBox изначально не поддерживает multiline. Для того, чтобы все таки использовать мультилайн, изменили класс KMQuestionaireAnswerControl_Win32 Метод CheckBoxControl. В Label CheckBox'а ничего не пишем, но ниже добавляем строку с текстом ответа. Array addControl() { FormCheckBoxControl formCheckboxControlLocal; //***** FormStringControl FormStringControlLocal; //------ Array arrayLocal = new Array(Types::Class); for (counter = 1;counter <= array.lastIndex();counter++) { [sequenceNumber, answerText] = array.value(counter); formCheckboxControlLocal = controlGroup.addControl( FormControlType::CheckBox, #QCONTROL); //****** FormStringControlLocal = controlGroup.addControl( FormControlType::String, #QCONTROL); //----- formCheckboxControlLocal.backStyle( 1 ); if (!KMQuestion.MultipleRows) { labelString = answerText; //***** FormStringControlLocal.multiLine(1); FormStringControlLocal.widthMode(1); FormStringControlLocal.autoDeclaration(true); FormStringControlLocal.border(1); FormStringControlLocal.text(answerText); countstr =FormStringControlLocal.getLineCount(); FormStringControlLocal.displayHeight(countstr); FormStringControlLocal.AllowEdit(0); // formCheckboxControlLocal.label(labelString); //----- } |
|
|
За это сообщение автора поблагодарили: farlander (1). |