当前位置: 首页 > 工具软件 > Glossy Button > 使用案例 >

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

丁安宜
2023-12-01

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

  1. void CNewButton::PreSubclassWindow() 
  2. {
  3.  ModifyStyle( 0 , BS_OWNERDRAW   );
  4.  CButton::PreSubclassWindow();
  5. }
  6. void CNewButton::DrawItem(LPDRAWITEMSTRUCT lpDrawItemStruct) 
  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. }

 

 

 类似资料: