动态生成控件(CButton, CComboBox, CTreeCtrl, CListCtrl, CTabCtrl, CEdit)、字体设置、常见设置
来源:互联网 发布:电动汽车调研数据 编辑:程序博客网 时间:2024/06/15 22:08
一、动态生成控件
1.CButton
Create(_T("查询"), WS_CHILD|BS_PUSHBUTTON, rect, this, 1);
2.CComboBox
Create(WS_CHILD|WS_VISIBLE|WS_VSCROLL|CBS_DROPDOWNLIST, rect, this, 1);
3.CTreeCtrl
Create(WS_VISIBLE | TVS_HASBUTTONS | TVS_HASLINES | TVS_LINESATROOT | WS_TABSTOP | TVS_INFOTIP | TVS_SHOWSELALWAYS, rect, this, 1);
4.CListCtrl
Create(WS_CHILD|WS_BORDER|LVS_REPORT|LVS_SHOWSELALWAYS|LVS_SINGLESEL, rect, this, 1);
SetExtendedStyle(LVS_EX_FULLROWSELECT | LVS_EX_GRIDLINES | LVS_EX_TRACKSELECT);
5.CTabCtrl
Create(TCS_TABS | TCS_FIXEDWIDTH | WS_CHILD | TCS_HOTTRACK | TCS_SINGLELINE | TCS_RAGGEDRIGHT | WS_EX_NOPARENTNOTIFY, rect, this, 1);
6.CEdit
Create(WS_CHILD | WS_TABSTOP | WS_BORDER | ES_AUTOHSCROLL, rect, this, 1);
二、字体设置
1.创建对象(对象必须:在.h文件中,或者声明为全局变量)
CFont m_font;
2.创建字体
两种方式:
(1)m_font.CreateFont(
12, // nHeight
0, // nWidth
0, // nEscapement
0, // nOrientation
FW_BOLD, // nWeight
FALSE, // bItalic
FALSE, // bUnderline
0, // cStrikeOut
ANSI_CHARSET, // nCharSet
OUT_DEFAULT_PRECIS, // nOutPrecision
CLIP_DEFAULT_PRECIS, // nClipPrecision
DEFAULT_QUALITY, // nQuality
DEFAULT_PITCH | FF_SWISS, // nPitchAndFamily
"宋体");
(2)m_font.CreatePointFont(87, "宋体_GB2312");
3.设置控件字体
控件对象->SetFont(&m_font);
三、常见设置
1.CComboBox下拉List的宽度,使其根据列表中的字体长度变化。
void CMyTabCtrl::SetComboBoxDropDownWidth(CMyComboBox* pComboBox)
{
int dx = 0;
TEXTMETRIC tm;
CDC* pDC = pComboBox->GetDC();
CFont* pFont = pComboBox->GetFont();// Select the listbox font, save the old font
CFont* pOldFont = pDC->SelectObject(pFont);
// Get the text metrics for avg char width
pDC->GetTextMetrics(&tm);for (int i = 0; i < pComboBox->GetCount(); ++i)
{
CString str;
pComboBox->GetLBText(i, str);
CSize sz = pDC->GetTextExtent(str);// Add the avg width to prevent clipping
sz.cx += tm.tmAveCharWidth;if (sz.cx > dx)
dx = sz.cx;
}
// Select the old font back into the DC
pDC->SelectObject(pOldFont);
pComboBox->ReleaseDC(pDC);// Adjust the width for the vertical scroll bar and the left and right border.
dx += ::GetSystemMetrics(SM_CXVSCROLL) + 2*::GetSystemMetrics(SM_CXEDGE);// Set the width of the list box so that every item is completely visible.
pComboBox->SetDroppedWidth(dx);
}
2.控件位置
一般控件:SetWindowPos(NULL, x, y, cx, cy, 0);
CComboBox控件:SetWindowPos(NULL, x, y, cx, 80, 0); // 这里的80是下拉框的高度
来自:http://blog.csdn.net/qing2087312/article/details/6556591
- 动态生成控件(CButton, CComboBox, CTreeCtrl, CListCtrl, CTabCtrl, CEdit)、字体设置、常见设置
- 动态生成控件(CButton, CComboBox, CTreeCtrl, CListCtrl, CTabCtrl, CEdit)、字体设置、常见设置
- MFC常用控件-CEdit ,CTreeCtrl,CComboBox等控件
- 动态创建的CButton按钮,在设置字体时为什么不显示
- MFC中的CButton按钮是否可用设置与CEdit设置垂直滚动条自动滚动
- MFC 动态创建控件 字体设置问题
- 对控件动态代码设置字体颜色
- 为CEdit控件设置右键菜单
- vc中的控件使用(CTreeCtrl,CComboBox,CFileDialog)
- vc中的控件使用(CTreeCtrl,CComboBox,CFileDialog)
- CTreeCtrl 和 CListCtrl 控件(VC_MFC)
- 设置CTabCtrl背景颜色
- CTabCtrl 标签相关设置
- CButton设置鼠标形状
- 动态生成控件并设置布局参数
- 窗口、CListCtrl控件、Edit控件设置背景图片
- 设置按钮控件字体
- Windows 设置控件字体
- 对frameset、frame、iframe的js操作
- SQL 列转行问题
- asp.net中的窗体身份验证(开篇)
- 开源openacs server的使用脚本
- Socket select FD_ISSET
- 动态生成控件(CButton, CComboBox, CTreeCtrl, CListCtrl, CTabCtrl, CEdit)、字体设置、常见设置
- 管理相关的哲理故事
- GBIF查询gbif-wdpa介绍
- How to patch the linux kernel patch
- 通过ftp获取minix3.1.8系统源代码(virtual box 4)
- 看似贏了, 但卻輸了!
- CuteEditor 第一次添加时候OK的,为什么修改内容不变??
- DNS服务器故障纠错
- GBIF全球命名架构gbif-ecat