@m_mockingbird_d

Как исправить ошибки при сборке своего первого проекта оконного приложения?

Пытаюсь сделать в точности по инструкции. Но вылазят 12 ошибок.

Вот код:
#include <Windows.h>


LRESULT CALLBACK SoftwareMainProcedure(HWND hWnd, UINT msg, WPARAM wp, LPARAM lp);
WNDCLASS NewWindowClass(HBRUSH BGColor, HINSTANCE hinst, HICON Icon, LPCWSTR Name, WNDPROC Procedure);

int WINAPI WinMain(HINSTANCE hinnst, HINSTANCE hPrevInst, LPSTR args, int ncmdshow) {

	WNDCLASS SoftwareMainClass = NewWindowClass((HBRUSH)COLOR_WINDOW, LoadCursor(NULL, IDC_ARROW), hInst, LoadIcon(NULL, IDI_QUESTION),
		L"MainWndClass", SoftwareMainProcedure);

	if (!RegisterClassW(&SoftwareMainClass)) { return -1; }
	MSG SoftWareClassW = { 0 };

	CreateWindow(L"MainWndClass", L"c++ window", WS_OVERLAPPEDWINDOW | WS_VISIBLE, 100, 100, 500, 250, NULL, NULL, NULL, NULL);

	while (GetMessage(&SoftwareMainClass, NULL, NULL, NULL)) {
		TranslateMessage(&SoftwareMainClass);
		DispatchMessage(&SoftwareMainClass);
	}
	return 0;
}

WNDCLASS NewWindowClass(HBRUSH BGColor, HINSTANCE hinst, HICON Icon, LPCWSTR Name, WNDPROC Procedure) {
	WNDCLASS NWS = { 0 };

	NWC.hicon = Icon;
	NWC.hCursor = Cursor;
	NWC.histance = hInst;
	NWC.lpszClassName = Name;
	NWC.hbrBackground = BGColor;
	NWC.lpfnWndProc = Procedure;

	return NWC;
}

LRESULT CALLBACK SoftWareNaunProcedure(HWND hWnd, UINT msg, WPARAM wp, LPARAM lp) {
	switch (msg) {
	case WM_CREATE:
		break;
	case WM_DESTROY:
		PostQuitMessage(0);
		break;
	default: return DefWindowProc(HWnd, msg, wp, lp);
	}
}


Юникод поставлен, подсистема Windows - тоже.
  • Вопрос задан
  • 107 просмотров
Пригласить эксперта
Ответы на вопрос 1
@Akela_wolf
Extreme Programmer
Значит такая инструкция. Либо вы делаете не по инструкции, либо она совершенно негодная.

Например, сигнатура функции TranslateMessage:
BOOL TranslateMessage(
  [in] const MSG *lpMsg
);

Зачем вы пытаетесь пихнуть туда класс (даже не инстанс) окна - одному автору "инструкции" ведомо.

Тоже самое с GetMessage - первый параметр должен быть ссылкой на сообщение, затем инстанс окна. У вас зачем-то опять класс окна и так по всему коду.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
26 мая 2024, в 22:30
100000 руб./за проект
26 мая 2024, в 21:15
20000 руб./за проект
26 мая 2024, в 21:05
20000 руб./за проект