QQ登录

只需一步,快速开始

上位机MFC如何选择预定义的GDI对象

[ 复制链接 ]
创建工程后,程序内都会默认有一个函数供我们绘制窗口界面 。这个函数是OnPaint或OnDraw.
要创建基于对话框工程量,会带有OnPaint函数。
我们可以在函数内通过GDI对话绘制一些内容到界面上。
例如:

  1. void CGkbc8Dlg::OnPaint()
  2. {
  3.         if (IsIconic())
  4.         {
  5.                 CPaintDC dc(this); // device context for painting

  6.                 SendMessage(WM_ICONERASEBKGND, (WPARAM) dc.GetSafeHdc(), 0);

  7.                 // Center icon in client rectangle
  8.                 int cxIcon = GetSystemMetrics(SM_CXICON);
  9.                 int cyIcon = GetSystemMetrics(SM_CYICON);
  10.                 CRect rect;
  11.                 GetClientRect(&rect);
  12.                 int x = (rect.Width() - cxIcon + 1) / 2;
  13.                 int y = (rect.Height() - cyIcon + 1) / 2;

  14.                 // Draw the icon
  15.                 dc.DrawIcon(x, y, m_hIcon);


  16.         }
  17.         else
  18.         {
  19.                 CPaintDC dc(this);
  20.                 //选择画刷
  21.         dc.SelectStockObject(GRAY_BRUSH);
  22.         //选择画笔
  23.         dc.SelectStockObject(BLACK_PEN);
  24.         //选择字体
  25.         dc.SelectStockObject(ANSI_FIXED_FONT);

  26.         CRect rect(0, 0, 100, 100);

  27.         //设置背景模式
  28.         dc.SetBkMode(TRANSPARENT);

  29.         //绘制椭圆
  30.         dc.Ellipse(rect);
  31.        
  32.         //输出文本
  33.         dc.TextOut(rect.right, rect.bottom, _T("Hello World!"));

  34.                 CDialog::OnPaint();
  35.         }


  36. }
复制代码


回复

使用道具 举报

快速回复 返回列表 客服中心 搜索