Наподобие TForm.visible
SetWindowLong не помогает, ShowWindow срабатывает только когда диалог УЖЕ отобразился. установка св-в диалога тоже. нашел выход но кривой.
Сожда. поток, он следит за окном, когда IsWindowVisible возвращает TRUE to выполняется ShowWindow(Hwnd,FALSE). и поток завершает работу.
Как сделать это грамотно?
Как сделать сабж на C++ на WinAPI?
SetWindowLong не помогает, ShowWindow срабатывает только когда диалог УЖЕ отобразился. установка св-в диалога тоже. нашел выход но кривой.
Сожда. поток, он следит за окном, когда IsWindowVisible возвращает TRUE to выполняется ShowWindow(Hwnd,FALSE). и поток завершает работу.
Как сделать это грамотно?
Я так понял, у тебя диалог и тебе надо, чтобы изначально он был невидим??? Функция DialogBoxParam действительно сделает его видимым независимо от его видимости (WS_VISIBLE). Так что, можешь по WM_INITDIALOG просто убрать его за границу экрана - SetWindowPos(hWnd, NULL, -1000, -1000, 0, 0, SWP_NOZORDER|SWP_NOSIZE). Но чтобы не было видно кнопки на панели задач, диалог должен иметь стиль WS_EX_TOOLWINDOW.
2) Можешь по WM_PAINT сделать ShowWindow(hWnd, SW_HIDE);
надеюсь помог...
:)
Я так понял, у тебя диалог и тебе надо, чтобы изначально он был невидим??? Функция DialogBoxParam действительно сделает его видимым независимо от его видимости (WS_VISIBLE). Так что, можешь по WM_INITDIALOG просто убрать его за границу экрана - SetWindowPos(hWnd, NULL, -1000, -1000, 0, 0, SWP_NOZORDER|SWP_NOSIZE). Но чтобы не было видно кнопки на панели задач, диалог должен иметь стиль WS_EX_TOOLWINDOW.
2) Можешь по WM_PAINT сделать ShowWindow(hWnd, SW_HIDE);
надеюсь помог...
:)
Я так тоже в раних версиях(до 0.х) делал.
Ну этот способ не является универсальным, да и у меня есть кнопка "свернуть" чтобы кидать в трей. поэтому установка WS_EX_TOOLWINDOW не прокатит.
Всё равно спасибо.
В общем если кому нитересно скачайте с trifon.tk В разделе Мои программы.
Я так тоже в раних версиях(до 0.х) делал.
Ну этот способ не является универсальным, да и у меня есть кнопка "свернуть" чтобы кидать в трей. поэтому установка WS_EX_TOOLWINDOW не прокатит.
Всё равно спасибо.
В общем если кому нитересно скачайте с trifon.tk В разделе Мои программы.
Значит варианта два:
- Либо использовать CreateDialogParam,
так как она смотрит флаг WS_VISIBLE
- Либо отказаться от такой удобной вещи как диалог
и использовать CreateWindowEx
вот...