Обрезка текста при прокрутке в WIN32API c ++ - PullRequest
0 голосов
/ 20 сентября 2019

Clipping Example

Я просто хочу прокручивать текст всякий раз, когда вы нажимаете клавиши со стрелками, это внутри класса что-то вроде, если (Upkeyarrowpressed) прокрутить вверх, который я называю так:

scroll(int dx, int dy)

Вот пример моего кода

TEXTCOUT::TEXTCOUT(HWND hWnd, int POSX, int POSY, int SIZEX, int SIZEY)
{
    _POSX = POSX;
    _POSY = POSY;
    _SIZEX = SIZEX;
    _SIZEY = SIZEY;
    _FinalText = CreateWindowA("STATIC", "NULL", WS_VISIBLE | WS_CHILD | SS_LEFT | WS_VSCROLL, _POSX, _POSY, _SIZEX, _SIZEY, hWnd, NULL, NULL, NULL);
    //BOOL EnableScrollBar(hWnd, UINT wSBflags,UINT wArrows);   
}

void TEXTCOUT::addText(string text)
{
    _message += text;
    std::wstring stemp = std::wstring(_message.begin(), _message.end());
    LPCWSTR sw = stemp.c_str();
    SetWindowText(_FinalText, (sw));
    RedrawWindow(_FinalText, NULL, NULL, RDW_VALIDATE | RDW_UPDATENOW);
}


void TEXTCOUT::scroll(int dx, int dy)
{
    ScrollWindowEx(_FinalText, dx, dy, NULL, NULL, NULL, NULL, NULL);
}
...