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 字体 LogFonttypedef struct tagLOGFONT { LONG lfHeight; // 高度LONG lfWidth; // 宽度LONG lfEscapement; // 打印角度,900垂直打印,0水平打印LONG lfOrientation; // 字体打印角度,1800上下倒置,900左右倒置.LONG lfWeight; // 字体粗细,默认是0,还常用400,700BYTE lfItalic; // 斜体字,默认0非斜体,1斜体.BYTE lfUnderline; // 下划线,默认0无.BYTE lfStrikeOut; // 字体被直线穿过,默认0无.BYTE lfCharSet; // 字符集,如宋体字,一般设置为DEFAUL_CHARSET.BYTE lfOutPrecision; // 符合度,看不明白?一般设置为OUT_DEFAUL_PRECISBYTE lfClipPrecision; // 不懂,一般设置为CLIP_DEAFAUL_PRECISBYTE lfQuality; // 字体图形质量,不管,设为DEFAUL_QUALITYBYTE lfPitchAndFamily; // 字间距,不管,设为DEFAUL_PITCH+FF_DONTCARETCHAR lfFaceName[LF_FACESIZE]; // 所有字体式样数组,供字体回调函数调用
} LOGFONT, *PLOGFONT;
其他函数:
GetCurSel():返回当前选中项索引号;
SetCurSel(int index):设置当前选中项