mfc静态文本控件里实现画图
2017-04-24 13:38
232 查看
有时候,我们需要自绘一些图形,这时候就可以使用静态文本控件来实现绘图功能。
![](https://img-blog.csdn.net/20141108204415900?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdTAxMTYxOTQyMg==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
具体实现效果如上,
要实现以上功能,首先我们需要获取到控件窗口的句柄,并且设置绘制的范围
然后在实现画X,Y轴,刻度标尺等功能。
具体代码如下
void CMFCApplication5Dlg::OnBnClickedButton1()
{
// TODO: 在此添加控件通知处理程序代码
CWnd *pwnd = GetDlgItem(IDC_STATIC1);
CDC *pdc = pwnd->GetDC();
pwnd->Invalidate();
pwnd->UpdateWindow();
pdc->Rectangle(0, 0, 320, 320);
CPen *ppenRed = new CPen;
ppenRed->CreatePen(PS_SOLID, 2, RGB(255, 0, 0));
CGdiObject *pOldpen = pdc->SelectObject(ppenRed);
pdc->MoveTo(20, 20);
pdc->LineTo(20, 300);
pdc->LineTo(300, 300);
CString str;
str.Format(_T("0"));
pdc->SetTextColor(RGB(0 ,255, 0));
pdc->TextOutW(20, 303, str);
str.Format(_T("50"));
pdc->SetTextColor(RGB(0, 255, 0));
pdc->TextOutW(70, 303, str);
str.Format(_T("100"));
pdc->SetTextColor(RGB(0, 255, 0));
pdc->TextOutW(120, 303, str);<
4000
/span>
str.Format(_T("150"));
pdc->SetTextColor(RGB(0, 255, 0));
pdc->TextOutW(170, 303, str);
str.Format(_T("200"));
pdc->SetTextColor(RGB(0, 255, 0));
pdc->TextOutW(220, 303, str);
str.Format(_T("250"));
pdc->SetTextColor(RGB(0, 255, 0));
pdc->TextOutW(270, 303, str);
for (int i = 10; i < 300; i += 5){
if ((i & 1) == 0){
pdc->MoveTo(i + 10, 300);
pdc->LineTo(i + 10, 303);
}
else{
pdc->MoveTo(i + 10, 300);
pdc->LineTo(i + 10, 302);
}
}
}
具体实现效果如上,
要实现以上功能,首先我们需要获取到控件窗口的句柄,并且设置绘制的范围
然后在实现画X,Y轴,刻度标尺等功能。
具体代码如下
void CMFCApplication5Dlg::OnBnClickedButton1()
{
// TODO: 在此添加控件通知处理程序代码
CWnd *pwnd = GetDlgItem(IDC_STATIC1);
CDC *pdc = pwnd->GetDC();
pwnd->Invalidate();
pwnd->UpdateWindow();
pdc->Rectangle(0, 0, 320, 320);
CPen *ppenRed = new CPen;
ppenRed->CreatePen(PS_SOLID, 2, RGB(255, 0, 0));
CGdiObject *pOldpen = pdc->SelectObject(ppenRed);
pdc->MoveTo(20, 20);
pdc->LineTo(20, 300);
pdc->LineTo(300, 300);
CString str;
str.Format(_T("0"));
pdc->SetTextColor(RGB(0 ,255, 0));
pdc->TextOutW(20, 303, str);
str.Format(_T("50"));
pdc->SetTextColor(RGB(0, 255, 0));
pdc->TextOutW(70, 303, str);
str.Format(_T("100"));
pdc->SetTextColor(RGB(0, 255, 0));
pdc->TextOutW(120, 303, str);<
4000
/span>
str.Format(_T("150"));
pdc->SetTextColor(RGB(0, 255, 0));
pdc->TextOutW(170, 303, str);
str.Format(_T("200"));
pdc->SetTextColor(RGB(0, 255, 0));
pdc->TextOutW(220, 303, str);
str.Format(_T("250"));
pdc->SetTextColor(RGB(0, 255, 0));
pdc->TextOutW(270, 303, str);
for (int i = 10; i < 300; i += 5){
if ((i & 1) == 0){
pdc->MoveTo(i + 10, 300);
pdc->LineTo(i + 10, 303);
}
else{
pdc->MoveTo(i + 10, 300);
pdc->LineTo(i + 10, 302);
}
}
}
相关文章推荐
- 利用静态文本控件实现画图
- MFC静态文本控件设置超链接
- MFC小程序003------MFC使用WebBrowser组件,在对话框中创建滚动视图,动态创建一个静态文本控件并设置鼠标单击的消息响应
- MFC小程序003------MFC使用WebBrowser组件,在对话框中创建滚动视图,动态创建一个静态文本控件并设置鼠标单击的消息响应
- MFC对话框添加透明的静态文本控件
- MFC静态文本控件如何设置字体--大小和颜色及背景色
- MFC 在静态文本控件和picture控件上显示位图
- MFC-按钮与静态文本控件
- 用MFC实现静态文本超链接的方法 及静态文本颜色
- MFC 在静态文本控件和picture控件上显示位图
- MFC中修改静态文本控件的颜色和大小
- 用MFC实现静态文本超链接的方法
- MFC 可以设置背景色、字体、字体颜色、透明背景的 Static 静态文本控件
- MFC 在静态文本控件和picture控件上显示位图
- 用MFC实现静态文本超链接的方法 及静态文本颜色
- MFC 静态文本的自绘 空心字的实现
- VS2010中MFC利用TeeChart控件实现画图
- MFC中改变静态文本控件字体字号和颜色的方法
- MFC 对话框 里在获取静态文本框内部相对于静态文本控件的坐标
- 猎豹MFC--对话框 静态文本 编辑框 按钮 对话框 访问控件