Jeg har lavet mig et lille program, og jeg har styr på ting som dialogs osv.
men hvordan jeg laver knapper i mit mainvindue uden at det er en dialog er mig en gåde.

Alle de eks jeg kunne finde på www.winprog.org (tjekkede et par stykker, ikke alle) brugte resources til at lave en dialog. Men hvad hvis man vil lave det i sit main vindue. Jeg prøvede med Createwindow, og det compiler uden problemer, problemet er at knappen vil ikke tegnes. Koden er som følgende:
(er lavet vha en delphi sourcecode så måske er det teknikken der er forkert

)
WNDCLASSEX wc;
HWND hwnd, btn_test;
MSG Msg;
wc.cbSize = sizeof(WNDCLASSEX);
wc.style = 0;
wc.lpfnWndProc = WndProc;
wc.cbClsExtra = 0;
wc.cbWndExtra = 0;
wc.hInstance = hInstance;
wc.hIcon = LoadIcon(NULL, IDI_APPLICATION);
wc.hCursor = LoadCursor(NULL, IDC_ARROW);
wc.hbrBackground = (HBRUSH)(COLOR_WINDOW+1);
wc.lpszMenuName = MAKEINTRESOURCE(IDR_MYMENU);
wc.lpszClassName = g_szClassName;
wc.hIconSm = LoadIcon(NULL, IDI_APPLICATION);
if(!RegisterClassEx(&wc))
{
MessageBox(NULL, "Window Registration Failed!", "Error!",
MB_ICONEXCLAMATION | MB_OK);
return 0;
}
hwnd = CreateWindowEx(
WS_EX_CLIENTEDGE,
g_szClassName,
"The title of my window",
WS_OVERLAPPEDWINDOW,
CW_USEDEFAULT, CW_USEDEFAULT, 240, 120,
NULL, NULL, hInstance, NULL);
btn_test = CreateWindow("button","testknap",1,200,200,300,300,hwnd,0,0,NULL);
if(hwnd == NULL)
{
MessageBox(NULL, "Window Creation Failed!", "Error!",
MB_ICONEXCLAMATION | MB_OK);
return 0;
}
ShowWindow(hwnd, nCmdShow);
UpdateWindow(hwnd);
Jeg har prøvet med showwindow(btn_test) men så får jeg et helt vindue for sig selv kun med knappen i. Og det er jo ikke ideen.
Mvh
Lasse
- Vi lever mens vi lærer, ikke omvendt -