 
        
        - Описание (назначение) функций и структур
| # | Функции и структуры данных | Назначение | 
| 1. | int WINAPI WinMain(HINSTANCE hInst, HINSTANCE hPrevInstance, LPSTR lpszCmdParam, int nCmdShow); | Главная функция ПО. Создаёт новый процесс – приложение. Запускает функцию регистрации классов окон. Запускает функцию создания главного окна. Запускает цикл обработки сообщений главного окна – карусель, благодаря которой работает всё приложение. | 
| 2. | BOOL Register(HINSTANCE hInst); | Регистрирует в базе данных ОС классы окон. | 
| 3. | HWND Create(HINSTANCE hInst, int nCmdShow); | Создаёт главное окно. | 
| 4. | BOOL CALLBACK Dates252DialogProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam) | Обрабатывает сообщения ON_HELP и ON_CLOSE: запоминает установленные параметры в структуру iniID. Осуществляется проверка не запущен ли вычислительный поток и если запущен, то выводит предупреждение. 
 | 
| 5. | BOOL Dlg252_OnInitDialog(HWND hwnd, HWND hwndEdit, LPARAM lParam); | Производит инициализацию диалоговой панели. Устанавливает начальные значения и загружает необходимые ресурсы (изображения). | 
| 6. | BOOL Dlg252_OnHelp(HWND hwnd, LPARAM lParam); | Действия выполняемые при вызове контекстной помощи на диалоговой панели. | 
| 7. | int Dlg252_OnCommand(HWND hwnd, WORD wParam, HWND hwndEdit, UINT codeNotify); | Обработка возможных команд диалоговой панели. Таких как запуск и остановка вычислений, сброс параметров к начальным значениям и др. | 
- Фрагменты исходного кода
В этом разделе приводятся только некоторые фрагменты программного обеспечения (ПО). Полностью текст ПО воспроизводить нецелесообразно, так как он слишком большой и приводится в электронном виде.
BOOL CALLBACK Dates252DialogProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
{ char s[32];
//////////////////////////////////////////////////////////////////////////////////////////////////////////
switch(uMsg)
{ chHANDLE_DLGMSG(hwnd, WM_INITDIALOG, Dlg252_OnInitDialog);
chHANDLE_DLGMSG(hwnd, WM_COMMAND, Dlg252_OnCommand);
case WM_HELP: { return(!Dlg252_OnHelp(hwnd,lParam)); }
case WM_CLOSE: { if(teploprovodnostparams.bContinue==FALSE)
{ GetWindowText(GetDlgItem(hwnd,ID_EDIT121),s,20); iniID.idtdx = atof(s);
GetWindowText(GetDlgItem(hwnd,ID_EDIT122),s,20); iniID.idtdy =atof(s);
GetWindowText(GetDlgItem(hwnd,ID_EDIT123),s,20); iniID.idtdt = atof(s);
GetWindowText(GetDlgItem(hwnd,ID_EDIT124),s,20); iniID.idtc = atof(s);
//////////////////////////////////////////////////////////////////////////////////////////////////////////
GetWindowText(GetDlgItem(hwnd,ID_EDIT127),s,20); iniID.idtx0 = atof(s);
GetWindowText(GetDlgItem(hwnd,ID_EDIT128),s,20); iniID.idty0 = atof(s);
GetWindowText(GetDlgItem(hwnd,ID_EDIT129),s,20); iniID.idtx1 = atof(s);
GetWindowText(GetDlgItem(hwnd,ID_EDIT130),s,20); iniID.idty1 = atof(s);
GetWindowText(GetDlgItem(hwnd,ID_EDIT131),s,20); iniID.idtx2 = atof(s);
GetWindowText(GetDlgItem(hwnd,ID_EDIT132),s,20); iniID.idty2 = atof(s);
GetWindowText(GetDlgItem(hwnd,ID_EDIT133),s,20); iniID.idtx3 = atof(s);
GetWindowText(GetDlgItem(hwnd,ID_EDIT134),s,20); iniID.idty3 = atof(s);
//////////////////////////////////////////////////////////////////////////////////////////////////////////
GetWindowText(GetDlgItem(hwnd,ID_EDIT135),s,20); iniID.idtt_start0 = atof(s);
GetWindowText(GetDlgItem(hwnd,ID_EDIT136),s,20); iniID.idtt_start1 = atof(s);
GetWindowText(GetDlgItem(hwnd,ID_EDIT137),s,20); iniID.idtt_start2 = atof(s);
GetWindowText(GetDlgItem(hwnd,ID_EDIT138),s,20); iniID.idtt_start3 = atof(s);
//////////////////////////////////////////////////////////////////////////////////////////////////////////
GetWindowText(GetDlgItem(hwnd,ID_EDIT139),s,20); iniID.idt_up = atof(s);
GetWindowText(GetDlgItem(hwnd,ID_EDIT140),s,20); iniID.idt_down = atof(s);
GetWindowText(GetDlgItem(hwnd,ID_EDIT141),s,20); iniID.idt_left = atof(s);
GetWindowText(GetDlgItem(hwnd,ID_EDIT142),s,20); iniID.idt_right = atof(s);
//////////////////////////////////////////////////////////////////////////////////////////////////////////
iniID.idUseWinSystem=(int)SendMessage(GetDlgItem(hwnd,ID_SE_WIN_SYSTEM),BM_GETCHECK,0L,0L);
/////////////////////////////////////////////////////////////////////////////////////////////////////////
iniID.inComBox318=ComboBox_GetCurSel(GetDlgItem(hwnd,ID_COMBOBOX318)); MemModRastrTT=32*(iniID.inComBox318+1);
iniID.inComBox319=ComboBox_GetCurSel(GetDlgItem(hwnd,ID_COMBOBOX319));
iniID.inComBox320=ComboBox_GetCurSel(GetDlgItem(hwnd,ID_COMBOBOX320));
//////////////////////////////////////////////////////////////////////////////////////////////////////////
iniID.inComBox301=iniID.inComBox900=iniID.inComBox318; Synchronizatia_Mod_Lit_Scan();
//////////////////////////////////////////////////////////////////////////////////////////////////////////
iniID.idtLe = iniID.idtdx*(32*(iniID.inComBox318+1)); _gcvt(iniID.idtLe,4,s); SetWindowText(GetDlgItem(hwnd,ID_EDIT125),s);
=iniID.idtSe = iniID.idtLe*iniID.idtLe; _gcvt(iniID.idtSe,4,s); SetWindowText(GetDlgItem(hwnd,ID_EDIT126),s);
//////////////////////////////////////////////////////////////////////////////////////////////////////////
Schrodinger_Razmer_LF(); Schrodinger_Razmer_LR(); Schrodinger_Razmer_LT(); Schrodinger_Razmer_LB();
//////////////////////////////////////////////////////////////////////////////////////////////////////////
GetWindowRect(hMakeShape252,&iniID.WndwDlg252); iniID.iWndwDlg252=1; Zapis_Dannich_22(); hMakeShape252=0; EndDialog(hwnd,TRUE);
}
else if(teploprovodnostparams.bContinue==TRUE)
{ MessageBeep(MB_OK); MessageBox(NULL, "Работает поток решения Ур. Теплопроводности.\nВыход из диалога\n\nНЕ ВОЗМОЖЕН\n\nдо тех пор, пока работает этот поток.\n\nОстановите поток красной кнопкой 'STOP'.", "Проверка параметров. Информация", MB_OK | MB_TOPMOST | MB_ICONSTOP); }
MessageBeep(MB_OK); break;
}
}
return FALSE;
}
	
