Загрузка...

WINAPI C ++ Believe it is hard

Thread in C/C++ created by Hangover May 8, 2021. (bumped May 8, 2021) 203 views

  1. Hangover
    Hangover Topic starter May 8, 2021 5274 Jan 1, 2018
    "Возможно тут есть умные люди"
    Есть код:
    Code

    #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 не предлагать.
     
  2. гаечка
    гаечка May 8, 2021 27,253 Aug 17, 2019
    Код нечитабелен.
    [IMG]
     
    1. Hangover Topic starter
Top
Loading...