颜色按钮、字体下拉框、字号下拉框及使用说明

 

以下涉及到的.h和.cpp文件在金山快盘的"我的资料\MFC\颜色按钮字体字号及说明 "中

1.颜色按钮

/*1.将ColorButton/ColorPopup的.h和.cpp文件复制到工程目录下,添加到类目录
 *2.在对话框中添加button,并添加变量CColorButton m_btnFontClr;
 *3.在OnInitDialog()中初始化button显示的颜色  m_btnFontClr.Color = m_clrCurField;
 *4.要取到当前颜色按钮的颜色值,建立一个COLORREF m_clrCurField 变量
 * m_clrCurField   = m_btnFontClr.Color;即可
 *
 *
 */

 2.字体下拉框

/*1.将fontsy/FontPreviwCombo/FontPreviewCombo三个.h和.cpp文件复制到工程目录下
 *2.头文件及cpp文件如下所示
 *3.在对话框中添加combox,并添加绑定的控件变量m_cb_FontName和CString类型的变量m_szFont
 *4.在OnInitDialog()中进行初始化.
 *5.程序中用到当前字体时,先UpdateData(),m_szFont就是选择的字体字符串.
 */
//.h
#include "FontPreviewCombo.h"
CFontPreviewCombo m_cb_FontName;

//.cpp

BOOL CFormatSetDlg::OnInitDialog()
{
 //字体名称
 m_cb_FontName.m_style = CFontPreviewCombo::NAME_ONLY;
 m_cb_FontName.Init();
 m_cb_FontName.SetCurSel(200);
 m_cb_FontName.Invalidate();
        //...其他内容
}


3.字号下拉框

/*1.在对话框添加下拉框,并绑定变量CComboBox m_cb_fontSize和CString m_szFontSize
 *2.类添加变量int m_nFontSize
 *3.类添加函数void GetSizeList()和SetFontSizeShow(int nSize)
 *4.使用方法:在Dlg的OnInit()中
 *      //字体大小
 * GetSizeList();//初始化字号列表
 * SetFontSizeShow(m_nFontSize);//
 *5.在程序中单击下拉框
 * UpdateData();
 * int nSize = _ttoi(m_szFontSize.GetBuffer(0));
 * if (nSize<=0) nSize = 8;
 * m_nFontSize = nSize;
 *
 */
//.h
void GetSizeList();   //初始化字体大小表
void SetFontSizeShow(int nSize);//设置字体大小
int m_nFontSize;
CString m_szFontSize;//与combox绑定
CComboBox m_cb_fontSize;//对话框添加字号下拉框按钮并生成变量
//.cpp
void CImpInfoTypeDlg::SetFontSizeShow(int nSize)
{
 //设置字体大小
 CString ch;
 ch.Format(_T("%d"),nSize);

 CString str;
 for(int i = 0 ; i < m_cb_fontSize.GetCount() ; i++)
 {
  m_cb_fontSize.GetLBText(i , str);
  if(ch == str)
  {
   m_cb_fontSize.SetCurSel(i);
   m_cb_fontSize.Invalidate();
   return;
  }
 }
 //如果没有选中任何一个字号则默认第一个
 m_cb_fontSize.SetCurSel(0);

 //SetDlgItemInt(IDC_CB_FONTSIZE,nSize);
 //OnCbnSelchangeCbFontsize();
}

void CImpInfoTypeDlg::GetSizeList()
{
 //初始化字体大小表
 static int nFontSizes[] = {8,9,10,11,12,14,16,18,20,22,24,28,32,36,40,48,56,64,80,96,128};

 int length = sizeof(nFontSizes)/sizeof(nFontSizes[0]);
 for(int i = 0 ; i < length ; i++)
 {
  CString   string;  
  string.Format(L"%d",nFontSizes[i]);
  m_cb_fontSize.AddString(string);
 }
}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

zhang11wu4

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值