WM_command-catch-Taste, drücken Sie im c++ - win32 -

Ich versuche, den Knopf drücken-Ereignis in c++ win32-mit WM_Command

HWND hBtn;
HWND  hBtnParent = HWND("UploadVideo");
HWND SelectVideoBTN, UploadBTN;
HWND hWnd;

HINSTANCE hUpload;
WNDCLASSEX wcexUpload;
int nCmdShowUpload = 1;
using namespace std;

LRESULT CALLBACK WindowProcedure(HWND, UINT, WPARAM, LPARAM);
LRESULT CALLBACK WindowProcedure(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
{
    loader::alert("rrr");
    switch (message)
    {
    case WM_COMMAND:
        if (LOWORD(wParam) == WORD(SelectVideoBTN)) {
            loader::alert("hello");
        }
        break;
    default:
        return DefWindowProc(hwnd, message, wParam, lParam);
    }
    return 0;
}

SelectVideoBTN = CreateWindow(
            L"BUTTON",  //Predefined class; Unicode assumed 
            L"Select Video's",      //Button text 
            WS_TABSTOP | WS_VISIBLE | WS_CHILD | BS_DEFPUSHBUTTON,  //Styles 
            10,         //x position 
            460,         //y position 
            100,        //Button width
            25,        //Button height
            hWnd,     //Parent window
            NULL,       //No menu.
            (HINSTANCE)GetWindowLong(hWnd, GWL_HINSTANCE),
            NULL);      //Pointer not needed.

        UploadBTN = CreateWindow(
            L"BUTTON",  //Predefined class; Unicode assumed 
            L"Upload",      //Button text 
            WS_TABSTOP | WS_VISIBLE | WS_CHILD | BS_DEFPUSHBUTTON,  //Styles 
            390,         //x position 
            460,         //y position 
            100,        //Button width
            25,        //Button height
            hWnd,     //Parent window
            NULL,       //No menu.
            (HINSTANCE)GetWindowLong(hWnd, GWL_HINSTANCE),
            NULL);      //Pointer not needed.

Ich gesucht habe an diesem Beispiel - http://forums.devshed.com/programming-42/create-button-clicked-148407.html - aber ich kann es nicht ganz verstanden, um zu arbeiten, es nicht selbst nennen sich die CALLBACK WindowProcedure - gibt es jemand, der mir helfen könnte?

Sind die Schaltflächen vorhanden auf das window ich erstellt habe, erstelle ich die window - by-doing -

WNDCLASSEX vidUploader;

    vidUploader.cbSize = sizeof(WNDCLASSEX);

    vidUploader.style = CS_HREDRAW | CS_VREDRAW;
    vidUploader.lpfnWndProc = WndProc;
    vidUploader.cbClsExtra = 0;
    vidUploader.cbWndExtra = 0;
    vidUploader.hInstance = hUpload;
    vidUploader.hIcon = LoadIcon(hUpload, MAKEINTRESOURCE(IDI_P2GOVIDEOUPLOADER20));
    vidUploader.hCursor = LoadCursor(NULL, IDC_ARROW);
    vidUploader.hbrBackground = (HBRUSH)(COLOR_WINDOW + 1);
    vidUploader.lpszMenuName = MAKEINTRESOURCE(IDC_P2GOVIDEOUPLOADER20);
    vidUploader.lpszClassName = (LPCWSTR)(L"UploadVideo");
    vidUploader.hIconSm = LoadIcon(wcexUpload.hInstance, MAKEINTRESOURCE(IDI_SMALL));

    RegisterClassEx(&vidUploader);

    hInst = hUpload; //Store instance handle in our global variable

und dann, um das Fenster

    hWnd = CreateWindow((LPCWSTR)(L"UploadVideo"), (LPCWSTR)(L"Upload Video's"), WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, CW_USEDEFAULT, 500, 100, NULL, NULL, hUpload, NULL);
if (!hWnd)
        {
            MessageBox(NULL, _T("Call to CreateWindow failed!"), _T("Win32 Guided Tour"), NULL);

            return 1;
        }


    //The parameters to ShowWindow explained:
    //hWnd: the value returned from CreateWindow
    //nCmdShow: the fourth parameter from WinMain
    ShowWindow(hWnd,
        nCmdShowUpload);

    UpdateWindow(hWnd);
InformationsquelleAutor Gerwin | 2016-05-17
Schreibe einen Kommentar