Загрузка...

WINAPI C++ Вери сложно

Тема в разделе C/C++ создана пользователем Hangover 8 май 2021. (поднята 8 май 2021) 205 просмотров

  1. Hangover
    Hangover Автор темы 8 май 2021 5274 1 янв 2018
    "Возможно тут есть умные люди"
    Есть код:
    Код

    #include<Windows.h>
    #include<string.h>


    void MyMenu(HWND hWnd)
    {
    HMENU hMenu = CreateMenu();
    AppendMenu(hMenu, MF_POPUP, 2, L"Close");
    SetMenu(hWnd, hMenu);
    }


    int CALLBACK wWinMain(HINSTANCE hInstance, HINSTANCE, PWSTR szCmdLine, int nCmdShow)
    {


    static HWND hEdit;
    MSG msg{};
    HWND hwnd{};
    WNDCLASSEX wc{ sizeof(WNDCLASSEX) };


    wc.cbClsExtra = 0;
    wc.cbWndExtra = 0;
    wc.hbrBackground = reinterpret_cast<HBRUSH>(GetStockObject(WHITE_BRUSH));
    wc.hCursor = LoadCursor(nullptr, IDC_ARROW);
    wc.hIcon = LoadIcon(nullptr, IDI_APPLICATION);
    wc.hIconSm = LoadIcon(nullptr, IDI_APPLICATION);
    wc.hInstance = hInstance;



    wc.lpfnWndProc = [](HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)->LRESULT
    {


    switch (uMsg)
    {
    case WM_CREATE:
    {
    MyMenu(hWnd);
    RECT rc{};
    GetClientRect(hWnd, &rc);
    hEdit = CreateWindow
    (
    L"eDit",
    L"",
    WS_CHILD | WS_VISIBLE | WS_BORDER | ES_LEFT | ES_MULTILINE,
    0, 0, rc.right, rc.bottom, hWnd, reinterpret_cast<HMENU>(1337), nullptr, nullptr
    );
    return 0;
    }
    case WM_SIZE:
    {
    SetWindowPos(hEdit, nullptr, 0, 0, LOWORD(lParam), HIWORD(lParam), SWP_NOMOVE | SWP_NOZORDER| SWP_NOOWNERZORDER);
    }
    return 0;
    case WM_DESTROY:
    {
    PostQuitMessage(EXIT_SUCCESS);

    }
    return 0;
    }
    return DefWindowProc(hWnd, uMsg, wParam, lParam);
    };


    wc.lpszClassName = L"MyAppClass";
    wc.lpszMenuName = nullptr;
    wc.style = CS_VREDRAW | CS_HREDRAW;



    if (!RegisterClassEx(&wc))
    return EXIT_FAILURE;
    if (hwnd = CreateWindow(wc.lpszClassName, L"Заголовок", WS_OVERLAPPEDWINDOW, 0, 0, 600, 600, nullptr, nullptr, wc.hInstance, nullptr); hwnd == INVALID_HANDLE_VALUE)
    {
    return EXIT_FAILURE;
    }



    ShowWindow(hwnd, nCmdShow);
    UpdateWindow(hwnd);



    while (GetMessage(&msg, nullptr, 0, 0))
    {
    TranslateMessage(&msg);
    DispatchMessage(&msg);
    }



    return static_cast<int>(msg.wParam);

    }


    Необходимо вытащить текст из EditBox в .txt , буфер обмена, массив , переменную(на ваше усмотрение, но лучше конечно в буфер).
    Читать документацию по Clipboard не предлагать.
     
    8 май 2021 Изменено
  2. гаечка
    гаечка 8 май 2021 27 253 17 авг 2019
    Код нечитабелен.
    [IMG]
     
    1. Hangover Автор темы
Top
Загрузка...