以下涉及到的.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);
}
}