Обработка полос прокрутки в VC ++ 6.0 и MFC - PullRequest
0 голосов
/ 17 декабря 2008

Hai в vc ++ 6.0 MFC, я подключил последовательный порт, читая и отображая данные (я хочу отобразить дату и время) в поле редактирования (IDC_EDIT1),

Моя проблема в том, что я использовал вертикальную полосу прокрутки в окне редактирования. Всякий раз, когда я отображаю новые данные, вертикальная полоса прокрутки перемещается вверх; оно должно опуститься (прокрутить вниз),

Письменный код:

CString temp;
    static CString dat;
    static CString tim;

    if (dat != m_date || tim != m_time)
    {
        temp = "\r\n-------------------------------------------------------------------------------------------------\r\n\r\n";
        temp = temp + "Date: ";
        temp = temp + m_date;
        temp = temp + "\t\t\t";
        temp = temp + "Time: ";
        temp = temp + m_time;
        temp = temp + "\r\n-------------------------------------------------------------------------------------------------";
    }

    dat = m_date;
    tim = m_time;

    temp = temp + "\r\n\r\n";
    temp = temp + m_sensorname +"\t\t";
    temp = temp + m_value + "\t\t";
    temp = temp + m_units;

    if (m_datalog_id ==0x01)
        m_pdialog->m_editlog1= m_pdialog->m_editlog1 + temp;
    else if(m_datalog_id==0x02)
        m_pdialog->m_editlog2 = m_pdialog->m_editlog2 + temp;
    else
        return;

    m_pdialog->UpdateData(false);

1 Ответ

3 голосов
/ 17 декабря 2008

После того, как вы напишите свой текст в элемент управления для редактирования, позвоните IDC_EDIT1.ScrollToCaret(). Это позволит прокрутить его вниз, где находится новая строка.

...