mfc picture control画十字线
时间: 2023-08-03 15:04:42 浏览: 75
要在 MFC 的 Picture Control 控件上画十字线,可以使用 CDC::MoveToEx() 和 CDC::LineTo() 函数来绘制直线。下面是一个简单的示例代码,可以画出一个红色的十字线:
```C++
void CPictureCtrl::DrawCross()
{
CRect rc;
GetClientRect(&rc);
// 获取控件的中心点
int cx = rc.Width() / 2;
int cy = rc.Height() / 2;
// 获取绘图设备
CDC* pDC = GetDC();
// 创建红色画笔
CPen pen(PS_SOLID, 1, RGB(255, 0, 0));
CPen* pOldPen = pDC->SelectObject(&pen);
// 画横线
pDC->MoveTo(0, cy);
pDC->LineTo(rc.right, cy);
// 画竖线
pDC->MoveTo(cx, 0);
pDC->LineTo(cx, rc.bottom);
// 恢复原来的画笔
pDC->SelectObject(pOldPen);
// 释放绘图设备
ReleaseDC(pDC);
}
```
在这个示例代码中,我们首先获取了 Picture Control 控件的客户区大小,并计算出控件的中心点坐标。然后,我们获取了绘图设备,创建了一个红色的画笔,并使用 CDC::MoveTo() 和 CDC::LineTo() 函数画出横线和竖线。最后,我们释放了绘图设备。
你可以将这个函数放在 Picture Control 控件的 OnPaint() 函数中调用,或者在需要的时候手动调用。
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)