📄 add_3d_text.shtml
字号:
<html><!-- Header information--><head><meta HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1"><meta NAME="Author" CONTENT="Robbert E. Peters"><title>PropertySheet - Placing a 3D Logo Text In the PropertySheet Button Area</title></head><body background="/fancyhome/back.gif" bgcolor="#FFFFFF"><table WIDTH="100%"><tr WIDTH="100%"><td align=center><!--#exec cgi="/cgi/ads.cgi"--><td></tr></table><CENTER><H3><FONT COLOR="#AOAO99">Placing a 3D Logo Text In the PropertySheet Button Area</FONT></H3></CENTER><HR><!-- Author and contact details -->This article was contributed by <A HREF="mailto:nikolay@citilink.com">Nikolay Sokratov</A>.<p>I read Jeremy Davis's article named "Placing a bitmap in the PropertySheet buttonarea" and liked the idea a lot, <br>but when I tried to implement it I found one small thing, bitmap can not change color ifbackground color is not ( for example) gray.</p><p>So I made my own program which displays 3d text in PropertySheet button area.</p><p><img src="add_3d_text1.jpg" width="515" height="51" alt="sample1.jpg (5019 bytes)"></p><p><img src="add_3d_text2.jpg" width="514" height="57" alt="sample2.jpg (4809 bytes)"><br></p><p>Here how it's done.<tt><font COLOR="#990000"></p><p>void CPropertySheetWithLogoDlg::OnPaint() <br>{<br> CPaintDC dc(this); // device context for painting<br> <br> if(m_LogoText.IsEmpty())<br> return;<br><br> CRect rectTabCtrl;<br> GetTabControl()->GetWindowRect(rectTabCtrl);<br> ScreenToClient(rectTabCtrl);<br><br> CRect rectOk;<br> GetDlgItem(IDOK)->GetWindowRect(rectOk);<br> ScreenToClient(rectOk);<br><br> dc.SetBkMode(TRANSPARENT);<br><br> CRect rectText;<br> rectText.left = rectTabCtrl.left;<br> rectText.top = rectOk.top;<br> rectText.bottom = rectOk.bottom;<br> rectText.right = rectOk.left;<br><br> CFont * OldFont = dc.SelectObject(&m_fontLogo);<br><br> // draw text in DC<br> COLORREF OldColor = dc.SetTextColor( ::GetSysColor( COLOR_3DHILIGHT));<br><br> dc.DrawText( m_LogoText, rectText + CPoint(1,1), DT_SINGLELINE |DT_LEFT | DT_VCENTER);<br> dc.SetTextColor( ::GetSysColor( COLOR_3DSHADOW));<br> dc.DrawText( m_LogoText, rectText, DT_SINGLELINE | DT_LEFT |DT_VCENTER);<br><br> // restore old text color<br> dc.SetTextColor( OldColor);<br> // restore old font<br> dc.SelectObject(OldFont);<br> <br> // Do not call CPropertySheet::OnPaint() for painting messages<br>}. </p></font></tt><p>You can play with different combination of DrawText functions and make any appearanceof the Text</p><p><a HREF="add_3d_text.zip">Download Source Code and Example</a> </p><p>Date Posted: 05/09/98<P><HR><TABLE BORDER=0 WIDTH="100%"><TR><TD WIDTH="33%"><FONT SIZE=-1><A HREF="http://www.codeguru.com">Goto HomePage</A></FONT></TD><TD WIDTH="33%"><CENTER><FONT SIZE=-2>© 1998 Zafir Anjum</FONT> </CENTER></TD><TD WIDTH="34%"><DIV ALIGN=right><FONT SIZE=-1>Contact me: <A HREF="mailto:zafir@home.com">zafir@home.com</A> </FONT></DIV></TD></TR></TABLE></BODY></HTML>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -