powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Почему форма не на переднем плане?
10 сообщений из 10, страница 1 из 1
Почему форма не на переднем плане?
    #32301670
vsi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
vsi
Гость
Я поступаю след. образом для того чтобы фоксовский экран не появлялся:
SCREEN=OFF
Фрме след. свойства:
AlwaysOnTop .T.
AutoCenter .T.
ShowWindow 2 - As Top-Level Form
WindowType 0 - Modeless (немодальное)

А когда я запускаю приложение (EXE-ник), то моя форма появляется на заднем плане, а хотелось бы чтобы она была на переднем!

Какое свойство за енто отвечает или как сделать желаемое действительным?
...
Рейтинг: 0 / 0
Почему форма не на переднем плане?
    #32302514
cbani1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Desktop=.t.
...
Рейтинг: 0 / 0
Почему форма не на переднем плане?
    #32302545
Фотография NNN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2vsi

Код: plaintext
1.
DECLARE SetForegroundWindow IN WIN32API integer
=SetForegroundWindow(thisform.HWnd)

С тем, куда лучше это вставить и чем заметить HWnd для версии ниже 7-й, надеюсь ты и сам справишься.

2cbani1

Код: plaintext
The Desktop property is ignored if the ShowWindow property is set to  2  – As Top-Level form.
...
Рейтинг: 0 / 0
Почему форма не на переднем плане?
    #32305327
vsi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
vsi
Гость
Не совсем понял, вернее совсем не понял про hWnd, можно попожробнее что это за свойство формы?
Заранее благодарен!
...
Рейтинг: 0 / 0
Почему форма не на переднем плане?
    #32305332
Фотография NNN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2vsi

Это свойство появилось в 7-й версии и его значение соответствует дескриптору (handle) окна в windows, который испорльзуется в функциях API для работы с окнами.
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/fox7help/html/lnlrfHWndProperty.asp

Для более ранних версий можно использовать такой код:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
*!* FirstStart  - дополнительное свойство формы,
*!* чтобы отследить первое отображение окна,
*!* начальное значение .T.
*!* GetFocus возвращает hWnd видимого активного окна для процесса
*!* Form.Activate
IF this.FirstStart 
	DECLARE SetForegroundWindow IN WIN32API Integer
	DECLARE Integer GetFocus IN WIN32API
	=SetForegroundWindow(GetFocus())
	CLEAR DLLS
ENDIF 
this.FirstStart=.F.
...
Рейтинг: 0 / 0
Почему форма не на переднем плане?
    #32310669
vsi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
vsi
Гость
Все равно грит "не известный метод(свойство)", как же быть?
...
Рейтинг: 0 / 0
Почему форма не на переднем плане?
    #32310696
Фотография NNN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2vsi

>как же быть?

Добавить свойство (Form->New Property)
...
Рейтинг: 0 / 0
Почему форма не на переднем плане?
    #32317749
vsi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
vsi
Гость
Сейчас все запускается без ругани, но форма как была на заднем плане так и остается...

Уже нервничаю.. :)
...
Рейтинг: 0 / 0
Почему форма не на переднем плане?
    #32317915
po2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
po2
Гость
Поскольку приложение создано на основе TopLevelForm , то возможны ты вмешался в последовательность событий при старте. Типичный случай помещение вызова метода SetFocus() одного из объектов формы в её же Init .
Без использования API вытащить приложение на передний план и утопить его кнопку на TaskBar'е можно поместив перед READ EVENTS следующий код:
Код: plaintext
1.
2.
3.
4.
5.
defi wind wnd from - 2 ,- 2  ;
                to - 1 ,- 1  ;
                in desktop name wnd 
     wnd.Show() 
     wnd.Release() 
rele wnd 


Если не сработает - не нервничай :)
...
Рейтинг: 0 / 0
Почему форма не на переднем плане?
    #32318014
Фотография NNN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А при запуске с SCREEN=ON, перехвата фокса нет? Код точно в Activate?
--
Нервничать не нужно в любом случае :)
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Почему форма не на переднем плане?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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