想實作一個聊天的簡單功能,背景調成透明
HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
pDC->SetBkMode(TRANSPARENT);
hbr = (HBRUSH)GetStockObject(NULL_BRUSH);
然后重繪文字便開始重疊
以前也遇見過這種情況用下面的代碼解決的
CRect rect;
GetDlgItem(IDC_XXXX->GetWindowRect(rect);
ScreenToClient(rect);
InvalidateRect(rect);
m_xxx.SetSel(0, -1);
m_xxx.ReplaceSel(CString);
結果現在又沒有用了
上網找到了另外一串代碼也挺有用
GetDlgItem(IDC_XXXX)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_XXXXX)->SetWindowText(Cstring);
GetDlgItem(IDC_XXXX)->ShowWindow(SW_SHOW);
嗯。。。一開始是很有用的,直到文字一直發送刷到底部以后下拉條不主動下滑,我手動拉下去看了看,下面又開始重疊了,當我把下拉條上拉回去的時候,上面也開始重疊了!再次重繪就變好了
求大神幫忙
uj5u.com熱心網友回復:
看了半天沒搞懂你要干啥
uj5u.com熱心網友回復:
就是還有沒有別的辦法讓文字不重疊啊。。。uj5u.com熱心網友回復:
"然后重繪文字便開始重疊"你把 背景擦除 洗掉了, 上次輸出的文字, 就擦除不了,就會重疊。
uj5u.com熱心網友回復:
LZ解決沒啊?我也遇到一樣的問題~~~正發愁,求解決方法啊~~~~!uj5u.com熱心網友回復:
GetDlgItem(IDC_XXXX)->ShowWindow(SW_HIDE);GetDlgItem(IDC_XXXXX)->SetWindowText(Cstring);
GetDlgItem(IDC_XXXX)->ShowWindow(SW_SHOW);
隱藏再顯示的方法,是可以解決資料重疊問題,但如果是實時更新資料會出現閃爍~
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/92539.html
標籤:界面
