Buttons Win32

Ich arbeite mich gerade in die Win32 API ein und habe mir selbst aus Tutorials ein Beispiel gebastelt und dies hier kam raus.
c Code:

LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);
LPCSTR lpszAppName = TEXT("AppName");
LPCSTR lpszTitle = TEXT("Buttons");
int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,
 PSTR szCmdLine, int iCmdShow)
{
 HWND hWnd;
 MSG msg;
 WNDCLASSEX wc;
 wc.cbSize = sizeof(WNDCLASSEX);
 wc.style = CS_HREDRAW | CS_VREDRAW;
 wc.lpfnWndProc = WndProc;
 wc.cbClsExtra = 0;
 wc.cbWndExtra = 0;
 wc.hInstance = hInstance;
 wc.hCursor = LoadCursor(NULL,IDC_ARROW);
 wc.hIcon = LoadIcon(NULL, IDI_APPLICATION);
 wc.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH);
 wc.lpszClassName = lpszAppName;
 wc.lpszMenuName = lpszAppName;
 wc.hIconSm = LoadIcon(NULL, IDI_APPLICATION);
if( RegisterClassEx(&wc) == 0)
return 0;
 hWnd = CreateWindowEx(WS_EX_OVERLAPPEDWINDOW,
 lpszAppName,
 lpszTitle,
 WS_OVERLAPPEDWINDOW,
0,
0,
 CW_USEDEFAULT,
 CW_USEDEFAULT,
NULL,
NULL,
 hInstance,
NULL);
if( hWnd == NULL)
return 0;
 ShowWindow(hWnd, iCmdShow);
 UpdateWindow(hWnd);
while (GetMessage(&msg, NULL, 0, 0) > 0)
{
 TranslateMessage(&msg);
 DispatchMessage(&msg);
}
return msg.wParam;
}
LRESULT CALLBACK WndProc(HWND hWnd, UINT umsg, WPARAM wParam, LPARAM lParam)
{
static HWND hButton;
switch (umsg)
{
case WM_CREATE:
{
 hButton = CreateWindow( "BUTTON",
"Klick mich!",
 WS_CHILD | WS_VISIBLE,
0, 0, 0, 0,
 hWnd,
NULL,
((LPCREATESTRUCT) lParam) -> hInstance,
NULL);
return 0;
}
case WM_SIZE:
{
 MoveWindow(hButton, 0, 0, LOWORD(lParam), HIWORD(lParam), TRUE);
return 0;
}
case WM_COMMAND:
{
if (lParam == (LPARAM)hButton)
{
if (HIWORD(wParam) == BN_CLICKED)
 SetWindowText(hButton, "Autsch!");
}
return 0;
}
case WM_DESTROY:
{
 PostQuitMessage(0);
return 0;
}
}
return DefWindowProc(hWnd, umsg, wParam, lParam);
}```
 
  Es funktioniert wie gewollt, aber ich finde es sieht aus als wäre es noch von Windows 2000. Gibt es irgendeine Methode mit der man Buttons im Windows style bekommen kan. Danke schon im Vorraus.
Gruss,
Freak

Du hast dir ne Menge Mühe gemacht, deinen Code in irgend eine Form zu bringen - leichter wäre es gewesen, deinen Code in die entsprechenden Tags einzubetten. Das Forum macht dann schon den Rest… :wink:

[QUOTE=freak_007;15960]
Es funktioniert wie gewollt, aber ich finde es sieht aus als wäre es noch von Windows 2000. Gibt es irgendeine Methode mit der man Buttons im Windows style bekommen kan.[/QUOTE]

Ist Windows 2000 kein Windows?
Da musste schon bischen präziser werden.
Falsches API vielleicht?

Hallo nochmal,
Ich meine wie ich den Win7 style auf meinem Win7 hinbekomme. Ich meine, der Button sieht nicht aus wie andere Buttons unter Windows 7.

Hoffentlich sieht man mir nach, dass ich, obwohl ich von der Windows-API nicht (mehr) den Hauch einer Ahnung habe, die rein spekulative Möglichkeit in den Raum stelle, dass der Button vielleicht auch mit CreateWindowEx (und nicht nur mit CreateWindow) erzeugt werden müßte…?

Danke an alle, aber ich habe selbst eine Lösung gefunden, den ich verwende Dev-C++. In der IDE gibt es nähmlich die Möglichkeit Windows style anzuwenden in den Projekteinstellungen. Noch so eine kleine Info am Rande. Die Schriftart des Buttons kann mit dieser Codezeile auf Standard stellen. SendMessage(hText, WM_SETFONT, (WPARAM)GetStockObject(DEFAULT_GUI_FONT), TRUE);
Gruss,
Freak

EDIT: [QUOTE=Marco13]Hoffentlich sieht man mir nach, dass ich, obwohl ich von der Windows-API nicht (mehr) den Hauch einer Ahnung habe, die rein spekulative Möglichkeit in den Raum stelle, dass der Button vielleicht auch mit CreateWindowEx (und nicht nur mit CreateWindow) erzeugt werden müßte…?[/QUOTE] Mit CreateWindowEx kannst du nur mehre verschiedene Styles auf einem Button(Fenster) anwenden.

Wenn du nach einer IDE suchst, frag doch direkt danach.
Dein gefundenes Exemplar gibts auch mit GUI-Designer: http://wxdev-c.download.msn.de/

Ich brauch keine IDE, aber danke.
Thema gelöst.
Gruss,
Freak