注册 登录
编程论坛 VC++/MFC

Picture控件使用

yinlb1987 发布于 2008-04-13 12:52, 3426 次点击
void CTestOScopeDlg::SetPictureUnit(const CString str)
{
    //force the control to redraw
    GetDlgItem(IDC_UNIT_1)->Invalidate();

    CPaintDC dcPictureUnit1(GetDlgItem(IDC_UNIT_1));
    dcPictureUnit1.TextOut(0,0,str);
}

这个函数想实现给Picture控件显示字符串,但出现了个问题。
如当str="fsdfsdfsdf",可以显示出来,但当我改变str="abc"时,只改变了前三个字母,后面的没有变化,显示为"abcfsdfsdf",照说应该显示为"abc",在显示之前我也让它重画了,望各位多加指点。
5 回复
#2
余来2008-04-13 15:34
控件大小少了吧,把控件拉大点
#3
yinlb19872008-04-13 22:27
这个和控件大小应该没什么关系吧,不然开始那个长的字符串怎么显示出来呢?
#4
余来2008-04-14 12:23
需要调用父窗口的局部刷新Picture控件位置
CRect rect;
GetDlgItem(IDC_PICTURE)->GetWindowRect(&rect);
ScreenToClient(&rect);

InvalidateRect(&rect);

///再接着TextOut字符串
#5
vfdff2008-04-15 00:27
只要在案件上假上图片就可以了
#6
y5153822012-08-16 16:04
bbbb
1