Umgang mit Bildlaufleisten in VC ++ 6.0 und MFC
-
22-08-2019 - |
Frage
Hai in vc ++ 6.0 MFC verbunden i eine serielle Schnittstelle, beim Lesen und Anzeigen von Daten (i will Datum und Uhrzeit angezeigt werden) in Bearbeitungsfeld (IDC_EDIT1)
Mein Problem ist, ich eine vertikale Bildlaufleiste im Bearbeitungsfeld verwendet. Immer, wenn ich neue Daten angezeigt wird, bewegt sich die vertikale Bildlaufleiste nach oben; es muss kommen (nach unten scrollen)
Der Code geschrieben:
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);
Lösung
Nachdem Sie Ihren Text in die Bearbeitungssteuer schreiben, ruft IDC_EDIT1.ScrollToCaret()
. Das wird es nach unten scrollen Sie nach unten, wo die neue Linie ist.
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow