Диалоговая панель «2d Уравнение Теплопроводности»
Диалоговые окна подразделяются на модальные и немодальные, в зависимости от того, блокируют ли они возможность взаимодействия пользователя с приложением (родительским окном) или системой в целом до тех пор, пока не получат от него ответ. Модальные окна являются блокирующими.
Функцией void Dialog_Teploprovodnost_2D() вызывается немодальная (неблокирующая) диалоговая панель параметров для решения 2D уравнения теплопроводности. Эта панель позволяет задать параметры, а так же запустить вычислительный поток (нить) решения уравнения теплопроводности.
Шаблон диалоговой панели описывается в файле ресурсов «Sputnik001.rc».
IDD_DIALOG252R DIALOG DISCARDABLE 240,10,96,428 // объявление
// IDD_DIALOG252R – идентификатор
// DIALOG DISCARDABLE – диалоговая панель
// 240,10,96,428 – координаты углов
EXSTYLE WS_EX_TOPMOST | WS_EX_CONTEXTHELP //задание стилей
// WS_EX_TOPMOST – окно остается поверх окон у которых не проставлен этот стиль
// WS_EX_CONTEXTHELP – присутствие возможности контекстной помощи (кнопка «?»)
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
// DS_MODALFRAME – модальное окно
// WS_POPUP – всплывающее окно
// WS_CAPTION – наличие названия окна
// WS_SYSMENU – наличие кнопок в правом верхнем углу (закрыть, свернуть и тп.)
CAPTION "2D Ур.Теплопроводности" //название окна отображаемое в верхней части
FONT 8, "System" // используемый шрифт
BEGIN // содержимое панели – дочерние элементы, такие как кнопки, надписи, поля ввода и др.
CONTROL "Start",ID_SE_START, "BUTTON", BS_BITMAP | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 2,396,22,10
CONTROL "Stop", ID_SE_STOP, "BUTTON", BS_BITMAP | WS_CHILD | WS_VISIBLE | WS_TABSTOP,25,396,22,10
CONTROL "Set0", ID_SE_SET, "BUTTON", BS_BITMAP | WS_CHILD | WS_VISIBLE | WS_TABSTOP,48,396,22,10
CONTROL "Color",ID_SE_COLOR, "BUTTON", BS_BITMAP | WS_CHILD | WS_VISIBLE | WS_TABSTOP,71,396,22,10
CONTROL "New", ID_SE_NEW, "BUTTON", BS_BITMAP | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 2,406,22,10
CONTROL "Open", ID_SE_OPEN, "BUTTON", BS_BITMAP | WS_CHILD | WS_VISIBLE | WS_TABSTOP,25,406,22,10
CONTROL "Save", ID_SE_SAVE, "BUTTON", BS_BITMAP | WS_CHILD | WS_VISIBLE | WS_TABSTOP,48,406,22,10
CONTROL "Name", ID_SE_NAME, "BUTTON", BS_BITMAP | WS_CHILD | WS_VISIBLE | WS_TABSTOP,71,406,22,10
CONTROL "View", ID_SE_VIEW, "BUTTON", BS_BITMAP | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 2,416,22,10
CONTROL "Reset",ID_SE_RESET, "BUTTON", BS_BITMAP | WS_CHILD | WS_VISIBLE | WS_TABSTOP,25,416,22,10
CONTROL "Help", ID_SE_HELP, "BUTTON", BS_BITMAP | WS_CHILD | WS_VISIBLE | WS_TABSTOP,48,416,22,10
CONTROL "Exit", ID_SE_EXIT, "BUTTON", BS_BITMAP | WS_CHILD | WS_VISIBLE | WS_TABSTOP,71,416,22,10
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
LTEXT "dx=", -1,4, 12,15, 8,STY_RTEXT2
LTEXT "dy=", -1,4, 24,15, 8,STY_RTEXT2
LTEXT "dt=", -1,4, 36,15, 8,STY_RTEXT2
LTEXT "c=", -1,4, 48,15, 8,STY_RTEXT2
LTEXT "Le=", -1,4, 60,15, 8,STY_RTEXT2
LTEXT "Se=", -1,4, 72,15, 8,STY_RTEXT2
EDITTEXT ID_EDIT121,20, 11,50,11,STY_STATLEFT
EDITTEXT ID_EDIT122,20, 23,50,11,STY_STATLEFT
EDITTEXT ID_EDIT123,20, 35,50,11,STY_STATLEFT
EDITTEXT ID_EDIT124,20, 47,50,11,STY_STATLEFT
EDITTEXT ID_EDIT125,20, 59,50,11,STY_STATLEFT | ES_READONLY
EDITTEXT ID_EDIT126,20, 71,50,11,STY_STATLEFT | ES_READONLY
LTEXT "sm", -1, 71, 12,20, 8,STY_RTEXT2
LTEXT "sm", -1, 71, 24,20, 8,STY_RTEXT2
LTEXT "s", -1, 71, 36,20, 8,STY_RTEXT2
LTEXT "W/smK", -1, 71, 48,20, 8,STY_RTEXT2
LTEXT "sm", -1, 71, 60,30, 8,STY_RTEXT2
LTEXT "sm2", -1, 71, 72,20, 8,STY_RTEXT2
GROUPBOX "Разбиение (Сетка):", 3117,2,1,92,84,STY_GRPCHILD
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
LTEXT "x0=", -1,4, 96,15, 8,STY_RTEXT2
LTEXT "y0=", -1,4,108,15, 8,STY_RTEXT2
LTEXT "x1=", -1,4,120,15, 8,STY_RTEXT2
LTEXT "y1=", -1,4,132,15, 8,STY_RTEXT2
LTEXT "x2=", -1,4,144,15, 8,STY_RTEXT2
LTEXT "y2=", -1,4,156,15, 8,STY_RTEXT2
LTEXT "x3=", -1,4,168,15, 8,STY_RTEXT2
LTEXT "y3=", -1,4,180,15, 8,STY_RTEXT2
LTEXT "T0=", -1,4,192,15, 8,STY_RTEXT2
LTEXT "T1=", -1,4,204,15, 8,STY_RTEXT2
LTEXT "T2=", -1,4,216,15, 8,STY_RTEXT2
LTEXT "T3=", -1,4,228,15, 8,STY_RTEXT2
EDITTEXT ID_EDIT127,20, 95,50,11,STY_STATLEFT
EDITTEXT ID_EDIT128,20,107,50,11,STY_STATLEFT
EDITTEXT ID_EDIT129,20,119,50,11,STY_STATLEFT
EDITTEXT ID_EDIT130,20,131,50,11,STY_STATLEFT
EDITTEXT ID_EDIT131,20,143,50,11,STY_STATLEFT
EDITTEXT ID_EDIT132,20,155,50,11,STY_STATLEFT
EDITTEXT ID_EDIT133,20,167,50,11,STY_STATLEFT
EDITTEXT ID_EDIT134,20,179,50,11,STY_STATLEFT
EDITTEXT ID_EDIT135,20,191,50,11,STY_STATLEFT
EDITTEXT ID_EDIT136,20,203,50,11,STY_STATLEFT
EDITTEXT ID_EDIT137,20,215,50,11,STY_STATLEFT
EDITTEXT ID_EDIT138,20,227,50,11,STY_STATLEFT
LTEXT "sm", -1, 71, 96,20, 8,STY_RTEXT2
LTEXT "sm", -1, 71,108,20, 8,STY_RTEXT2
LTEXT "sm", -1, 71,120,20, 8,STY_RTEXT2
LTEXT "sm", -1, 71,132,20, 8,STY_RTEXT2
LTEXT "sm", -1, 71,144,20, 8,STY_RTEXT2
LTEXT "sm", -1, 71,156,20, 8,STY_RTEXT2
LTEXT "sm", -1, 71,168,20, 8,STY_RTEXT2
LTEXT "sm", -1, 71,180,20, 8,STY_RTEXT2
LTEXT "K", -1, 71,192,20, 8,STY_RTEXT2
LTEXT "K", -1, 71,204,20, 8,STY_RTEXT2
LTEXT "K", -1, 71,216,20, 8,STY_RTEXT2
LTEXT "K", -1, 71,228,20, 8,STY_RTEXT2
GROUPBOX "Нач.Усл.:", 3118,2,85,92,155,STY_GRPCHILD
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
LTEXT "Up=", -1, 4,251,15, 8,STY_RTEXT2
LTEXT "Down=", -1, 4,263,15, 8,STY_RTEXT2
LTEXT "Left=", -1, 4,275,15, 8,STY_RTEXT2
LTEXT "Rigth=", -1, 4,287,15, 8,STY_RTEXT2
EDITTEXT ID_EDIT139,20,250,50,11,STY_STATLEFT
EDITTEXT ID_EDIT140,20,262,50,11,STY_STATLEFT
EDITTEXT ID_EDIT141,20,274,50,11,STY_STATLEFT
EDITTEXT ID_EDIT142,20,286,50,11,STY_STATLEFT
LTEXT "K", -1,71,251,20, 8,STY_RTEXT2
LTEXT "K", -1,71,263,20, 8,STY_RTEXT2
LTEXT "K", -1,71,275,20, 8,STY_RTEXT2
LTEXT "K", -1,71,287,20, 8,STY_RTEXT2
GROUPBOX "Гран.Усл.:", 3119,2,240,92,60,STY_GRPCHILD
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
LTEXT "Размер:", -1, 4,311,37,8,STY_RTEXT2
LTEXT "Метод:", -1, 4,323,37,8,STY_RTEXT2
LTEXT "Итерации:", -1, 4,335,37,8,STY_RTEXT2
COMBOBOX ID_COMBOBOX318, 42,310,50,150, CBS_DROPDOWNLIST | WS_GROUP | WS_TABSTOP | ES_AUTOHSCROLL | WS_VSCROLL
COMBOBOX ID_COMBOBOX319, 42,322,50,150, CBS_DROPDOWNLIST | WS_GROUP | WS_TABSTOP | ES_AUTOHSCROLL
COMBOBOX ID_COMBOBOX320, 42,334,50,150, CBS_DROPDOWNLIST | WS_GROUP | WS_TABSTOP | ES_AUTOHSCROLL | WS_VSCROLL
GROUPBOX "Уравнение:", 3120,2,300,92,48,STY_GRPCHILD
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
LTEXT "Итерац:", -1, 4,360,26,8,STY_RTEXT2
LTEXT "Скан #:", -1, 4,372,26,8,STY_RTEXT2
EDITTEXT ID_EDIT143, 31,359,22,11,STY_STATLEFT | ES_READONLY
EDITTEXT ID_EDIT144, 31,371,22,11,STY_STATLEFT | ES_READONLY
EDITTEXT ID_EDIT145, 54,359,37,11,STY_STATLEFT | ES_READONLY
EDITTEXT ID_EDIT146, 54,371,37,11,STY_STATLEFT | ES_READONLY
CONTROL "Оконная Система",ID_SE_WIN_SYSTEM,"BUTTON",STY_AUTOCHECK, 5,383,87,10
GROUPBOX "Представление:",3121,2,348,92,48,STY_GRPCHILD
END
Рис.1. Вызов немодальной диалоговой панели.