Click here to Skip to main content
Rate this: bad
good
Please Sign up or sign in to vote.
See more: VC6
Now,I can make the string rolling in the dialog of vc, but the problem is that it can't show very perfectly,when it rolling from the bottom to the top,where it rolling, a long line would following, the code is in function OnTimer(),a fraction of code as follows:
	m_nWidth+=5;            //defined in class
	CClientDC dc(this);
	TEXTMETRIC tm;
	dc.GetTextMetrics(&tm);
	CRect rect;
	rect.left=0;
	rect.top=200;
	rect.right=m_nWidth;
	rect.bottom=rect.top+tm.tmHeight;
	
	dc.SetTextColor(RGB(0,255,0));
	dc.SetBkColor(RGB(240,240,240));
	CString str;
	str.LoadString(IDS_STRING);
	
	rect.top=150;
	rect.bottom=rect.top+tm.tmHeight;
	dc.DrawText(str,rect,DT_RIGHT);
 
	CSize sz=dc.GetTextExtent(str);
    if(m_nWidth==sz.cx)
	{
		m_nWidth-=5;
		a--;
		if(a==-tm.tmHeight)
			a=150;
		rect.top=a;
		rect.bottom=a+tm.tmHeight;
		dc.DrawText(str,rect,DT_BOTTOM|DT_SINGLELINE);
	}
    CDialog::OnTimer(nIDEvent);
maybe help you understand me clearly,as follows is my question link: http://topic.csdn.net/u/20111125/12/52e25e41-24ce-487e-90ca-b6cab574af59.html[^]
Posted 2-Dec-11 23:41pm
MSTzhao375
Comments
johny10151981 at 3-Dec-11 8:05am
   
I didnt do much work with this thing, but I am asking how about drawing the text OnPaint, but set the position in the ontimer as usual
MSTzhao at 3-Dec-11 20:57pm
   
I have tested it,but it seems useless.

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

  Print Answers RSS
Your Filters
Interested
Ignored
     
0 Sergey Alexandrovich Kryukov 387
1 OriginalGriff 235
2 thatraja 220
3 Emre Ataseven 180
4 CPallini 135
0 Sergey Alexandrovich Kryukov 8,849
1 OriginalGriff 5,035
2 Peter Leow 3,949
3 Maciej Los 3,535
4 Abhinav S 3,148


Advertise | Privacy | Mobile
Web03 | 2.8.140415.2 | Last Updated 3 Dec 2011
Copyright © CodeProject, 1999-2014
All Rights Reserved. Terms of Use
Layout: fixed | fluid