AXForum  
Вернуться   AXForum > Microsoft Dynamics NAV > NAV: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 30.11.2006, 18:39   #1  
randrews is offline
randrews
Участник
Аватар для randrews
 
312 / 10 (1) +
Регистрация: 06.12.2004
В одной из разработок директор попросил сделать так, чтоб форму нельзя было переключить до определенных условий. Ну, допустим, на форме опция Boolean. Если она True, то форму деактивировать нельзя (например, посредством меню Окно).

Я его отгооврил от этой мысли, но самому интересно стало. Можно ли это сделать?
Ставил код
Код:
Form - OnDeactivateForm()
IF ScaningMode THEN CurrForm.ACTIVATE;
Не помогает.
В свойствах формы есть только средства поиграть с минимизацией, да размерами окна...
Старый 30.11.2006, 20:03   #2  
Storkich is offline
Storkich
Участник
 
149 / 10 (1) +
Регистрация: 08.03.2007
Код:
 
Form - OnDeactivateForm()
  IF ScaningMode THEN   HYPERLINK(CONTEXTURL);
Тоже плохо работает.
Старый 01.12.2006, 10:21   #3  
satir is offline
satir
Участник
Аватар для satir
 
77 / 10 (1) +
Регистрация: 09.06.2006
Посмотрите OnQueryCloseForm
Старый 01.12.2006, 11:00   #4  
randrews is offline
randrews
Участник
Аватар для randrews
 
312 / 10 (1) +
Регистрация: 06.12.2004
Цитата:
Сообщение от satir Посмотреть сообщение
Посмотрите OnQueryCloseForm
Так я ж не закрывтаь форму собрался... а просто выбрать другое окошко...
Старый 01.12.2006, 12:17   #5  
Kirvisniemi is offline
Kirvisniemi
Moderator
 
342 / 13 (1) ++
Регистрация: 21.12.2004
навскидку приходит только идея
1) запускать форму в модальном режиме
2) повесить на таймер (например 100ms) код
IF (NOT CurrForm.ACTIVE) AND (ScaningMode) THEN
CurrForm.ACTIVATE;
Старый 01.12.2006, 13:18   #6  
randrews is offline
randrews
Участник
Аватар для randrews
 
312 / 10 (1) +
Регистрация: 06.12.2004
Цитата:
Сообщение от tyrex Посмотреть сообщение
навскидку приходит только идея
1) запускать форму в модальном режиме
2) повесить на таймер (например 100ms) код
IF (NOT CurrForm.ACTIVE) AND (ScaningMode) THEN
CurrForm.ACTIVATE;
Эту идею мне Fordewind дал в приватной беседе... Но тут была проблема в том, чтоб даже на ,1 секунды не деактивировать форму...

Ладно. Это был просто вопрос из любопытства.
Я думаю такие задачи без написания хитрых внешних "примочек" не решаются... Как Ваша, tyrex, "примочка" Advanced Image, в свое время решила проблему с картинками в Navision через handle окна.
Старый 01.12.2006, 13:33   #7  
romeo is offline
romeo
Участник
Аватар для romeo
 
564 / 10 (2) +
Регистрация: 31.03.2004
1 совет Тирекса рулит. Запускайте форму в модальном режиме, ставьте там какие угодно галки и не парьтесь.
Старый 01.12.2006, 13:58   #8  
randrews is offline
randrews
Участник
Аватар для randrews
 
312 / 10 (1) +
Регистрация: 06.12.2004
Цитата:
Сообщение от romeo Посмотреть сообщение
1 совет Тирекса рулит. Запускайте форму в модальном режиме, ставьте там какие угодно галки и не парьтесь.
Млин, так и происходит сейчас - в модальном... Я же говорю - начальство я отговорил... Модальное окно не решает поставленной задачи. Вернее решает задачу частично - для родительского окна. Но задача-то была в другом...

Цитата:
Сообщение от romeo Посмотреть сообщение
и не парьтесь.
Так я и не парюсь - задача решена и отдана на оценку начальству
Я же сказал - вопрос задан из любопытства.
Старый 17.12.2006, 13:02   #9  
Eduard-NL is offline
Eduard-NL
Участник
 
9 / 11 (1) +
Регистрация: 05.10.2006
Задача не имеет решения (в рамках Navision). Невозможно отреагировать на попытку деактивации формы - нет такого триггера. Реакция на деактивацию из OnDeactivateForm - это уже свершившийся факт.
 


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 10:41.