HelpWindow shows, button doesn't?

Posts 12 of 2 · Page 1 of 1
Window shows, button doesn't?
So yea basically the cancel button doesn't show, but the window does!?
Code:

Code:
#if defined(UNICODE) && !defined(_UNICODE)
    #define _UNICODE
#elif defined(_UNICODE) && !defined(UNICODE)
    #define UNICODE
#endif

#include <tchar.h>
#include <windows.h>

LRESULT CALLBACK WindowProcedure(HWND, UINT, WPARAM, LPARAM);

TCHAR* WindowClass = _T("CFHax_WindowClass");

int WINAPI WinMain(HINSTANCE Instance, HINSTANCE PreviousInstance, LPSTR LPSZ_Argument, int CommandShow)
{
    MSG messages;
    WNDCLASSEX WindowsClass;
    WindowsClass.hInstance = Instance;
    WindowsClass.lpszClassName = WindowClass;
    WindowsClass.lpfnWndProc = WindowProcedure;
    WindowsClass.style = CS_DBLCLKS;
    WindowsClass.cbSize = sizeof(WNDCLASSEX);
    WindowsClass.hIcon = LoadIcon(NULL, IDI_APPLICATION);
    WindowsClass.hIconSm = LoadIcon(NULL, IDI_APPLICATION);
    WindowsClass.hCursor = LoadCursor(NULL, IDC_ARROW);
    WindowsClass.lpszMenuName = NULL;
    WindowsClass.cbClsExtra = 0;
    WindowsClass.cbWndExtra = 0;
    WindowsClass.hbrBackground = CreateSolidBrush(RGB(0, 0, 0));
    if (!RegisterClassEx (&WindowsClass))
    {
        return 0;
    };
    RECT Desktop;
    HWND DesktopHWND = GetDesktopWindow();
    GetWindowRect(DesktopHWND, &Desktop);
    HWND ParentWindow = CreateWindowEx(
           0,
           WindowClass,
           _T("CF-Hax | v0.1"),
           WS_POPUPWINDOW,
           ((Desktop.right / 2) - 150),
           0,
           300,
           200,
           HWND_DESKTOP,
           NULL,
           Instance,
           NULL
    );
    HWND Cancel = CreateWindow(
        "CFHax_ButtonClass",
        "Cancel",
        (WS_TABSTOP | WS_VISIBLE | WS_EX_TOPMOST |WS_CHILDWINDOW | BS_DEFPUSHBUTTON),
        0,
        0,
        100,
        100,
        ParentWindow,
        NULL,
        (HINSTANCE)GetWindowLong(ParentWindow, GWL_HINSTANCE),
        NULL
    );
    ShowWindow(ParentWindow, CommandShow);
    while (GetMessage(&messages, NULL, 0, 0))
    {
        TranslateMessage(&messages);
        DispatchMessage(&messages);
    };
    return messages.wParam;
};

LRESULT CALLBACK WindowProcedure(HWND Window, UINT Message, WPARAM WParam, LPARAM LParam)
{
    switch (Message)
    {
        case WM_DESTROY:
            PostQuitMessage(0);
            break;
        default:
            return DefWindowProc(Window, Message, WParam, LParam);
    };
    return 0;
};
Because you are using CreateWindow in WinMain

What you should do is make another case in WindowProcedure

so:

Code:
LRESULT CALLBACK WindowProcedure(HWND Window, UINT Message, WPARAM WParam, LPARAM LParam)
{
    switch (Message)
    {
        case WM_CREATE:{
            //Cancel = CreateWindow(L"MYBUTTON",etc)
           break;
         }
        case WM_DESTROY:
            PostQuitMessage(0);
            break;
        default:
            return DefWindowProc(Window, Message, WParam, LParam);
    };
    return 0;
};
Posts 12 of 2 · Page 1 of 1

Post a Reply

Similar Threads

Tags for this Thread

None

Need help?