WEB开发网
开发学院软件开发VC 如何在ActiveX控件中使用字体 阅读

如何在ActiveX控件中使用字体

 2008-02-26 20:27:03 来源:WEB开发网   
核心提示:修改OnDraw函数修改后的OnDraw函数如下:void CLabelCtrl::OnDraw( CDC* pdc, const CRect& rcBounds, const CRect& rcInvalid ){// TODO: Replace the following code with your own dr

修改OnDraw函数

修改后的OnDraw函数如下:

void CLabelCtrl::OnDraw( CDC* pdc, const CRect& rcBounds, const CRect& rcInvalid )
{
  // TODO: Replace the following code with your own drawing code.
  COLORREF colorBack=TranslateColor(GetBackColor());
  COLORREF colorFore=TranslateColor(GetForeColor());
   // GetBackColor(),GetForeColor()分别得到背景色和前景色
   // GetBackColor(),GetForeColor()返回类型为OLE_COLOR
   // TranslateColor函数将OLE_COLOR类型转换为COLORREF类型
  CBrush brush(colorBack);
  pdc->FillRect(rcBounds, &brush);
   //背景色填充整个控件
  pdc->SetBkMode(TRANSPARENT);
   //设置透明背景色
  pdc->SetTextColor(colorFore);
   //前景色设置为字体颜色
  const CString& strCaption = InternalGetText();
   //获得库存属性Caption的值
  CFont* pOldFont;
  pOldFont = SelectStockFont(pdc);
   //设备上下文中选择字体对象
  RECT rect;
  ::CopyRect(&rect,rcBounds);
  pdc->DrawText(strCaption,&rect,DT_SINGLELINE|DT_CENTER|DT_VCENTER);
   //单行,水平居中,垂直居中显示
  pdc->SelectObject(pOldFont);
}

Label控件的制作已经完成了,您可以方便地改变字体的大小、类型、颜色以及控件的背景色。当然,您还可以进一步完善该控件,更加方便您的使用。

上一页  1 2 3 4 5 6 7 8 9  下一页

Tags:如何 ActiveX 控件

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接