用vc++6.0如何实现画点、画线、画圆,望给个代码。
展开全部
以下方法可在MFC和控制台中都可以实现:
1.HDC hdc = GetDC(HWND hWnd); 获得设备上下文的客户区一个指定的窗口或整个屏幕
eg:如果是在窗口类中可以:
HDC hdc = GetDC(this->m_hWnd);
2.在窗口区画点。
SetPixel(
hdc,
x, // 横坐标
y , // 纵坐标
RGB(100,100,100)); //点的颜色。
3. 画线
MoveToEx(
HDC hdc,
int X, // 横坐标
int Y, // 纵坐标
LPPOINT lpPoint //保存先前的点的位置,在这里你可以直接写NULL.
)
LineTo(
HDC hdc, // device context handle
int nXEnd, // x-coordinate of line's ending point
int nYEnd // y-coordinate of line's ending point
);
4.画圆
函数:
Ellipse(
HDC hdc, // handle to device context
int nLeftRect, // x-coord of bounding rectangle's upper-left corner
int nTopRect, // y-coord of bounding rectangle's upper-left corner
int nRightRect, // x-coord of bounding rectangle's lower-right corner
int nBottomRect // y-coord of bounding rectangle's lower-right corner
);
eg :Ellipse(hdc,0,0,100,100);
1.HDC hdc = GetDC(HWND hWnd); 获得设备上下文的客户区一个指定的窗口或整个屏幕
eg:如果是在窗口类中可以:
HDC hdc = GetDC(this->m_hWnd);
2.在窗口区画点。
SetPixel(
hdc,
x, // 横坐标
y , // 纵坐标
RGB(100,100,100)); //点的颜色。
3. 画线
MoveToEx(
HDC hdc,
int X, // 横坐标
int Y, // 纵坐标
LPPOINT lpPoint //保存先前的点的位置,在这里你可以直接写NULL.
)
LineTo(
HDC hdc, // device context handle
int nXEnd, // x-coordinate of line's ending point
int nYEnd // y-coordinate of line's ending point
);
4.画圆
函数:
Ellipse(
HDC hdc, // handle to device context
int nLeftRect, // x-coord of bounding rectangle's upper-left corner
int nTopRect, // y-coord of bounding rectangle's upper-left corner
int nRightRect, // x-coord of bounding rectangle's lower-right corner
int nBottomRect // y-coord of bounding rectangle's lower-right corner
);
eg :Ellipse(hdc,0,0,100,100);
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询