用Microsoft Visal c++绘制一个圆形
时间: 2024-01-21 13:03:59 浏览: 98
MFC 绘制一个圆形时钟
可以使用MFC(Microsoft Foundation Class)库中的CDC类来实现绘制圆形。下面是一个简单的示例:
```cpp
#include <afxwin.h> // 包含MFC类库头文件
class CMyFrameWnd : public CFrameWnd
{
public:
CMyFrameWnd()
{
// 设置窗口标题
CString str = "绘制圆形";
SetWindowText(str);
// 设置窗口大小
SetWindowPos(NULL, 0, 0, 500, 500, SWP_NOMOVE | SWP_NOZORDER | SWP_SHOWWINDOW);
}
afx_msg void OnPaint()
{
CPaintDC dc(this); // 创建绘图设备上下文
// 设置画笔
CBrush brush(RGB(255, 0, 0)); // 红色画刷
CPen pen(PS_SOLID, 1, RGB(0, 0, 255)); // 蓝色实线画笔
dc.SelectObject(&brush);
dc.SelectObject(&pen);
// 绘制圆形
CRect rect(100, 100, 400, 400); // 定义圆形区域
dc.Ellipse(rect); // 绘制圆形
}
DECLARE_MESSAGE_MAP()
};
BEGIN_MESSAGE_MAP(CMyFrameWnd, CFrameWnd)
ON_WM_PAINT()
END_MESSAGE_MAP()
class CMyApp : public CWinApp
{
public:
BOOL InitInstance()
{
CMyFrameWnd* pFrameWnd = new CMyFrameWnd(); // 创建主窗口
pFrameWnd->Create(NULL, "绘制圆形", WS_OVERLAPPEDWINDOW, CRect(0, 0, 500, 500)); // 创建主窗口
pFrameWnd->ShowWindow(SW_SHOW); // 显示主窗口
pFrameWnd->UpdateWindow(); // 更新主窗口
return TRUE;
}
};
CMyApp theApp; // 定义应用程序对象
```
在上面的示例中,我们创建了一个自定义的窗口类CMyFrameWnd,并在其中实现了OnPaint消息处理函数,用于绘制圆形。在应用程序的InitInstance函数中,我们创建了一个主窗口对象,并显示出来。
编译运行上述代码,即可在窗口中绘制一个红色的圆形。
阅读全文