![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 372 Pomógł: 1 Dołączył: 13.06.2008 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Dziś zacząłem cos tam grzebać w WinApi, ściągnąłem przykładowy program, no i jak zwykle bywa z początkami program nie działa. Googluje już od godziny, nie mogąc znaleźć rozwiązania więc postanowiłem napisać tutaj. Kod #include <windows.h> #include <iostream> #include <cstdlib> //#include <stdlib.h> using namespace std; char temp[10]; int num = 3; LRESULT CALLBACK WindProcedure(HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam); INT WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) { WNDCLASSEX WndCls; static char szAppName[] = "ExoFont"; MSG Msg; WndCls.cbSize = sizeof(WndCls); WndCls.style = CS_OWNDC | CS_VREDRAW | CS_HREDRAW; WndCls.lpfnWndProc = WindProcedure; WndCls.cbClsExtra = 0; WndCls.cbWndExtra = 0; WndCls.hInstance = hInstance; WndCls.hIcon = LoadIcon(NULL, IDI_APPLICATION); WndCls.hCursor = LoadCursor(NULL, IDC_ARROW); WndCls.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH); WndCls.lpszMenuName = NULL; WndCls.lpszClassName = szAppName; WndCls.hIconSm = LoadIcon(hInstance, IDI_APPLICATION); RegisterClassEx(&WndCls); CreateWindowEx(WS_EX_OVERLAPPEDWINDOW, szAppName, "Fonts Fundamentals", WS_OVERLAPPEDWINDOW | WS_VISIBLE, CW_USEDEFAULT, CW_USEDEFAULT, 450, 500, NULL, NULL, hInstance, NULL); while( GetMessage(&Msg, NULL, 0, 0) ) { TranslateMessage(&Msg); DispatchMessage( &Msg); } return static_cast<int>(Msg.wParam); } LRESULT CALLBACK WindProcedure(HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam) { HDC hDC; PAINTSTRUCT Ps; HFONT font; switch(Msg) { case WM_PAINT: hDC = BeginPaint(hWnd, &Ps); font = CreateFont(14, 0, 0, 0, FW_NORMAL, FALSE, FALSE, FALSE, ANSI_CHARSET, OUT_DEFAULT_PRECIS, CLIP_DEFAULT_PRECIS, DEFAULT_QUALITY, DEFAULT_PITCH | FF_ROMAN, "Arial"); SelectObject(hDC, font); for(int x = 0; x < 100; x++){ sprintf( temp, "String%d",x); TextOut(hDC, 10, 10, temp, 12); } EndPaint(hWnd, &Ps); break; case WM_DESTROY: PostQuitMessage(WM_QUIT); break; default: return DefWindowProc(hWnd, Msg, wParam, lParam); } } Dokładniej chodzi o linijki Kod for(int x = 0; x < 100; x++){ sprintf( temp, "String%d",x); TextOut(hDC, 10, 10, temp, 12); } Chciałem, żeby zmieniał wypisywane liczby, ale kompilator (dev c++) nie chce zmienić typu zmiennej. Wie ktoś może co powinienem zrobić? |
|
|
![]() ![]() |
![]() |
Aktualny czas: 24.09.2025 - 02:32 |