Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Visual C++/MFC/WTL > Dialog-based application


Автор: deniska 10.12.2007, 10:59
Привет народ!

Есть указанное выше приложение. Вопросы:
1. Нужно чтобы при загрузке приложения оно не появлялось в TaskBar'e (с WS_EX_TOOLWINDOW оно все равно появляется)
2. нужно чтобы при загрузке приложения окно не перехватывало на себя фокус

нужно чтобы окно СРАЗУ создавалось с таким стилем (иначе получается мерцание)
в 98 тоже должно работать.
Заранее спасибо.

Автор: BorisVorontsov 11.12.2007, 11:26
1. 

Цитата(deniska @  10.12.2007,  10:59 Найти цитируемый пост)
с WS_EX_TOOLWINDOW оно все равно появляется


А у него случаем не установлен стиль WS_EX_APPWINDOW?

2. SW_SHOWNOACTIVATE?

Автор: deniska 11.12.2007, 12:17
1. Не поверите. минут 10 назад до самого доперло
2. не помогает. продолжаю бодаться

Автор: ama_kid 11.12.2007, 12:47
Цитата(deniska @  11.12.2007,  12:17 Найти цитируемый пост)
2. не помогает. продолжаю бодаться 
Странно, даже в автогенерируемом исходнике Dialog-based приложения в функции OnInitDialog() написано в самом конце:
Цитата
return TRUE;  // return TRUE  unless you set the focus to a control
Вывод: надо возвращать FALSE. В итоге такой вариант у меня не перехватывает фокус при загрузке:
Код
BOOL CDialogDlg::OnInitDialog()
{
    CDialog::OnInitDialog();

    // Set the icon for this dialog.  The framework does this automatically
    //  when the application's main window is not a dialog
    SetIcon(m_hIcon, TRUE);            // Set big icon
    SetIcon(m_hIcon, FALSE);        // Set small icon

    // TODO: Add extra initialization here
    ShowWindow(SW_SHOWNOACTIVATE);
    return FALSE;  // return TRUE  unless you set the focus to a control
}


Автор: BorisVorontsov 11.12.2007, 13:03
Цитата(deniska @  11.12.2007,  12:17 Найти цитируемый пост)
2. не помогает. продолжаю бодаться


По аналогии с первой проблемой -- у окна не стоит стиль WS_VISIBLE?

Автор: deniska 11.12.2007, 13:15
Вроде решилось.
1. !WS_EX_APPWINDOW + WS_EX_TOOLWINDOW
2.  код ama_kid'a

Ребят, спасибо большое

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)