:: Visual Foxpro, Foxpro for DOS
Что-то в виде AlwaysOnTop для формы
vodaic
Автор

Сообщений: 188
Откуда: Киев, Украина
Дата регистрации: 24.02.2009
Обяъект создается фрагментом:

local loWord
m.loWord = CreateObject("Word.Application")
m.loWord.Documents.Open("&hommai.dbf\antab12.txt",.f.,.f.,.f.,'','',.f.,'','',0,1251)
m.loWord.ActiveDocument.PageSetup.LeftMargin=30
m.loWord.ActiveDocument.PageSetup.RightMargin=20
m.loWord.Visible = .T.

Все работает нормально: запускается Word, открывается файл - все нормально.
Но окно Worda спрятано за окном самого приложения и его надо "поймать глазками",
чтобы вытянуть вперед.
А нельзя ли в программе указать, чтобы это окно открывалось впереди всего?
Что=то типа AlwaysOnTop для формы.

Спасибо!
Ratings: 0 negative/0 positive
Re: Что-то в виде AlwaysOnTop для формы
Ydin

Сообщений: 7648
Откуда: Киев
Дата регистрации: 16.12.2005



Исправлено 1 раз(а). Последнее : Ydin, 09.02.20 10:40
Ratings: 0 negative/0 positive
Re: Что-то в виде AlwaysOnTop для формы
Ydin

Сообщений: 7648
Откуда: Киев
Дата регистрации: 16.12.2005
Цитата:
DECLARE SetWindowPos IN WIN32API LONG HWND, LONG hwndafter, ;
LONG x, LONG Y, LONG cx, LONG cy, LONG FLAGS
DECLARE LONG FindWindow IN Win32API STRING lpClassName,STRING lpWindowName
Разберешься? Это рабочий код

Word2Front( tlHideVfp) - Окно MS Word в самый top (верх)
tlWaitWord - ждать завершения работы MS Word



Исправлено 4 раз(а). Последнее : Ydin, 09.02.20 10:42
Ratings: 0 negative/0 positive
Re: Что-то в виде AlwaysOnTop для формы
andrewk

Сообщений: 174
Откуда: Красноярск
Дата регистрации: 15.05.2005
Ydin
tlWaitWord - ждать завершения работы MS Word
tlWaitWord в приведённом куске кода не упоминается, это ещё один параметр для Word2Front()? И в случае .T. из неё не возвращаться пока не закроется lnHwndWord, а это проверяем в цикле по _SCREEN.WordTimer.INTERVAL ?

Upd: кстати, здесь
vodaic
.Open("&hommai.dbf\antab12.txt",.f.,
при hommai="клюква" при таком написании макро, папка будет "клюкваdbf\", так и задумано?
Ну и вообще, какбэ комильфо (m.hommai+"dbf\antab12.txt"...



Исправлено 1 раз(а). Последнее : andrewk, 09.02.20 07:42
Ratings: 0 negative/0 positive
Re: Что-то в виде AlwaysOnTop для формы
Ydin

Сообщений: 7648
Откуда: Киев
Дата регистрации: 16.12.2005
Цитата:
DEFINE CLASS WordTimer AS TIMER
FUNCTION TIMER
WITH THIS
IF FindWindow("OpusApp", '')=0
.INTERVAL = 0
_Screen.WindowState = 0
_SCREEN.REMOVEOBJECT('WordTimer')
ENDIF
ENDWITH
ENDDEFINE



Исправлено 1 раз(а). Последнее : Ydin, 09.02.20 10:38
Ratings: 0 negative/0 positive
Re: Что-то в виде AlwaysOnTop для формы
Taran

Сообщений: 13623
Откуда: Красноярск
Дата регистрации: 16.01.2008
Александр, извини конечно, но чебы код не обрамлять соотв. тэгами? Ну не читается совсем.
Ratings: 0 negative/0 positive
Re: Что-то в виде AlwaysOnTop для формы
Ydin

Сообщений: 7648
Откуда: Киев
Дата регистрации: 16.12.2005
OK?
Ratings: 0 negative/0 positive
Re: Что-то в виде AlwaysOnTop для формы
vodaic
Автор

Сообщений: 188
Откуда: Киев, Украина
Дата регистрации: 24.02.2009
Цитата:

Upd: кстати, здесь
vodaic
.Open("&hommai.dbf\antab12.txt",.f.,
при hommai="клюква" при таком написании макро, папка будет "клюкваdbf\", так и задумано?
Ну и вообще, какбэ комильфо (m.hommai+"dbf\antab12.txt"...

Спасибо!
Мне уже как-то советовали изменить эту форму. Но я уже не помню, когда у меня появилась привычка
так писать. И теперь у меня во многих местах применяется именно такая форма.
Разумеется, приходится следить, чтобы "клюква" была с "\".
Ratings: 0 negative/0 positive
Re: Что-то в виде AlwaysOnTop для формы
ry

Сообщений: 2113
Дата регистрации: 24.09.2007
С отчетами в экселе постоянно такая же ситуация, вывожу на передний план простым сворачиванием-разворачиванием окна:
oE.Application.Visible=.t.
oE.WindowState = -4140 && xlMinimized Сворачиваем окно
oE.WindowState = -4137 && xlMaximized Разворачиваем окно, что приводит к его активации
Думаю, и с вордом такое можно сделать, только там значения другие (вроде 2 и 1 для свернутого и развернутого, но надо проверить).
Ratings: 0 negative/1 positive
Re: Что-то в виде AlwaysOnTop для формы
Crispy

Сообщений: 18571
Дата регистрации: 16.05.2005
По идее можно еще перед запуском такого "офисного вывода" - просто минимизировать окно своего приложения.


------------------
В действительности все иначе, чем на самом деле.
                                      (Антуан де Сент-Экзюпери)
Ratings: 0 negative/0 positive
Re: Что-то в виде AlwaysOnTop для формы
Ydin

Сообщений: 7648
Откуда: Киев
Дата регистрации: 16.12.2005
IMHO, только мой вариант рабочий.

Если покажете, что у меня не работает -
А Ваши варианты проходил.
Полезная книга Tamar E. Granor
www.bookdepository.com

Чего никто не проверил "как это работает"?
Или почему не написал тут?



Исправлено 8 раз(а). Последнее : Ydin, 11.02.20 01:57
Ratings: 0 negative/0 positive
Re: Что-то в виде AlwaysOnTop для формы
andrewk

Сообщений: 174
Откуда: Красноярск
Дата регистрации: 15.05.2005
Ydin
Чего никто не проверил "как это работает"?
Так а в чём сомнения, в SetWindowPos() ?
Ratings: 0 negative/0 positive
Re: Что-то в виде AlwaysOnTop для формы
Ydin

Сообщений: 7648
Откуда: Киев
Дата регистрации: 16.12.2005
andrewk
Так а в чём сомнения, в SetWindowPos() ?
Т.е. сомнений нет и молчание вместо ОК, кот. я ждал не с Красноярска, а с Киева от vodaic (Автор)



Исправлено 2 раз(а). Последнее : Ydin, 11.02.20 00:01
Ratings: 0 negative/0 positive
Re: Что-то в виде AlwaysOnTop для формы
vodaic
Автор

Сообщений: 188
Откуда: Киев, Украина
Дата регистрации: 24.02.2009
Ydin
andrewk
Так а в чём сомнения, в SetWindowPos() ?
Т.е. сомнений нет и молчание вместо ОК, кот. я ждал не с Красноярска, а с Киева от vodaic (Автор)

Простите, Александр.
Немного задерганный я сейчас.
Большое Вам спасибо!
Все ОК!
Ratings: 0 negative/0 positive


Извините, только зарегистрированные пользователи могут оставлять сообщения в этом форуме.

On-line: 29 Burn Guest (Гостей: 27)

© 2000-2024 Fox Club 
Яндекс.Метрика