Вызвать форму модально относит. Common Dialog. - VB

Узнай цену своей работы

Формулировка задачи:

Приступил к сборке наработанных частей приложения и..столкнулся с проблемой.
Есть:
1) Common Dialog "Save" с хакнутой кнопкой "Help" , читай "Параметры".
2) Форма FormX, кот. эти параметры настраивает и отображается по нажатию бывшего "Help".
Т.е. выводится то она выводится, но модально относит. итак недоступной на тот момент основной формы приложения (что можно было предположить). А с диалогом делай тем временем чего хочешь, что не надо, он по идее тоже должен стать disable.
В конструкции FormX.Show 1, Form второй параметр очевидно VB форма, диалог же таковой не я является в обычном понимании, hwnd его я конечно попробовал подставить, но и так было ясно что это не оно.
Или надо итти каким другим путем?
Можно конечно попытаться сыграть дважды с
EnableWindow Lib "user32.dll" (ByVal hwnd As Long, ByVal fEnable As Long)
но что-то подсказывает что это не тот путь..
В примерах с хакнутыми диалогами, накачанными за крайние день-два, где похожее есть, ситуация аналогична моей, т.е. ключ к решению там отсутствует.

Решение задачи: «Вызвать форму модально относит. Common Dialog.»

textual
Листинг программы
<font color="blue">Case</font> WM_NOTIFY
        CopyMemory tNMH, <font color="blue">ByVal</font> lParam, Len(tNMH)
        <font color="blue">Select</font> <font color="blue">Case</font> tNMH.code
            <font color="blue">Case</font> CDN_HELP
               <font color="00AA00">' Help clicked (that is settings)</font>
               FormX.Show <font color="darkblue"><b>1</b></font>
                <font color="00AA00">'-------здесь сидим и ждем пока пользователь закроет FormX----</font>
                <font color="blue">Call</font> SendMessage(GetParent(hwnd), WM_SETFOCUS, <font color="darkblue"><b>0</b></font>&, <font color="darkblue"><b>0</b></font>&) <font color="00AA00">'фокус на диалог</font>
            <font color="blue">Case</font> CDN_TYPECHANGE
                hWndParent = GetParent(hwnd)
                hItem = GetDlgItem(hWndParent, ID_FILETYPE)

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

5   голосов , оценка 3.8 из 5