工控编程吧

标题: 上位机MFC如何在对话框中显示文本 [打印本页]

作者: qq263946146    时间: 2019-7-21 13:33
标题: 上位机MFC如何在对话框中显示文本
文本的显示,可以直接使用静态文本控件。
也可以使用设备上下文本实现。
这里介绍使用第二种方法
对话框程序默认有一个OnPaint函数,主要实现在窗口中绘制内容。

  1. void CDemoDlg::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.                 //获得客户区大小
  20.                 CRect rect;
  21.                 GetClientRect(rect);

  22.                 CPaintDC dc(this);

  23.                 //设置背景模式
  24.                 dc.SetBkMode(TRANSPARENT);

  25.                 //设置文本对齐方式
  26.                 dc.SetTextAlign(TA_CENTER | TA_BASELINE);
  27.        
  28.                 //输出文本
  29.                 dc.TextOut(rect.Width() / 2, rect.Height() / 2, _T("工控编程吧gkbc8.com"));
  30.        
  31.                 CDialog::OnPaint();
  32.         }
  33. }
复制代码
添加到自己工程中,运行程序,可以看到我们在界面中间位置输出了文本工控编程吧gkbc8.com





欢迎光临 工控编程吧 (https://www.gkbc8.com/) Powered by Discuz! X3.4