MFC - Edit 垂直滚动条一直处于最下端

 1 /*【Edit控件】
 2     一、换行:
 3             <1>. 将控件的属性设置为Mutilines->true;
 4             <2>. 将控件的另一个属性设置为Want return->true.
 5             <3>. 水平滚动条,控件属性设置为:Horizontal Scroll->TRUE
 6             <4>. 垂直滚动条,控件属性设置为:Vertical Scroll->TRUE
 7             <5>. 输出字符串换行符是 "\r\n" 而不是"\n".
 8             <6>. 通过UpdateData更新控件窗口内容中的换行
 9 
10     二、垂直滚动条一直处于底部
11             CEdit *pEdit = (CEdit*)GetDlgItem(IDC_EDIT1);
12 
13             // 方法1:
14             //pEdit->LineScroll(pEdit->GetLineCount());
15 
16             // 方法2:
17             pEdit->PostMessage(WM_VSCROLL, SB_BOTTOM, 0);
18 */
19 
20 
21 // 实现自定义消息
22 LRESULT CThread_MutexDlg::OnMyMsgEditShow(WPARAM wParam, LPARAM lParam)
23 {
24     
25     CString strTemp = _T("\0");
26     strTemp.Format(_T("%d\r\n"), (int)wParam);
27     m_EditValue += strTemp;
28 
29     // 更新数据到Edit
30     UpdateData(FALSE);
31 
32     // Edit的垂直滚动条一直处于底部
33     CEdit *pEdit = (CEdit*)GetDlgItem(IDC_EDIT1);
34 
35     // 方法1:
36     //pEdit->LineScroll(pEdit->GetLineCount());
37 
38     // 方法2: 
39     pEdit->PostMessage(WM_VSCROLL, SB_BOTTOM, 0);
40 
41     return 0;
42 }
43 
44 
45 void CThread_MutexDlg::OnBnClickedBtnCreate()
46 {
47     ::SendMessage(AfxGetMainWnd()->m_hWnd, MY_MSG_EDIT_SHOW, (WPARAM)1111, NULL);
48 }

 

posted @ 2016-04-23 11:38  C/C++/Python/Java  阅读(1261)  评论(0编辑  收藏  举报