windchen
驱动牛犊
驱动牛犊
  • 注册日期2004-08-11
  • 最后登录2010-01-14
  • 粉丝0
  • 关注0
  • 积分3分
  • 威望11点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1551回复:5

有关MFC问题

楼主#
更多 发布于:2004-12-28 15:37
我在.NET的VC++的MFC中用Edit控件建立了一个框,想在上面显示多行信息,我用TextOut()函数输出,但是这里的hdc怎么样得到?我用GetDC(),总是报错说:不能从CDC*转到HDC?
snowStart
驱动老牛
驱动老牛
  • 注册日期2004-04-06
  • 最后登录2011-06-02
  • 粉丝0
  • 关注0
  • 积分95分
  • 威望19点
  • 贡献值177点
  • 好评度1点
  • 原创分0分
  • 专家分0分
沙发#
发布于: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");
学习,关注,交流中... [email=fengyu@163.com]Email:snowstarth@163.com[/email] [url]http://bbs.zndev.com/?a=snowStart[/url]
s_6666_s_qd
驱动巨牛
驱动巨牛
  • 注册日期2004-08-14
  • 最后登录2006-07-11
  • 粉丝0
  • 关注0
  • 积分199分
  • 威望22点
  • 贡献值0点
  • 好评度14点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2004-12-29 12:08
搞这么麻烦干什么,让Edit控件对应一个CString 变量多省事
powerdragon
驱动牛犊
驱动牛犊
  • 注册日期2004-12-26
  • 最后登录2007-07-30
  • 粉丝0
  • 关注0
  • 积分30分
  • 威望3点
  • 贡献值0点
  • 好评度3点
  • 原创分0分
  • 专家分0分
地板#
发布于:2005-01-04 13:26
((CEdit *)GetDlgItem(IDC_EDIT1))->SetWindowText("hello\nworld!");
IDC_EDIT1为你编辑框的ID,SetWindowText也可能是SetWindowsText
xx_focus
驱动中牛
驱动中牛
  • 注册日期2003-08-06
  • 最后登录2007-06-08
  • 粉丝0
  • 关注0
  • 积分96分
  • 威望10点
  • 贡献值0点
  • 好评度8点
  • 原创分0分
  • 专家分0分
地下室#
发布于: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 变量关联来实现
Gong_XG
驱动太牛
驱动太牛
  • 注册日期2002-10-01
  • 最后登录2010-11-25
  • 粉丝0
  • 关注0
  • 积分313分
  • 威望46点
  • 贡献值0点
  • 好评度4点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2005-01-04 21:13
首先,修改EDIT的属性,又一项richEdit,选中。
其次,ctrl+w,将EDIT映射为变量;
最后,适当用UpdateData(true)或UpdateData(false)
游客

返回顶部