![]() |
#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). |