19.11.2008, 13:46 | #1 |
Участник
|
Открытие формы с MouseDoubleClick из другой формы
Всем доброго дня!
Надеюсь на помощь, хочу в форме с DoubleClick на одном поле поднять другую форму, как поднять форму из Х++ знаю, но не знаю как словить event: DoubleMouseClick? Заранее благодарен. |
|
19.11.2008, 13:54 | #2 |
Участник
|
метод mouseDblClick
__________________
aLL woRk aNd nO JoY MAKes jAck a dULL Boy |
|
|
За это сообщение автора поблагодарили: Dima_Dima (1). |
19.11.2008, 14:05 | #3 |
Участник
|
Я пробовал ету методу в Designs и там в Control --> Methods -->
Override Method --> mouseDblClick оттуда вызываю форму. Если делаю Breakpoint и я DoubleClick на етом поле, Debbuger не просыпается. Мощет я не там копаю???? |
|
19.11.2008, 14:18 | #4 |
Участник
|
Тут просто дебагер не работает (метод контрола). Попробуйте, например, вызвать какой-нибудь метод из класса Global в ваш mouseDblClick и установите точку останова в методе класса Globa
|
|
|
За это сообщение автора поблагодарили: Dima_Dima (1). |
19.11.2008, 14:42 | #5 |
Участник
|
Или используй breakpont в методе, тогда остановит.
|
|
|
За это сообщение автора поблагодарили: Dima_Dima (1). |
19.11.2008, 15:38 | #6 |
MCITP
|
странно-странно...
а у меня нормально дебагер просыпается и на методе mouseDblClick на контроле, даже если в нём никаких методов не вызывается. 3.0сп3
__________________
Zhirenkov Vitaly |
|
|
За это сообщение автора поблагодарили: Dima_Dima (1). |
19.11.2008, 16:10 | #7 |
Программатор
|
Да блин, ту нет никаких закономерностей. На одной форме бряки нормально работают, на другой тока через breakpoint;. Причем на одной и той же форме в разрезе контролов (о как) то работает то не работает.
|
|
19.11.2008, 16:16 | #8 |
Участник
|
Вот смотрите: debugger не просыпается, форма после DoubleClick не открывается
|
|
19.11.2008, 16:28 | #9 |
Moderator
|
Так брэйкпойнт после f.wait() стоит. Наверное, в этом дело? Форму закройте и прерветесь.
|
|
19.11.2008, 16:28 | #10 |
Axapta
|
Строка с info сработает только после того, как вы закроете вызванную форму. Там же wait у вас.
Можно вопрос, зачем такое извращение, по даблклику на серийном номере форму открывать? |
|
19.11.2008, 16:34 | #11 |
MCITP
|
Человек же написал
Цитата:
... форма после DoubleClick не открывается
__________________
Zhirenkov Vitaly |
|
19.11.2008, 16:35 | #12 |
Axapta
|
Если поле не входит в группу полей с автдатагрупп, то форма должна открываться. Поставьте брейкпоинт на ините формы.
|
|
19.11.2008, 16:36 | #13 |
Участник
|
to Gustav: спасибо, если бы форма открывалась, был бы я счас счастлив.
to oip: Заказчик у нас король!!! На init() debugger очухивается... Последний раз редактировалось Dima_Dima; 19.11.2008 в 16:44. |
|
19.11.2008, 16:45 | #14 |
MCITP
|
но у меня ваш код отлично работает
X++: public int mouseDblClick(int _x, int _y, int _button, boolean _Ctrl, boolean _Shift) { int ret; formRun f; ; ret = super(_x, _y, _button, _Ctrl, _Shift); f = classFactory.formRunClass(new args("InventJournalTable")); f.init(); f.run(); f.wait(); breakpoint; return ret; } может у вас проблема с самой открываемой формой? потрассируйте её.
__________________
Zhirenkov Vitaly |
|
19.11.2008, 16:59 | #15 |
Участник
|
В других формах всё работает, видно опять где-то чего-то маленького не хватает.....
|
|
19.11.2008, 17:18 | #16 |
Axapta
|
Еще раз: поставьте точку остановки на строке f.init();.
|
|
19.11.2008, 17:27 | #17 |
Участник
|
Стоит, стоит, но результата ноль!
|
|
19.11.2008, 18:19 | #18 |
Участник
|
Запер я её милую в grid --> methods, DoubleClick на строчку и всё работает, но на поле не хочет!?
|
|
19.11.2008, 23:22 | #19 |
Moderator
|
Цитата:
Кликая в середине грида, вызвать дабл-клик самого грида не так-то просто - мешают контролы. Но все же можно: см. снятие данных с GRID. Однако, гораздо проще кликать на области выделения слева от строк. Что касается реакции конкретного контрола, то если вы не в нем, нужно сделать как бы тройной щелчок: первый щелчок поставит фокус на контрол, последующий двойной щелчок наконец вызовет собственно желаемое событие - DoubleClick. А если вы, например, считали что-то в Excel, а затем перешли в окно Аксапты и сразу нанесли двойной щелчок по полю (контролу), то одного клика как бы не досчитались. |
|