04.06.2012, 06:49 | #1 |
Участник
|
url открывающий форму
На форме нужен url откроющий форму репозитария, вместо обычной кнопки.
- посмотрел SysHelp, повторил код оттуда PHP код:
- решив использовать helpGenerator.showURL(... в обработчике нажатия на контрол, не смог отобразить контрол(допустим staticText) в виде url-ссылки так как-же? =) |
|
04.06.2012, 08:11 | #2 |
Участник
|
См. SysHelp::onEvent_onclick() и SysHelp::processStandardLink()
|
|
05.06.2012, 10:36 | #3 |
Участник
|
еще варианты есть? почему то не хочется юзать ActiveXcontrol.
Методы SysHelp посмотрел - понял что программно вызывается MenuItem, спасибо. |
|
05.06.2012, 11:20 | #4 |
Молодой, подающий надежды
|
Если вдруг используете Tabax, то может это подойдет:
AxPath |
|
05.06.2012, 11:30 | #5 |
Участник
|
нене нафиг AxPath)
Пока остановился на этом, незнаю насколько логично и правильно: -создал HTML контрол -в Init формы закинул(setText()) в контрол html-код из первого сообщения -там же в Init выставил контролу свойство .helpText() == "MenuItemDisplay://Address" (ну т.е. то же значение что и в setText()) -в методе контрола mouseDown() получаю .helpText() ну и открываю как посоветовали Проблема в том, что в любом месте на контроле нажимая мышкой, отработает mouseDown(), а не конкретно на надписи. Пока что уменьшаю размеры html-контрола, чтобы кокраз в него и попадали) |
|
07.06.2012, 15:38 | #6 |
Читатель
|
Цитата:
Предлагаю попробовать такой код в обработчике события: X++: COM activeElement = HTML.activeElement(); ; if (activeElement.toString() == "DispHTMLInputElement") { switch (activeElement.type()) { /// тут есть некоторая хитрость - для checkbox ловится событие по onClick, для остальных onKeyUp и onMouseUp } } |
|
07.06.2012, 16:43 | #7 |
Участник
|
Как-то все сложно.
Создай ActiveX Microsoft Web Browser. Перекройте у этого контрола событие BeforeNavigate2() Показывать ссылку можно так X++: SysHelp::showHTML(html, '<A href="MenuItemDisplay://InventTable" title="MenuItemDisplay://InventTable">Справочник номенклатур</A>'); В обработчик onEvent_BeforeNavigate2() вставьте такой вызов X++: // Fired before navigate occurs in the given WebBrowser (window or frameset element). The processing of this navigation may be modified. void onEvent_BeforeNavigate2(COM _pDisp, COMVariant _URL, COMVariant _Flags, COMVariant _TargetFrameName, COMVariant _PostData, COMVariant _Headers, COMVariant _Cancel) { ; SysHelp::onEvent_BeforeNavigate2(html, _pDisp, _URL, _Flags, _TargetFrameName, _PostData, _Headers, _Cancel); }
__________________
Axapta v.3.0 sp5 kr2 |
|
|
За это сообщение автора поблагодарили: gl00mie (5), kpoxa (1). |