1、添加行
m_ctrlListBox.AddString("第一行");
m_ctrlListBox.AddString("第二行");
2、清空列表
m_ctrlListBox.ResetContent();
3、设置列表控件的背景颜色
① 先创建一个基于对话框的工程,命名为test,然后在对话框上加入一个ListBox控件。
② 在testDlg.h中加入一个成员变量:HBRUSH m_hbrush;
③ 在OnInitDialog()中,加入m_hbrush=CreateSolidBrush(RGB(0,0,0);此处设置的RGB值可以改变ListBox的背景色。
④ 点击Class Wizard,给testDlg加入WM_CTLCOLOR事件,单击Edit Code按钮,然后把该函数的内容替换为如下代码:
if(nCtlColor== CTLCOLOR_LISTBOX)
{
pDC->SetBkMode(TRANSPARENT);
pDC->SetTextColor(RGB(255,255,255)); //此处设置字体的颜色
return m_hbrush;
}
else
return CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
4、改变字体大小
在OnInitDialog函数中添加以下代码:
CFont f;
LOGFONT logFont;
//设置控件背景颜色字体颜色、以及字体大小
logFont.lfHeight=15; //字体高度
logFont.lfWidth=0; //字体间距
logFont.lfWeight=FW_THIN;
f.CreateFontIndirect(&logFont);
GetDlgItem(IDC_LIST_FILE)->SetFont(&f,1);
附:
MFC CFont 字体 LogFont
typedef struct tagLOGFONT {
LONG lfHeight; // 高度
LONG lfWidth; // 宽度
LONG lfEscapement; // 打印角度,900垂直打印,0水平打印
LONG lfOrientation; // 字体打印角度,1800上下倒置,900左右倒置.
LONG lfWeight; // 字体粗细,默认是0,还常用400,700
BYTE lfItalic; // 斜体字,默认0非斜体,1斜体.
BYTE lfUnderline; // 下划线,默认0无.
BYTE lfStrikeOut; // 字体被直线穿过,默认0无.
BYTE lfCharSet; // 字符集,如宋体字,一般设置为DEFAUL_CHARSET.
BYTE lfOutPrecision; // 符合度,看不明白?一般设置为OUT_DEFAUL_PRECIS
BYTE lfClipPrecision; // 不懂,一般设置为CLIP_DEAFAUL_PRECIS
BYTE lfQuality; // 字体图形质量,不管,设为DEFAUL_QUALITY
BYTE lfPitchAndFamily; // 字间距,不管,设为DEFAUL_PITCH+FF_DONTCARE
TCHAR lfFaceName[LF_FACESIZE]; // 所有字体式样数组,供字体回调函数调用
} LOGFONT, *PLOGFONT;
其他函数:
GetCurSel():返回当前选中项索引号;
SetCurSel(int index):设置当前选中项