⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 subject_43613.htm

📁 一些关于vc的问答
💻 HTM
字号:
<p>
序号:43613 发表者:hulala 发表日期:2003-06-12 15:26:10
<br>主题:请教各位的大虾:在对话框里放了一个静态控件,我要改变背景颜色,并画一些曲线,但是遇到问题,请指教一下。
<br>内容:在onpaint()中:<BR> CStatic *lpStatic=(CStatic*)GetDlgItem(IDC_STATIC_DRAW);<BR> CDC&nbsp;&nbsp; *lpdc=lpStatic-&gt;GetDC();<BR> lpdc-&gt;SetBkColor(RGB(255,255,255));<BR>×××××××这里没效果,对话框的静态控件部分还是灰的;××××××<BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;请大虾帮助!<BR><BR>下面画线,但是画了一大圈,只有静态控件外有蓝线,里面画不上。<BR> CPoint pointX(0,0);<BR> CPoint pointY(400,400);<BR> CPen newPen(PS_SOLID, 1, RGB(0,0,255));&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //蓝色<BR> CPen* pOldPen=lpdc-&gt;SelectObject(&amp;newPen);<BR> lpdc-&gt;MoveTo(pointX);//移到x的参考点;<BR> lpdc-&gt;LineTo(pointX.x,pointX.y+5);//向上画线<BR> lpdc-&gt;LineTo(pointY);<BR> lpdc-&gt;Rectangle(0,0,55,55);<BR> lpdc-&gt;MoveTo(0,0);<BR> lpdc-&gt;LineTo(25,25);<BR> lpdc-&gt;SelectObject(pOldPen);<BR> newPen.DeleteObject();//这一部分确定;<BR>
<br><a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p>
<hr size=1>
<blockquote><p>
<font color=red>答案被接受</font><br>回复者:极点 回复日期:2003-06-12 17:12:27
<br>内容:由于Dialog的OnPaint()调用结束时调用了CStatic缺省的OnPaint(),<BR>使得你的绘制操作在超出Dialog::OnPaint()后被CStatic::OnPaint()覆盖了,<BR>建议自己派生一个CStatic类如CMyStaitc,<BR>创建一个共有函数如void Paint()用于进行你需要的绘制,<BR>( 最好也重载CStatic的OnPaint()函数 )<BR>在你要绘制的静态控件的声明的地方改为<BR>&nbsp;&nbsp;CMyStatic *lpStatic=(CMyStatic *)GetDlgItem(IDC_STATIC_DRAW);<BR>在CDialog的其他地方(不要在CDialog::OnPaint())调用CMyStaticPaint()可以得到效果.
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -