Witam, od niedawna uczę się WINapi i mam problem z wyświetlaniem tekstu, albo powiem inaczej, nie wiem w ogóle jak to zrobić ;D Mógłby ktoś podesłać kod albo powiedzieć jak się używa tej funkcji ??Napisałem coś takiego(prosze sie nie smiac) ale nawet mi sie skompilować nie chce:
#include <windows.h>
#include <commctrl.h>
#include <stdio.h>
#include <string>
HWND hWnd; //globalne deklaracje uchytów na okna:
//hWnd - uchwyt na nasze okno rodzica
//hButton - uchwyt na przycisk
CHAR szClassName[]="OknoRodzica";
HINSTANCE* hInst;
//globalny wskaźnik na uchwyt naszego programu
//uchwytu programu często będziemy używać w różnych funkcjach, dlatego dobrze, mieć globalny wskaźnik na niego
LRESULT CALLBACK WndProc(HWND,UINT,WPARAM,LPARAM);
INT WINAPI WinMain(HINSTANCE hInstance,HINSTANCE,LPSTR lStart,INT nShow)
{
hInst=&hInstance; //pobieramy uchwyt programu do globalnego wskaźnika
//tworzenie okna rodzica
WNDCLASSEX wc;
wc.hInstance=*hInst; //używamy globalnego wskaźnika
wc.lpszClassName=szClassName;
wc.lpfnWndProc=WndProc;
wc.style=0;
wc.cbSize=sizeof(WNDCLASSEX);
wc.hIcon=LoadIcon(0,IDI_APPLICATION);
wc.hIconSm=LoadIcon(0,IDI_APPLICATION);
wc.hCursor=LoadCursor(0,IDC_ARROW);
wc.lpszMenuName=0;
wc.cbClsExtra=0;
wc.cbWndExtra=0;
wc.hbrBackground=(HBRUSH)COLOR_BACKGROUND;
if(!RegisterClassEx(&wc)) return 0;
hWnd=CreateWindowEx(0,szClassName,"Tworzenie buttona",WS_OVERLAPPEDWINDOW,500,200,200,300,0,0,*hInst,0);
ShowWindow(hWnd,nShow);
MSG msgs;
while(GetMessage(&msgs,0,0,0))
{
TranslateMessage(&msgs);
DispatchMessage(&msgs);
}
return msgs.wParam;
}
LRESULT CALLBACK WndProc(HWND hwnd,UINT msg,WPARAM wPar,LPARAM lPar)
{
switch(msg)
{
case WM_DESTROY:
PostQuitMessage(0);
break;
case WM_PAINT:
HDC hdc;
PAINSTRUCT ps;
hdc= BeginPain(hwnd,&ps);
std::string tekst;
tekst = "Wyswietlany tekst";
RECT rect;
SetRect(&rect, 15, 30, 15, 30);
DrawText( hdc, tekst.c_str(), int -1, &rect, DT_RIGHT);
break;
default:
return DefWindowProc(hwnd,msg,wPar,lPar);
}
return 0;
}