阅读:1551回复:5
有关MFC问题
我在.NET的VC++的MFC中用Edit控件建立了一个框,想在上面显示多行信息,我用TextOut()函数输出,但是这里的hdc怎么样得到?我用GetDC(),总是报错说:不能从CDC*转到HDC?
|
|
沙发#
发布于:2004-12-29 08:29
如果在窗口类里使用类的成员函数
//CDC* pDC=GetDC(); 直接使用 TextOut(x,y,"textout"); 如果使用SDK的API函数 HDC hDC=::GetDC(h_Wnd,IDC_EDIT1); ::TextOut(hDC,x,y,"textout"); |
|
|
板凳#
发布于:2004-12-29 12:08
搞这么麻烦干什么,让Edit控件对应一个CString 变量多省事
|
|
地板#
发布于:2005-01-04 13:26
((CEdit *)GetDlgItem(IDC_EDIT1))->SetWindowText("hello\nworld!");
IDC_EDIT1为你编辑框的ID,SetWindowText也可能是SetWindowsText |
|
地下室#
发布于:2005-01-04 18:06
CWnd *pWnd = GetDlgItem( IDC_EDIT1 );
ASSERT( NULL != pWnd ); CDC *pDC = pWnd->GetDC(); ASSERT( NULL != pDC ); //使用 pDC 也可以在控件中绘画 pDC->TextOut( x, y, "you text" ); pWnd->ReleaseDC( pDC ); pDC = NULL; pWnd= NULL; GetDlgItem 可以获取对话框上任何控件窗口句柄 pWnd->SetWindowText( "you text" ); 也是可以的 但一般使用 CString 变量关联来实现 |
|
5楼#
发布于:2005-01-04 21:13
首先,修改EDIT的属性,又一项richEdit,选中。
其次,ctrl+w,将EDIT映射为变量; 最后,适当用UpdateData(true)或UpdateData(false) |
|