Zmienne w TextOut

0

Chciałbym, żeby w TextOut wypisywało mi wylosowane wyżej cyfry. Stworzyłem coś takiego:

LRESULT CALLBACK WndProc( HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam )
{
    int losowana;
    int losowana1;
    losowana =(( rand() % 9 ) + 0 );
    losowana1 =(( rand() % 10 ) + 0 );
    switch( msg )
    {
    case WM_PAINT:
        kon = BeginPaint( hwnd, & ps );
        hFont=CreateFont(55,0,0,0,0,0,0,0,0,0,0,0,0,"Arial");
        SelectObject(kon, hFont);
        TextOut( kon, 50, 50, losowana, 3);
        EndPaint( hwnd, & ps );
    break;
    case WM_DESTROY:
        PostQuitMessage( 0 );
        break;
	default:
        return DefWindowProc( hwnd, msg, wParam, lParam );
    }
    return 0;
} 

I wyskakują takie errory:

|In function 'LRESULT WndProc(HWND, UINT, WPARAM, LPARAM)':|
|95|error: invalid conversion from 'int' to 'LPCSTR {aka const char*}' [-fpermissive]|
|3033|error: initializing argument 4 of 'BOOL TextOutA(HDC, int, int, LPCSTR, int)' [-fpermissive]|

Ktoś mógłby pomóc?

2

No to przecież komuinikat jasno mówi że musisz przekonwertować int na LPCSTR możesz to zrobić wsprintf https://msdn.microsoft.com/en-us/library/windows/desktop/ms647550%28v=vs.85%29.aspx lub innych zalecanych zamiast niej (linki podane w opisie funkcji).
Do tego po co losujesz (jakoś śmiesznie) przy każdym komunikacie jak rysujesz tylko WM_PAINT i po co za każdym razem w WM_PAINT tworzysz czcionkę, nie dość że nigdy jej nie usuwasz (za pomocą DeleteObject) a ilość zasobów GDI jest ograniczona to jeszcze to bez sensu bo możesz to zrobić raz np. w WM_CREATE i zapamiętać uchwyt.

0

Dziękuję, działa.

1 użytkowników online, w tym zalogowanych: 0, gości: 1