Как сделать окно или, скорее, область отсечения, где я смогу рисовать пиксели? Он может использовать WinApi, однако я не хочу, чтобы мой проект выглядел как winapi, поэтому он будет иметь
int main(){}
вместо
int WINAPI WinMain(HINSTANCE ...
Я нашел пример, где я могу рисовать в окне консоли
int main()
{
COLORREF color = RGB(255,0,0); // COLORREF to hold the color info
SetConsoleTitle("Pixel In Console?"); // Set text of the console so you can find the window
HWND hwnd = FindWindow(NULL, "Pixel In Console?"); // Get the HWND
HDC hdc = GetDC(hwnd); // Get the DC from that HWND
for( int i = 0 ; i < 50 ; i++ )
{
SetPixel(hdc, 5+i, 12, color); // SetPixel(HDC hdc, int x, int y, COLORREF color)
}
ReleaseDC(hwnd, hdc); // Release the DC
DeleteDC(hdc); // Delete the DC
system("pause");
return(0);
}
но вместо консоли я хочу рисовать в выбранной области, которая будет удерживать фокус (когда пользователь нажимает на нее и т. д.).
Также было бы здорово иметь возможность обрабатывать простые события клавиатуры/мыши для этой программы, но это не моя основная цель, возможно, с этим помогут какие-то другие сторонние библиотеки.
Надеюсь, я ясно объяснил, что я хочу сделать, но английский не мой родной язык, поэтому мне очень жаль, если возникло недопонимание.
Буду благодарен за любую помощь.
Так как я пользуюсь этим сайтом впервые, прошу прощения за небольшой спам или сообщения в неправильных местах, так как я не уверен, где публиковать свои следующие сообщения :-) Итак, что я хотел написать, это:
" Иначе как Allegro/SDL создает окно? Они используют вызовы ассемблера или оболочки? Я буду намного счастливее, когда смогу создать окно с нуля, сколько бы работы это ни стоило :)"
WinMain
— это макрос, который будет заменен на правильный оконныйmain
в зависимости от того, скомпилировано ли приложение в режиме UNICODE или в режиме ASCII. - person gablin   schedule 02.01.2011