骗子死全家 发表于 2014-10-19 16:12:01

对话框怎么用TextOut 来输出文字

file:///C:\Documents and Settings\Administrator\Application Data\Tencent\Users\416444845\QQ\WinTemp\RichOle\]@1MHUG4`)8KS1_L[}HV~AA.png图1 使用了textout 输出字符串就像图2那样显示要怎么做呢

仰望天上的光 发表于 2014-10-19 16:24:29

响应WNPAINT消息,用BEGINPAINT获取HDC,然后TEXTOUT

骗子死全家 发表于 2014-10-19 16:58:38

本帖最后由 骗子死全家 于 2014-10-19 17:15 编辑

仰望天上的光 发表于 2014-10-19 16:24
响应WNPAINT消息,用BEGINPAINT获取HDC,然后TEXTOUT
void CMyDlg::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
                HDC hDC;
                PAINTSTRUCT ps;
                dc.DrawIcon(x, y, m_hIcon);
                CFont font;
                font.CreatePointFont(300,"华文行楷");
                CFont* pOldFont;
                pOldFont=dc.SelectObject(&font);

      
                hDC=::BeginPaint((HWND)GetParent(),&ps);
                ::TextOut(hDC,100,100,"asd",3);

                ::EndPaint((HWND)GetParent(),&ps);
                dc.SelectObject(pOldFont);
      }
      else
      {
                CDialog::OnPaint();
      }
}

还是没反应

骗子死全家 发表于 2014-10-19 19:10:35

好无奈啊{:1_1:}:sad:sad:sad:sad

仰望天上的光 发表于 2014-10-19 21:19:12

骗子死全家 发表于 2014-10-19 16:58
void CMyDlg::OnPaint()
{
      if (IsIconic())


if (IsIconic())的意思是如果该对话框是最小化的。。。就。。。
你应该把 if (IsIconic())
改为
if (!IsIconic())

骗子死全家 发表于 2014-10-20 08:42:46

仰望天上的光 发表于 2014-10-19 21:19
if (IsIconic())的意思是如果该对话框是最小化的。。。就。。。
你应该把 if (IsIconic())
改为


谢谢

大个的糖果 发表于 2014-10-30 15:52:27

页: [1]
查看完整版本: 对话框怎么用TextOut 来输出文字