Всем добрый день. Согласно заданию для зачёта, в главном окне (с определённым цветом) нужно 10 раз вывести строку. В приведённом коде текст выводится с заданным шрифтом и размером, но я без понятия, как один текст отобразить десять раз.
LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{
HDC hdc;
const char* str = "Привет, Win32 API!!!";
SetClassLong(hWnd, GCL_HBRBACKGROUND, (LONG)CreateSolidBrush(RGB(50, 0, 0)));
switch (message)
{
case WM_COMMAND:
{
}
break;
case WM_PAINT:
{
PAINTSTRUCT ps;
hdc = BeginPaint(hWnd, &ps);
static LOGFONT lf; //создаём экземпляр LOGFONT
lf.lfCharSet = DEFAULT_CHARSET; //значение по умолчанию
lf.lfPitchAndFamily = DEFAULT_PITCH; //значения по умолчанию
strcpy(lf.lfFaceName, "Times New Roman"); //копируем в строку название шрифта
lf.lfHeight = 20; //высота
lf.lfWidth = 10; //ширина
lf.lfWeight = 40; //толщина
lf.lfEscapement = 0; //шрифт без поворота
HFONT hFont = CreateFontIndirect(&lf); //Cоздали шрифт
SelectObject(hdc, hFont); //Он будет иметь силу только когда мы его выберем
SetTextColor(hdc, RGB(255, 0, 255)); //зададим цвет текста
SetBkColor(hdc, RGB(0, 0, 255)); //зададим цвет фона
TextOut(hdc, 100, 100, str, strlen(str));//выведем текст
DeleteObject(hFont);
EndPaint(hWnd, &ps);
}
break;
case WM_DESTROY:
PostQuitMessage(0);
break;
default:
return DefWindowProc(hWnd, message, wParam, lParam);
}
return 0;
}