mfc,vc串口資料,現在我已經用串口接收到資料并顯示了,然后我想把這些資料既顯示在一個接收框中,也同時一個個顯示在多個編輯框中。請問怎么添加程式,求大神!萬分感激,下面是我原來的串口程式
if (m_mscom.get_CommEvent() == 2)
{
char str[1024] = { 0 };
long k;
VARIANT InputData = m_mscom.get_Input(); //讀緩沖區
COleSafeArray fs;
fs = InputData; //VARIANT型變à量轉換為COleSafeArray型變數
for (k = 0; k<fs.GetOneDimSize(); k++)
fs.GetElement(&k, str + k); //轉換為BYTE型陣列
m_EditReceive += str; // 接收到編輯框里面
//SetTimer(1,10,NULL); //延時10ms
UpdateData(false);
}
uj5u.com熱心網友回復:
m_EditReceive += str; // 接收到編輯框里面
for_each(m_OtherEditsText)
m_OtherEditsText += str;
//SetTimer(1,10,NULL); //延時10ms
UpdateData(false);
uj5u.com熱心網友回復:
似乎有點明白你的意思了。
你另外添加很多編輯框?
編輯框的數量總是有限的吧?如果填滿了怎么辦?只保留最新的幾個?
如果是這樣,那么可以參考以下代碼:
m_editArray[100] = {}; // 視窗初始化的時候,初始化編輯框陣列,比如說你有100個
for(int i=99; i>0; i--) { //逐個替換掉舊的內容
m_editArray[i] = m_editArray[i-1];
}
m_editArray[0] = str; //最新的內容
uj5u.com熱心網友回復:
怎么把這下陣列的內容賦給編輯框,并顯示啊,我是小白一枚
uj5u.com熱心網友回復:
m_EditReceive += str; // 接收到編輯框里面
for_each(m_OtherEditsText)
m_OtherEditsText += str;
//SetTimer(1,10,NULL); //延時10ms
UpdateData(false);
沒看懂..
uj5u.com熱心網友回復:

圖如上
uj5u.com熱心網友回復:
一言難盡,聯系我
uj5u.com熱心網友回復:
mfc,vc串口資料,現在我已經用串口接收到資料并顯示了,然后我想把這些資料既顯示在一個接收框中,也同時一個個顯示在多個編輯框中。請問怎么添加程式,求大神!萬分感激,下面是我原來的串口程式
if (m_mscom.get_CommEvent() == 2)
{
char str[1024] = { 0 };
long k;
VARIANT InputData = m_mscom.get_Input(); //讀緩沖區
COleSafeArray fs;
fs = InputData; //VARIANT型變à量轉換為COleSafeArray型變數
for (k = 0; k<fs.GetOneDimSize(); k++)
fs.GetElement(&k, str + k); //轉換為BYTE型陣列
m_EditReceive += str; // 接收到編輯框里面
//SetTimer(1,10,NULL); //延時10ms
UpdateData(false);
}
似乎有點明白你的意思了。
你另外添加很多編輯框?
編輯框的數量總是有限的吧?如果填滿了怎么辦?只保留最新的幾個?
如果是這樣,那么可以參考以下代碼:
m_editArray[100] = {}; // 視窗初始化的時候,初始化編輯框陣列,比如說你有100個
for(int i=99; i>0; i--) { //逐個替換掉舊的內容
m_editArray[i] = m_editArray[i-1];
}
m_editArray[0] = str; //最新的內容
怎么把這下陣列的內容賦給編輯框,并顯示啊,我是小白一枚
給每個編輯框建立一個變數,這個會吧?
然后,建立一個編輯框指標陣列;
將每個編輯框的指標存放到陣列里面。
然后用我代碼的那塊原理就可以了。
要注意的地方:
編輯框變數,是Control型的還是,CString型別的?
Control型別的需要用GetText,SetText來設定內容。
CString型別的直接賦值就好了。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/127697.html
標籤:基礎類
