Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Две формы с ShowWindow=2. Как их организовать? / 10 сообщений из 10, страница 1 из 1
07.02.2007, 19:06
    #34313898
IgorProgrammer
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Две формы с ShowWindow=2. Как их организовать?
Лис - 9
Вин 2000

Есть две формы (Form1 и Form2) ShowWindow=2
Form2.ShowInTaskBar=.F.

Form1.Command1.Click
do form form2

При этом Form2 видна при переключении между задачами...

Как мне организовать так что б на второю форму нельзя было переключиться...
А активизация ее происходила при активизации первой.

На подобии:
Рабты _Screen-а и диалового окна About Microsoft Visual FoxPro...

Заранее спасибо...
...
Рейтинг: 0 / 0
08.02.2007, 01:05
    #34314380
ВладимирМ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Две формы с ShowWindow=2. Как их организовать?
Попробуй

Form2.ShowWindow = 1 - In Top-Level Form
Form2.DescTop = .T.

Т.е. Form2 будет открываться "внутри" Form1. Впрочем, я это не проверял, так что в результате не уверен...
...
Рейтинг: 0 / 0
08.02.2007, 11:38
    #34315133
IgorProgrammer
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Две формы с ShowWindow=2. Как их организовать?
Мне надо организовать работу двух форм с ShowWindow = 2

Как это смогли организовать разработчики Лиса (форма О программе)

Убрать вторую ворму с десктопа и Alt+Tab мне удалось...
Но вот при клике на Хедер формы не срабатывает активизация формы...
И я не могу передать фокус на форму 2...
In Top-Level Form мне не подходит...
Эта форма должна быть типА отдельно от других...
Со своей сессией...
И запускатЪся или получать фокус от других форм с ShowWindow = 2 и которые видны на десктопе...
...
Рейтинг: 0 / 0
08.02.2007, 13:36
    #34315711
ВладимирМ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Две формы с ShowWindow=2. Как их организовать?
IgorProgrammerМне надо организовать работу двух форм с ShowWindow = 2

Как это смогли организовать разработчики Лиса (форма О программе)
В FoxPro эта форма In Screen (в твоем случае In Top-Level) и при этом модальная. Как независимая форма она не существует. Открывается всегда внутри другого окна.

IgorProgrammerIn Top-Level Form мне не подходит...
Эта форма должна быть типА отдельно от других...
Со своей сессией...
И запускатЪся или получать фокус от других форм с ShowWindow = 2 и которые видны на десктопе...
Вы уж как-нибудь разберитесь с терминологией. "Сессия данных" вообще не имеет никакого отношения к тому как форма будет отображена.

Если Вы хотите иметь подчиненную форму, то логично, чтобы эа форма открывалась "внутри" главной.

Кстати, а Вы вообще-то совет попробовали? Я не поленился, создал две формы. Все прекрасно работает именно так как Вам нужно. У подчиненной формы следующие настройки.

Form2.ShowWindow = 1 - In Top-Level
Form2.Desktop = .T.
Form2.WindowType = 1 - Modal
...
Рейтинг: 0 / 0
08.02.2007, 13:55
    #34315801
IgorProgrammer
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Две формы с ShowWindow=2. Как их организовать?
ВладимирМForm2.ShowWindow = 1 - In Top-Level
Form2.Desktop = .T.
Form2.WindowType = 1 - Modal
Сенкс... че-то я торможу :(
С формами запутался...

Код: plaintext
Вы уж как-нибудь разберитесь с терминологией. "Сессия данных" вообще не имеет никакого отношения к тому как форма будет отображена.
Я согласен...

У меня еще вопросик to ВладимирМ
При такой организации работ форм...
Как мне на Form2 понять что произошел Drop из Form1 если Form2 не активна...

Заранее сенкс
...
Рейтинг: 0 / 0
08.02.2007, 14:21
    #34315947
ВладимирМ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Две формы с ShowWindow=2. Как их организовать?
А как ты сможешь НАЧАТЬ операцию Drag-Drop если тот объект, который должен начать эту операцию не активен? Ты просто не сможешь ничего "взять" с Form1 пока открыта Form2.

Хотя обратная ситуация: из Form2 в Form1 - возможна

Завершение операций Drag-Drop - это срабатывание события Object.DragDrop на объекте-цели. Т.е. на том объекте над которым отпустили кнопку мыши.

Если посмотреть, какие именно параметры есть у события DragDrop, то первым параметром идет объект oSource. Это ссылка на тот объект, который начал операцию Drag-Drop.

Лично у меня все нормально ловится в Form1. Даже несмотря на то, что она не активна. Можно посмотреть что возвращает oSource.name
...
Рейтинг: 0 / 0
08.02.2007, 15:02
    #34316146
IgorProgrammer
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Две формы с ShowWindow=2. Как их организовать?
Совсем тормознул...
Пытался из окна фокса перетащитЪ в запущенный Екзе...

Если все в одном екзе... то усе нормально...

Можно ли устроить Drag And Drop между своими Екзе-файлами...

Заранее сенкс...

Аппетит приходит во время ЕДЫ :)
...
Рейтинг: 0 / 0
08.02.2007, 15:37
    #34316315
ВладимирМ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Две формы с ShowWindow=2. Как их организовать?
IgorProgrammerМожно ли устроить Drag And Drop между своими Екзе-файлами...
Не пробовал. Теоретически, можно. Есть пример перетаскивания из проводника в Solution.pjx Там через OLE Drag-Drop. Через TaskPane посмотри в разделе Programming.
...
Рейтинг: 0 / 0
08.02.2007, 19:54
    #34317338
IgorProgrammer
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Две формы с ShowWindow=2. Как их организовать?
ВладимирМ OLE Drag-Drop
Почти все получилось...
За исключением...

1) Если разные екзе
Метод OLEDragDrop
Код: plaintext
TYPE("oDataObject.Parent")="U"
В одном екзе
Код: plaintext
TYPE("oDataObject.Parent")="O"

2) Не знаю как при перетаскивании из текстбокса подменять свой текст и тянуть его, а не сужествующий

В одно екзе все вроде бы просто...
Обратился к методу контрола откиль пришли и все...
А если разные то че делать...
При перетаскивании и подтверждении пользователем надо сделать выборку из нескольких таблиц одного екзе и запихнуть их в другой...

Может посоветуешь что-нибудь...

Аппетит приходит во время еды ;)
...
Рейтинг: 0 / 0
08.02.2007, 21:05
    #34317431
IgorProgrammer
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Две формы с ShowWindow=2. Как их организовать?
Вопрос №2 снят...
Уже разобрался с очередностью запуска при OleDrag
OleStartDrag -> обнуляем дату
OleSetData -> запихиваем нужное значение

При OleDragDrop проверка на нужное значение...
и даем effect= нужному значению с запуском таймера = 1 сек.

В OleCompleteDrag проверяем effect и создаем файл
aa=Fopen('1',2)
делаем выборку в указанное место...
если нужно то файл выполнения который будет считыватся и запускаться бегущая строка выполнения
=Fclose(aa)

В таймере приемника
dele file 1
IF !file
делаем прием данных
endif
и мессагу...
Так же не мешало б проверять на изменение бегущей строки...
При каком-либо простое обрубать выполнение (зависит от задач)

При TYPE("oDataObject.Parent")="O" очень просто...
запускаем прогу и ждем когда она отработает :)
Потом запускаем прием данных...

Если у кого-то есть более совершенный метод плиз поделитесЪ...
Скоро проект запускать в обиход...

Заранее сенкс
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Две формы с ShowWindow=2. Как их организовать? / 10 сообщений из 10, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]