powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Вызвать форму модально относит. Common Dialog.
5 сообщений из 5, страница 1 из 1
Вызвать форму модально относит. Common Dialog.
    #36478998
Дмитрий77
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Приступил к сборке наработанных частей приложения и..столкнулся с проблемой.
Есть:
1) Common Dialog "Save" с хакнутой кнопкой "Help" , читай "Параметры".
2) Форма FormX, кот. эти параметры настраивает и отображается по нажатию бывшего "Help".

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
      Case WM_NOTIFY
        CopyMemory tNMH, ByVal lParam, Len(tNMH)
        Select Case tNMH.code
            Case CDN_HELP
                FormX.Show  1  ' //FormX.Show 1, ЧТО ПИСАТЬ ВТОРЫМ ПАРАМЕТРОМ???
                ' Help clicked (that is settings)
            Case CDN_TYPECHANGE
                hWndParent = GetParent(hwnd)
                hItem = GetDlgItem(hWndParent, ID_FILETYPE)
Т.е. выводится то она выводится, но модально относит. итак недоступной на тот момент основной формы приложения (что можно было предположить). А с диалогом делай тем временем чего хочешь, что не надо, он по идее тоже должен стать disable.

В конструкции FormX.Show 1, Form второй параметр очевидно VB форма, диалог же таковой не я является в обычном понимании, hwnd его я конечно попробовал подставить, но и так было ясно что это не оно.

Или надо итти каким другим путем?

Можно конечно попытаться сыграть дважды с
EnableWindow Lib "user32.dll" (ByVal hwnd As Long, ByVal fEnable As Long)
но что-то подсказывает что это не тот путь..

В примерах с хакнутыми диалогами, накачанными за крайние день-два, где похожее есть, ситуация аналогична моей, т.е. ключ к решению там отсутствует.
...
Рейтинг: 0 / 0
Вызвать форму модально относит. Common Dialog.
    #36479011
Дмитрий77
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
О-опс.
А самый прикол в том что после компиляции exe-шник ведет себя вменяемо , т.е. Диалог недоступен после вызова FormX, что и надо..
сцентрировать бы его еще эту FormX относит. диалога, а то она CentreOwner Owner-ом считает таки главную форму.
...
Рейтинг: 0 / 0
Вызвать форму модально относит. Common Dialog.
    #36480520
Дмитрий77
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вообще-то вопрос остался.
При закрытии формы настройки фокус переносится на главную форму приложения а не на диалог, что не очень гуд.
Причем установить фокус из формы настройки типа SendMessage (hwnd-диалога ,WM_SETFOCUS..
также не прокатит ибо возврат фокуса на главную форму все равно будет после закрытия маленькой, что бы она не делала..


Т.е. надо как-то parent-ом к форме настройки сделать таки диалог.
...
Рейтинг: 0 / 0
Вызвать форму модально относит. Common Dialog.
    #36480669
Дмитрий77
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вообще-то стормозил, hook же прерывается пока модально вызвана другая форма.
Вот так все культурно.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
      Case WM_NOTIFY
        CopyMemory tNMH, ByVal lParam, Len(tNMH)
        Select Case tNMH.code
            Case CDN_HELP
               ' Help clicked (that is settings)
               FormX.Show  1 
                '-------здесь сидим и ждем пока пользователь закроет FormX----
                Call SendMessage(GetParent(hwnd), WM_SETFOCUS,  0 &,  0 &) 'фокус на диалог
            Case CDN_TYPECHANGE
                hWndParent = GetParent(hwnd)
                hItem = GetDlgItem(hWndParent, ID_FILETYPE)
...
Рейтинг: 0 / 0
Вызвать форму модально относит. Common Dialog.
    #36480699
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Прямо-таки Гришковец
Аплодименты.
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Вызвать форму модально относит. Common Dialog.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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