Пример программы на C++ с использованием wxWidgets и DialogBlocks в Visual Studio 2022
WXWIN: D:\Development\CPP\wxWidgetsDBls
DBPROJECTS: D:\Projects\DialogBlocksProjects
MSBUILDDIR: C:\Program Files\Microsoft Visual Studio\2022\Community\MSBuild\Current\Bin
MSVCDIR: C:\Program Files\Microsoft Visual Studio\2022\Community
PLATFORMSDK: C:\Program Files (x86)\Windows Kits\10
VC++ version: 17 <<-- Microsoft Visual Studio Community 2022 (64-разрядная версия) - Версия 17.8.2
VC++ tools version: 14.41.34120 <<-- C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.41.34120
Full Platform SDK version: 10.0.22621.0 <<-- C:\Program Files (x86)\Windows Kits\10\bin\10.0.22621.0
Message encoding: utf-8
Чтобы компилировался проект без BOM в UTF-8 в Debug-конфигурации:
Extra compile flags: %AUTO% /utf-8
Чтобы компилировался проект без BOM в UTF-8 в Release-конфигурации:
Extra compile flags: %AUTO% /utf-8
Редактировать код можно параллельно в Visual Studio 2022:
void MainForm::OnButtonClick(wxCommandEvent& event)
{
double a, b; // входные данные
wxTextCtrl* itemTextCtrl1 = (wxTextCtrl*)FindWindow(ID_TEXTCTRL_a); // находим компонент a по ID
wxTextCtrl* itemTextCtrl2 = (wxTextCtrl*)FindWindow(ID_TEXTCTRL_b); // находим компонент b по ID
wxTextCtrl* itemTextCtrl3 = (wxTextCtrl*)FindWindow(ID_TEXTCTRL_c); // находим компонент c по ID
if (!itemTextCtrl1->GetValue().ToDouble(&a)) { // получаем значение из компонента a
wxMessageBox(wxT("a не число!")); // выводим сообщение об ошибке
return; // выходим из функции
}
if (!itemTextCtrl2->GetValue().ToDouble(&b)) { // получаем значение из компонента b
wxMessageBox(wxT("b не число!")); // выводим сообщение об ошибке
return; // выходим из функции
}
double c = a / b; // вычисляем результат
if (isnan(c) || isinf(c)) { // проверяем результат на ошибки
wxMessageBox(wxT("результат не число!")); // выводим сообщение об ошибке
return; // выходим из функции
}
itemTextCtrl3->SetValue(wxString::Format(wxT("%0.3f"), c)); // выводим результат в компонент c
}
http://www.anthemion.co.uk/dialogblocks/
https://visualstudio.microsoft.com/ru/vs/community/
Редактор картинок в формате "xpm":
http://www.anthemion.co.uk/dialogblocks/ImageBlocks-1.06-Setup.exe