Я участвую в соревновании по программированию Skills USA, где я не уверен, как он будет проходить, но я знаю некоторые правила.Самая большая проблема в том, что вам не разрешено приносить какой-либо исходный код.Я также слышал от учителя, что QT Creator не будет разрешен.
Если я собираюсь писать на c ++ без QT (или любой другой связки библиотек), но я должен использовать что-то локальное для окон... что я должен делать.
Был такой пакет кода, который я нашел на веб-сайте.Все, что он делает, - это создает окно, и я бы больше изучил этот выбор, но посмотрите, сколько в нем кода ...
#include <windows.h>
LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);
static char sClassName[] = "MyClass";
static HINSTANCE zhInstance = NULL;
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) {
WNDCLASSEX WndClass;
HWND hwnd;
MSG Msg;
zhInstance = hInstance;
WndClass.cbSize = sizeof(WNDCLASSEX);
WndClass.style = NULL;
WndClass.lpfnWndProc = WndProc;
WndClass.cbClsExtra = 0;
WndClass.cbWndExtra = 0;
WndClass.hInstance = zhInstance;
WndClass.hIcon = LoadIcon(NULL, IDI_APPLICATION);
WndClass.hCursor = LoadCursor(NULL, IDC_ARROW);
WndClass.hbrBackground = (HBRUSH)(COLOR_WINDOW+1);
WndClass.lpszMenuName = NULL;
WndClass.lpszClassName = sClassName;
WndClass.hIconSm = LoadIcon(NULL, IDI_APPLICATION);
if(!RegisterClassEx(&WndClass)) {
MessageBox(0, "Error Registering Class!", "Error!", MB_ICONSTOP | MB_OK);
return 0;
}
hwnd = CreateWindowEx(WS_EX_STATICEDGE, sClassName, "db Tutorial", WS_OVERLAPPEDWINDOW, CW_USEDEFAULT,
CW_USEDEFAULT,
320, 240, NULL, NULL, zhInstance, NULL);
if(hwnd == NULL) {
MessageBox(0, "Error Creating Window!", "Error!", MB_ICONSTOP | MB_OK);
return 0;
}
ShowWindow(hwnd, nCmdShow);
UpdateWindow(hwnd);
while(GetMessage(&Msg, NULL, 0, 0)) {
TranslateMessage(&Msg);
DispatchMessage(&Msg);
}
return Msg.wParam;
}
LRESULT CALLBACK WndProc(HWND hwnd, UINT Message, WPARAM wParam, LPARAM lParam) {
switch(Message) {
case WM_CLOSE:
DestroyWindow(hwnd);
break;
case WM_DESTROY:
PostQuitMessage(0);
break;
default:
return DefWindowProc(hwnd, Message, wParam, lParam);
}
return 0;
}
У меня не возникло бы проблемы с дополнительным изучением этого, но так какМне не разрешено приносить исходный код, я бы запомнил большую часть этого.Этого не происходит
Существуют ли способы создания окон / кнопок в c ++, которые не требуют от меня использования чего-то вроде QT или ввода страницы кода для создания пустого окна?Я посмотрел на Google, и все о создателе QT.Любая помощь была бы полезна.
Я не ищу «легкого выхода», просто что-то, что я мог бы запомнить и напечатать на месте, не имея доступа к примерам, кроме учебников по С ++.