设置button按钮背景色,及字体的颜色

新建一个对话框工程,在对话框中添加一个按钮,然后,从button类继承一个子类 CNewButton, 重载 PreSubclassWindow,修改按钮的属性 ModifyStyle( 0 , BS_OWNERDRAW );,告诉系统,用户手绘按钮; 然后再重载DrawItem,在这里边修改按钮的背景色,字体的颜色,修改lpDrawItemStruct参数的值,使用SetBkColor,设置按钮字体的颜色, SetTextColor设置字体的颜色, 使用FillRect可以填充按钮的背景色。设置完后,给对话框的按钮添加一个变量,基类就选择刚才创建的CNewButton

  1. voidCNewButton::PreSubclassWindow()
  2. {
  3. ModifyStyle(0,BS_OWNERDRAW);
  4. CButton::PreSubclassWindow();
  5. }
  6. voidCNewButton::DrawItem(LPDRAWITEMSTRUCTlpDrawItemStruct)
  7. {
  8. ::SetTextColor(lpDrawItemStruct->hDC,RGB(20,200,20));
  9. CDC::FromHandle(lpDrawItemStruct->hDC)->FillRect(&lpDrawItemStruct->rcItem,&CBrush(RGB(200,0,0)));
  10. DrawText(lpDrawItemStruct->hDC,"222",3,&lpDrawItemStruct->rcItem,DT_CENTER|DT_SINGLELINE|DT_VCENTER);
  11. }

你可能感兴趣的:(设置button按钮背景色,及字体的颜色)