Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как сделать окно "невидимым" ? 
V
    Опции темы
SAVe
Дата 7.11.2007, 11:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 84
Регистрация: 15.10.2007

Репутация: нет
Всего: нет



Проблема в следующем:
Мне нужно запустить программу в разных режимах. Использую параметры коммандной строки. При получении определённого параметра нужно скрыть главное окно. Т.е. программа должна выполнить некоторые действия без отображения чего либо на экране и завершиться. Как это можно сделать ? 

Пробовал вызывать вот это в OnInitDialog -  не работает. Может не там вызываю ?
Код

::AfxGetApp()->GetMainWnd()->ShowWindow(FALSE);

Заранее спасибо всем ответившим.
PM MAIL   Вверх
Andrey44
Дата 7.11.2007, 12:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1501
Регистрация: 4.12.2006
Где: На работе

Репутация: 12
Всего: 26



Код

::AfxGetApp()->GetMainWnd()->ShowWindow(SW_HIDE);



--------------------
????? ??, ??????? ?????.  smile 
PM MAIL WWW ICQ   Вверх
zkv
Дата 7.11.2007, 12:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата



****


Профиль
Группа: Участник Клуба
Сообщений: 2133
Регистрация: 23.7.2006
Где: Санкт-Петербург

Репутация: 16
Всего: 92



Andrey44, не все так просто smile
на заметку: SW_HIDE и FALSE задефайнены одинаково - нулями


SAVe, проблема есть такая - невидимым главный диалог сделать, посмотри сюда.
PM MAIL   Вверх
SAVe
Дата 7.11.2007, 15:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 84
Регистрация: 15.10.2007

Репутация: нет
Всего: нет



Сработало. Главное окно стало невидимым. Но теперь другая проблема - как его закрыть. всё время вылетает Exception  при закрытии.
Код такой:

Код

BOOL CMFC_TestDlg::OnInitDialog()
{
....

    int CloseFlag = 0;
    CanClose = false;
    CloseFlag = MessageBox("Close Me");
    if(CloseFlag == 1)
    {
        CanClose = true;
        ::SendMessage(this->m_hWnd,WM_CLOSE,NULL,NULL);        
    }

}

void CMFC_TestDlg::OnClose()
{
    
    if(CanClose)
    {
        DestroyWindow();
    }
        
}

PM MAIL   Вверх
FREEDEV
Дата 7.11.2007, 22:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 238
Регистрация: 6.3.2007
Где: Украина->Одесс а

Репутация: нет
Всего: 3



ты пытаешся закрыть окно до его отображения в OnInitDialog
--------------------
Microsoft Windows Visla ©
PM MAIL   Вверх
zkv
Дата 7.11.2007, 22:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата



****


Профиль
Группа: Участник Клуба
Сообщений: 2133
Регистрация: 23.7.2006
Где: Санкт-Петербург

Репутация: 16
Всего: 92



SAVe, наворотил то, 
а PostQuitMessage() чем не устраивает?
PM MAIL   Вверх
SAVe
Дата 8.11.2007, 14:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 84
Регистрация: 15.10.2007

Репутация: нет
Всего: нет



Да вот PostQuitMessage()  это то что нужно. Большое спасибо. Заработало.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Visual C++/MFC/WTL | Следующая тема »


 




[ Время генерации скрипта: 0.0461 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.