Показать сообщение отдельно
Старый 20.12.2007, 15:26   #6  
nmariya is offline
nmariya
Участник
 
32 / 24 (1) +++
Регистрация: 25.09.2007
Адрес: Москва
В общем, получилось навести красоту, правда пришлось немного попрограммировать.
Контрол 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).