Как написать свой собственный графический интерфейс на C++
Я хотел бы написать свой собственный графический интерфейс на c++. Это включает в себя создание всех необходимых заголовков и макросов. Я не могу найти учебник, который дает мне какую-либо информацию о том, с чего начать, или они предлагают e загрузить Qt, wxWidgets или аналогичную программу. Кто-нибудь может мне помочь?
Что я уже пробовал:
Я искал около часа в поисках какой-либо информации, но ничего не нашел.
David_Wimbley
Что вы пробовали? Мне трудно поверить, что во всей бесконечной мудрости Google нет ничего, что могло бы помочь вам в чем-то столь же простом, как создание графического интерфейса. Я сделал быстрый поиск в google и нашел тонны ссылок о Qt, так что либо вам нужно быть более конкретным с тем, что вы хотите достичь, либо вам нужно еще раз взглянуть на поиск в google.
Я не хочу быть грубым, но дополнительная информация/демонстрация того, что вы приложили усилия, имеет большое значение.
SomeRandomMan
Я не имею в виду использование Qt или чего-то еще. Я имею в виду попытку сделать его полностью с нуля (написанный полностью мной).
Mohibur Rashid
Windows, linux или что?
SomeRandomMan
Окна
Mohibur Rashid
Начните с изучения того,как работают окна.
SomeRandomMan
Спасибо.
Philippe Mori
Любой полезный графический интерфейс потребует написания большого количества кода, поэтому гораздо разумнее использовать существующий фреймворк.
По крайней мере, для Win32 API трудно создать достойный фреймворк, который работал бы объектно-ориентированным образом и скрывал бы особенности API, чтобы сделать его менее подверженным ошибкам. Некоторые из вещей, которые несколько трудно сделать без глубокого понимания Win32 API и языка C++, - это способ связать дескриптор (HWND) с объектом C++, декодировать сообщения windows безопасным и эффективным способом, а также правильно направлять сообщения к нужным элементам управления. Например, на уровне API управляющие сообщения owner-draw отправляются владельцу вместо элемента управления, поэтому для создания автономного элемента управления необходимо реализовать некоторую маршрутизацию, которая позаботится об этом.
SomeRandomMan
Я знаю, что для этого потребуется много кода, вот почему я хочу это сделать.
[no name]
Я бы посоветовал вам взглянуть на библиотеки графического интерфейса с открытым исходным кодом. Они будут направлять вас.
SomeRandomMan
Спасибо.
[no name]
Добро пожаловать!
Philippe Mori
И что бы вы хотели, чтобы ваш фреймворк делал?
Должен ли это быть тонкий слой вокруг части Win32 API, или вы хотите хорошую инкапсуляцию или что-то среднее?
Вы хотите использовать стандартные элементы управления или сделать свой собственный пользовательский интерфейс?
Philippe Mori
Смотреть на : Список наборов инструментов виджетов Это даст вам представление о существующих фреймворках.