powered by simpleCommunicator - 2.0.52     © 2025 Programmizd 02
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Программная активация Top-level формы
11 сообщений из 11, страница 1 из 1
Программная активация Top-level формы
    #38269526
9IKOB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Доброго времени суток!

Главная Top-level форма (Application.Visible = .F.) проекта почему-то открывается неактивной. Как её программно активировать?
...
Рейтинг: 0 / 0
Программная активация Top-level формы
    #38271027
Rostislav D. Kudryashov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А как ты узнаёшь, что форма "неактивна"? Она даёт об этом объявление?
...
Рейтинг: 0 / 0
Программная активация Top-level формы
    #38271028
Rostislav D. Kudryashov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А как ты узнаёшь, что форма "неактивна"? Она даёт об этом объявление?
Но, вроде бы, есть способ заставить любой объект "пережить" необходимое тебе событие. Например,
...
Рейтинг: 0 / 0
Программная активация Top-level формы
    #38271030
Rostislav D. Kudryashov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А как ты узнаёшь, что форма "неактивна"? Она даёт об этом объявление?
Но, вроде бы, есть способ заставить любой объект "пережить" необходимое тебе событие. Например,
RAISEEVENT (TopForm, 'GotFocus')
...
Рейтинг: 0 / 0
Программная активация Top-level формы
    #38271193
9IKOB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Rostislav D. KudryashovА как ты узнаёшь, что форма "неактивна"? Она даёт об этом объявление?

Вообще-то в Windows визуально видно, активно окно или нет
...
Рейтинг: 0 / 0
Программная активация Top-level формы
    #38271230
9IKOB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Rostislav D. KudryashovА как ты узнаёшь, что форма "неактивна"? Она даёт об этом объявление?
Но, вроде бы, есть способ заставить любой объект "пережить" необходимое тебе событие. Например,
RAISEEVENT (TopForm, 'GotFocus')

RAISEEVENT не помог - форма по-прежнему неактивна.
...
Рейтинг: 0 / 0
Программная активация Top-level формы
    #38271405
pioner-v
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
9IKOB,

чтобы не заниматься гаданием, не лучше ли приложить
пример формы показывающий описываемую проблему?
И Config, если используется...
...
Рейтинг: 0 / 0
Программная активация Top-level формы
    #38271510
9IKOB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pioner-v9IKOB,

чтобы не заниматься гаданием, не лучше ли приложить
пример формы показывающий описываемую проблему?
И Config, если используется...

У меня в стартовом prg-шнике перед началом выполнения ряда действий с таблицами создаётся окно wLoad, в котором говорится, что идёт загрузка:

Код: sql
1.
2.
3.
DEFINE WINDOW wLoad AT 20, 30 SIZE 3, 35 STYLE 'B' TITLE "Загрузка" FONT 'Arial', 14 NOCLOSE FLOAT NOGROW FILL FILE Load.bmp' IN DESKTOP
ACTIVATE WINDOW wLoad
? ''



После выполнения всех действий с таблицами это окно закрывалось и запускалась главная Top-level форма (она и была неактивной):

Код: sql
1.
2.
3.
4.
DEACTIVATE WINDOW wLoad
RELEASE WINDOWS wLoad
DO FORM frmMain.scx NAME frmMain LINKED
READ EVENTS



Я поставил строки с деактивацией и закрытием окна перед запуском формы, и теперь она запускается активной! Проблема решена!

P.S. Кстати, в процессе выяснил, что RAISEEVENT() только выполняет код родного события формы, то есть при RAISEEVENT (TopForm, 'Release') выполнится код, содержащийся в событии 'Release', но сама форма не закроется.
...
Рейтинг: 0 / 0
Программная активация Top-level формы
    #38271535
9IKOB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Небольшие поправки к предыдущему посту:

1) В коде
Код: sql
1.
DEFINE WINDOW wLoad AT 20, 30 SIZE 3, 35 STYLE 'B' TITLE "Загрузка" FONT 'Arial', 14 NOCLOSE FLOAT NOGROW FILL FILE 'Load.bmp' IN DESKTOP

пропущена кавычка перед Load.bmp.

2) Строки кода с закрытием окна я поставил после строки DO FORM frmMain.scx и перед READ EVENTS
...
Рейтинг: 0 / 0
Программная активация Top-level формы
    #38272577
Reese
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Попробуйте так

DECLARE INTEGER SetForegroundWindow IN user32 INTEGER hwnd

SetForegroundWindow(thisform.hwnd)
...
Рейтинг: 0 / 0
Программная активация Top-level формы
    #38274174
9IKOB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ReeseПопробуйте так

DECLARE INTEGER SetForegroundWindow IN user32 INTEGER hwnd

SetForegroundWindow(thisform.hwnd)

Как я писал выше, проблема уже решилась. Ваш способ попробую, если мой в следующий раз не поможет.
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Программная активация Top-level формы
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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