14.09.2006, 14:41
|
#3
|
Участник
Регистрация: 28.11.2005
Адрес: Москва
|
Цитата:
Сообщение от oip
Можно перекрыть метода Active() на датасоурсе и добавить туда этот код: X++: int ret;
;
ret = super();
winapi::setWindowText(element.hWnd(), element.design().caption());
return ret; Если необходимо, то можно добавить нужную информацию в заголовок.
Я пошел по пути, предложенному dn - убрал ссылку из element.args().record(). При этом сделал метод установки заголовка и вызывал его в active() и linkActive() datasource'а. Пробовал делать по-разному:- если в методе установки заголовка просто написать
X++: winapi::setWindowText(element.hWnd(), strfmt("%1", smth)); наблюдается ощутимое мерцание заголовка при переходах в форме-родителе (InventTable, например), плюс иногда этот вызов словно не срабатывает, и в заголовке появляется просто значение element.design().caption() (скажем, пустая строка);
- если отформатировать заголовок так
X++: element.design().caption(strfmt("%1", smth)); в заголовке появляется то, что нужно, но в конце приписывается пробел и дефис " -", так что форма все равно пытается пристыковать данные из element.args().record(), правда поскольку запись заблаговременно прибита, ничего кроме дефиса не дописывается;
- если же использовать SetWindowText(), чего мне, собственно, изначально не хотелось, вот так:
X++: winapi::setWindowText(element.hWnd(),
element.design().caption(strfmt("%1", smth))); мелькания (ведь FormDesign::caption() с параметром тоже, видимо, вызывает SetWindowText()) почти не видно, однако дефис в конце хоть и не всегда, но все равно дописывается
Последний раз редактировалось gl00mie; 14.09.2006 в 15:19.
Причина: замученные очепятки
|
|