工控编程吧
标题:
上位机MFC如何选择预定义的GDI对象
[打印本页]
作者:
qq263946146
时间:
2019-7-31 09:49
标题:
上位机MFC如何选择预定义的GDI对象
创建工程后,程序内都会默认有一个函数供我们绘制窗口界面 。这个函数是OnPaint或OnDraw.
要创建基于对话框工程量,会带有OnPaint函数。
我们可以在函数内通过GDI对话绘制一些内容到界面上。
例如:
void CGkbc8Dlg::OnPaint()
{
if (IsIconic())
{
CPaintDC dc(this); // device context for painting
SendMessage(WM_ICONERASEBKGND, (WPARAM) dc.GetSafeHdc(), 0);
// Center icon in client rectangle
int cxIcon = GetSystemMetrics(SM_CXICON);
int cyIcon = GetSystemMetrics(SM_CYICON);
CRect rect;
GetClientRect(&rect);
int x = (rect.Width() - cxIcon + 1) / 2;
int y = (rect.Height() - cyIcon + 1) / 2;
// Draw the icon
dc.DrawIcon(x, y, m_hIcon);
}
else
{
CPaintDC dc(this);
//选择画刷
dc.SelectStockObject(GRAY_BRUSH);
//选择画笔
dc.SelectStockObject(BLACK_PEN);
//选择字体
dc.SelectStockObject(ANSI_FIXED_FONT);
CRect rect(0, 0, 100, 100);
//设置背景模式
dc.SetBkMode(TRANSPARENT);
//绘制椭圆
dc.Ellipse(rect);
//输出文本
dc.TextOut(rect.right, rect.bottom, _T("Hello World!"));
CDialog::OnPaint();
}
}
复制代码
欢迎光临 工控编程吧 (https://www.gkbc8.com/)
Powered by Discuz! X3.4