В прошлом примере я использовал SW_SHOW – показать активным
Попробуем теперь посмотреть все стили в действии . Необходимо немножко изменить наш проект . Нужно поставить на окно ListBox и назвать его m_lbShowWindow . Проделаем все это по шагам (по пунктикам как американцы) :
В дальнейшем как создавать переменные и функции , я повторятся небуду .
Редактируем функцию OnInitDialog()
Как нетрудно догадаться она активизируется перед самым показом окна, когда оно уже создано . Вот она нам и нужна .
В ней мы будем добавлять записи в ListBox .
В ListBox есть метод AddString – добавить строку , но это сейчас несущественно .
Вот код, который нужно вставить после строчки // TODO: Add extra initialization here
т.к параметрами функции ShowWindow являются константы , а в ListBox у нас строки нужно написать функцию перевода .
чего может быть проще ? Определенной строке равен определенный параметр .
ну вот дошла очередь до функции OnCreatenew() .
в ней запишем :
Последнняя модификация: 18.08.2001
m_lbShowWindow.AddString("SW_FORCEMINIMIZE");
m_lbShowWindow.AddString("SW_HIDE");
m_lbShowWindow.AddString("SW_MAXIMIZE");
m_lbShowWindow.AddString("SW_MINIMIZE");
m_lbShowWindow.AddString("SW_RESTORE");
m_lbShowWindow.AddString("SW_SHOW");
m_lbShowWindow.AddString("SW_SHOWDEFAULT");
m_lbShowWindow.AddString("SW_SHOWMAXIMIZED");
m_lbShowWindow.AddString("SW_SHOWMINIMIZED");
m_lbShowWindow.AddString("SW_SHOWMINNOACTIVE");
m_lbShowWindow.AddString("SW_SHOWNA");
m_lbShowWindow.AddString("SW_SHOWNOACTIVATE");
m_lbShowWindow.AddString("SW_SHOWNORMAL");
Создаем функцию
int StringToId(CString stroka)
{
if (stroka=="SW_FORCEMINIMIZE")return SW_FORCEMINIMIZE;
else if (stroka=="SW_HIDE")return SW_HIDE;
else if (stroka=="SW_MAXIMIZE")return SW_MAXIMIZE;
else if (stroka=="SW_MINIMIZE")return SW_MINIMIZE;
else if (stroka=="SW_RESTORE")return SW_RESTORE;
else if (stroka=="SW_SHOW")return SW_SHOW;
else if (stroka=="SW_SHOWDEFAULT")return SW_SHOWDEFAULT;
else if (stroka=="SW_SHOWMAXIMIZED")return SW_SHOWMAXIMIZED;
else if (stroka=="SW_SHOWMINIMIZED")return SW_SHOWMINIMIZED;
else if (stroka=="SW_SHOWMINNOACTIVE")return SW_SHOWMINNOACTIVE;
else if (stroka=="SW_SHOWNA")return SW_SHOWNA;
else if (stroka=="SW_SHOWNOACTIVATE")return SW_SHOWNOACTIVATE;
else if (stroka=="SW_SHOWNORMAL")return SW_SHOWNORMAL;
}
int Current=m_lbShowWindow.GetCurSel(); // смотрим какой элемент выбран
CString stroka;
if (Current>=0){m_lbShowWindow.GetText(Current,stroka); // если , что-то выбрано считываем текст а переменную stroka
int WindowStyle=StringToId(stroka); // ну и соответственно WindowStyle и есть стиль вывода
m_pDial=new CDial1Dlg();
m_pDial->Create(IDD_DIAL1_DIALOG);
m_pDial->ShowWindow(WindowStyle);
}
else AfxMessageBox("Выберите стиль окна!!!"); // если ничего не выбрано то выдать сообщение .
Назад Содержание Вперед

Если будут вопросы , пишите |
Author :Igor Tsmokanich |