Skip to content

Пример программы на C++ с использованием wxWidgets и DialogBlocks в Visual Studio 2022

License

Notifications You must be signed in to change notification settings

tsnsoft/DialogBlocks_MSVS2022_wx_demo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DialogBlocks_MSVS2022_wx_demo

Пример программы на C++ с использованием wxWidgets и DialogBlocks в Visual Studio 2022

srcreenshot

srcreenshot

srcreenshot

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

srcreenshot

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-конфигурации:

srcreenshot

Extra compile flags: %AUTO% /utf-8

Чтобы компилировался проект без BOM в UTF-8 в Release-конфигурации:

srcreenshot

Extra compile flags: %AUTO% /utf-8

Редактировать код можно параллельно в Visual Studio 2022:

srcreenshot

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://www.wxwidgets.org/

https://visualstudio.microsoft.com/ru/vs/community/

Редактор картинок в формате "xpm":

http://www.anthemion.co.uk/dialogblocks/ImageBlocks-1.06-Setup.exe

About

Пример программы на C++ с использованием wxWidgets и DialogBlocks в Visual Studio 2022

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published