MFC CListBox 类 公共方法:CListBox::GetItemDataPtr
CListBox::GetItemDataPtr 是 MFC 中 CListBox 类的一个公共方法,用于获取与指定列表框项相关联的指针类型的应用程序数据。具体语法如下:void* GetItemDataPtr(int nIndex) const;参数说明: nIndex: 要查询的列表框项的索引。返回值: 返回与列表框项相关联的指针类型的应用程序数据。如果 nIndex 无效,返回值为 nullptr。示例代码如下:CListBox listBox;listBox.Create(WS_VISIBLE | WS_CHILD | LBS_STANDARD, CRect(10, 10, 200, 200), pParentWnd, IDC_LISTBOX);// 向列表框中添加一些项并关联指针类型数据listBox.AddString(_T("Item 1"));listBox.AddString(_T("Item 2"));listBox.AddString(_T("Item 3"));// 关联指针类型数据CString* p...
MFC CListBox 类 公共方法:CListBox::GetItemData
CListBox::GetItemData 是 MFC 中 CListBox 类的一个公共方法,用于获取与指定列表框项相关联的应用程序数据。具体语法如下:DWORD_PTR GetItemData(int nIndex) const;参数说明: nIndex: 要查询的列表框项的索引。返回值: 返回与列表框项相关联的应用程序数据。如果 nIndex 无效,返回值为 LB_ERR。示例代码如下:CListBox listBox;listBox.Create(WS_VISIBLE | WS_CHILD | LBS_STANDARD, CRect(10, 10, 200, 200), pParentWnd, IDC_LISTBOX);// 向列表框中添加一些项并关联数据listBox.AddString(_T("Item 1"));listBox.AddString(_T("Item 2"));listBox.AddString(_T("Item 3"));// 关联数据listBox.SetItemData(0, 100);lis...
MFC CListBox 类 公共方法:CListBox::GetHorizontalExtent
CListBox::GetHorizontalExtent 是 MFC 中 CListBox 类的一个公共方法,用于获取列表框的水平滚动条的范围。具体语法如下:UINT GetHorizontalExtent() const;返回值: 返回当前水平滚动条的范围,单位为逻辑单元。示例代码如下:CListBox listBox;listBox.Create(WS_VISIBLE | WS_CHILD | LBS_STANDARD | WS_HSCROLL, CRect(10, 10, 400, 200), pParentWnd, IDC_LISTBOX);// 向列表框中添加一些宽度较长的项listBox.AddString(_T("Item with long text 1"));listBox.AddString(_T("Item with very long text 2"));listBox.AddString(_T("Item 3"));// 获取水平滚动条的范围UINT horizontalExtent = listB...
MFC CListBox 类 公共方法:CListBox::GetCurSel
CListBox::GetCurSel 是 MFC 中 CListBox 类的一个公共方法,用于获取当前选中项的索引。具体语法如下:int GetCurSel() const;返回值: 如果有选中项,返回选中项的索引;如果没有选中项,返回 LB_ERR。示例代码如下:CListBox listBox;listBox.Create(WS_VISIBLE | WS_CHILD | LBS_STANDARD, CRect(10, 10, 200, 200), pParentWnd, IDC_LISTBOX);// 向列表框中添加一些项listBox.AddString(_T("Item 1"));listBox.AddString(_T("Item 2"));listBox.AddString(_T("Item 3"));// 选中第二项listBox.SetCurSel(1);// 获取当前选中项的索引int selectedIndex = listBox.GetCurSel();在这个例子中,SetCurSel 方法被用于选中列...
MFC CListBox 类 公共方法:CListBox::GetCount
CListBox::GetCount 是 MFC 中 CListBox 类的一个公共方法,用于获取列表框中项的总数。具体语法如下:int GetCount() const;返回值: 返回列表框中项的总数。示例代码如下:CListBox listBox;listBox.Create(WS_VISIBLE | WS_CHILD | LBS_STANDARD, CRect(10, 10, 200, 200), pParentWnd, IDC_LISTBOX);// 向列表框中添加一些项listBox.AddString(_T("Item 1"));listBox.AddString(_T("Item 2"));listBox.AddString(_T("Item 3"));// 获取列表框中项的总数int itemCount = listBox.GetCount();在这个例子中,GetCount 方法被用于获取列表框中项的总数,即添加到列表框中的项的数量。
MFC CListBox 类 公共方法:CListBox::GetCaretIndex
在 MFC 的 CListBox 类中,没有直接提供获取焦点项(Caret Item)索引的公共方法。但你可以使用 CListBox 的 GetCurSel 方法来获取当前选中项的索引,这通常也代表着焦点项。以下是一个示例代码:int GetCaretIndex(const CListBox& listBox){ return listBox.GetCurSel();}在这个示例中,GetCaretIndex 函数直接调用 GetCurSel 方法,该方法返回当前选中项的索引,即焦点项的索引。如果没有选中任何项,则 GetCurSel 返回 LB_ERR。
MFC CListBox 类 公共方法:CListBox::FindStringExact
CListBox::FindStringExact 是 MFC 中 CListBox 类的一个公共方法,用于在列表框中精确匹配指定字符串的项。具体语法如下:int FindStringExact(int nIndexStart, LPCTSTR lpszFind) const;参数说明: nIndexStart: 开始查找的位置,通常是上一个匹配项的索引,或者可以设置为 -1 以从列表框的第一项开始查找。 lpszFind: 要查找的字符串。返回值: 如果找到,返回字符串的索引;如果未找到,返回 LB_ERR。示例代码如下:CListBox listBox;listBox.Create(WS_VISIBLE | WS_CHILD | LBS_STANDARD, CRect(10, 10, 200, 200), pParentWnd, IDC_LISTBOX);// 添加一些项到列表框listBox.AddString(_T("Item 1"));listBox.AddString(_T("Item 2"));listBox.AddString(_...
MFC CListBox 类 公共方法:CListBox::FindString
CListBox::FindString 是 MFC 中 CListBox 类的一个公共方法,用于在列表框中查找指定字符串的索引。具体语法如下:int FindString(int nStartAfter, LPCTSTR lpszItem) const;参数说明: nStartAfter: 开始查找的位置,通常是上一个匹配项的索引。 lpszItem: 要查找的字符串。返回值: 如果找到,返回字符串的索引;如果未找到,返回 LB_ERR。示例代码如下:CListBox listBox;listBox.Create(WS_VISIBLE | WS_CHILD | LBS_STANDARD, CRect(10, 10, 200, 200), pParentWnd, IDC_LISTBOX);// 添加一些项到列表框listBox.AddString(_T("Item 1"));listBox.AddString(_T("Item 2"));listBox.AddString(_T("Item 3"));// 查找字符串 &quo...
MFC CListBox 类 公共方法:CListBox::DrawItem
CListBox::DrawItem 是 MFC 中 CListBox 类的一个公共方法,用于绘制列表框的项。具体语法如下:void DrawItem(LPDRAWITEMSTRUCT lpDrawItemStruct);参数说明: lpDrawItemStruct: 指向一个 DRAWITEMSTRUCT 结构的指针,包含了有关绘制项的信息。DrawItem 方法通常用于自定义绘制列表框中的每一项,以便显示不同的外观或图标。示例代码如下:void CMyListBox::DrawItem(LPDRAWITEMSTRUCT lpDrawItemStruct){ CDC dc; dc.Attach(lpDrawItemStruct->hDC); // 绘制选定和非选定项的外观 if (lpDrawItemStruct->itemState & ODS_SELECTED) { dc.SetTextColor(::GetSysColor(COLOR_HIGHLIGHTTEXT)); dc.SetBkColor(::...
MFC CListBox 类 公共方法:CListBox::Dir
CListBox::Dir 是 MFC 中 CListBox 类的一个公共方法,用于填充列表框控件中的项,这些项表示指定目录中的文件或子目录。具体语法如下:int Dir(UINT attr, LPCTSTR lpszWildCard);参数说明: attr: 文件属性,可以是 DDL_READWRITE、DDL_READONLY、DDL_HIDDEN、DDL_SYSTEM 等的组合。 lpszWildCard: 匹配文件名的通配符字符串。返回值: 返回添加到列表框中的项的数量。如果失败,返回 LB_ERR。示例代码如下:CListBox listBox;listBox.Create(WS_VISIBLE | WS_CHILD | LBS_STANDARD, CRect(10, 10, 400, 200), pParentWnd, IDC_LISTBOX);// 填充列表框以显示指定目录中的文件和子目录int itemCount = listBox.Dir(DDL_READWRITE, _T("C:\\*.*"));在这个例子中,Dir 方法被用于填充列表框以显示 ...
MFC CListBox 类 公共方法:CListBox::DeleteString
CListBox::DeleteString 是 MFC 中 CListBox 类的一个公共方法,用于删除列表框中指定索引的项。具体语法如下:int DeleteString(UINT nIndex);参数说明: nIndex: 要删除的项的索引。返回值: 如果成功,返回非零值;如果失败,返回零。示例代码如下:CListBox listBox;listBox.Create(WS_VISIBLE | WS_CHILD | LBS_STANDARD, CRect(10, 10, 200, 200), pParentWnd, IDC_LISTBOX);// 添加一些项到列表框listBox.AddString(_T("Item 1"));listBox.AddString(_T("Item 2"));listBox.AddString(_T("Item 3"));// 删除第二项listBox.DeleteString(1);在这个例子中,DeleteString 方法被用于删除列表框中的第二项(索引为 1)。删除成功后,列表框中将...
MFC CListBox 类 公共方法:CListBox::DeleteItem
CListBox::DeleteItem 是 MFC 中 CListBox 类的一个公共方法,用于删除列表框中指定索引的项。具体语法如下:int DeleteItem(int nIndex);参数说明: nIndex: 要删除的项的索引。返回值: 如果成功,返回非零值;如果失败,返回零。示例代码如下:CListBox listBox;listBox.Create(WS_VISIBLE | WS_CHILD | LBS_STANDARD, CRect(10, 10, 200, 200), pParentWnd, IDC_LISTBOX);// 添加一些项到列表框listBox.AddString(_T("Item 1"));listBox.AddString(_T("Item 2"));listBox.AddString(_T("Item 3"));// 删除第二项listBox.DeleteItem(1);在这个例子中,DeleteItem 方法被用于删除列表框中的第二项(索引为 1)。删除成功后,列表框中将只剩下两项。
MFC CListBox 类 公共方法:CListBox::Create
CListBox::Create 是 MFC 中 CListBox 类的一个公共方法,用于创建列表框控件。具体语法如下:BOOL Create(DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID);参数说明: dwStyle: 列表框的样式,可以是列表框样式的组合,例如 WS_CHILD、WS_VISIBLE、LBS_STANDARD 等。 rect: 控件的矩形区域,指定了列表框在父窗口中的位置和大小。 pParentWnd: 指向父窗口的指针。 nID: 控件的标识符。返回值: 如果成功创建,返回非零值;如果失败,返回零。示例代码如下:CListBox listBox;listBox.Create(WS_VISIBLE | WS_CHILD | LBS_STANDARD, CRect(10, 10, 200, 200), pParentWnd, IDC_LISTBOX);在这个例子中,Create 方法被用于在父窗口中创建一个列表框控件,设置了一些基本的样式,位置和标识符。
MFC CListBox 类 公共方法:CListBox::AddString
CListBox::AddString 是 MFC 中 CListBox 类的一个公共方法,用于向列表框中添加一行文本。具体语法如下:int AddString(LPCTSTR lpszItem);参数说明: lpszItem: 要添加到列表框中的文本字符串。返回值: 如果成功,返回新项在列表框中的索引;如果失败,返回 LB_ERR。示例代码如下:CListBox listBox;listBox.Create(WS_VISIBLE | WS_CHILD | LBS_STANDARD, CRect(10, 10, 200, 200), pParentWnd, IDC_LISTBOX);// 添加字符串到列表框listBox.AddString(_T("Item 1"));listBox.AddString(_T("Item 2"));listBox.AddString(_T("Item 3"));在这个例子中,AddString 方法被用来向列表框中添加三个文本字符串。成功添加后,方法会返回每个字符串在列表框中的索引。
MFC CListBox 类 公共方法:CListBox::VKeyToItem
CListBox::VKeyToItem 是 MFC 中 CListBox 类的一个公共方法,用于处理列表框中的虚拟键消息,并确定与该键相关联的项的索引。具体语法如下:int VKeyToItem(UINT nKey, UINT nIndex);参数说明: nKey: 虚拟键的代码。可以是 VK_UP、VK_DOWN、VK_LEFT、VK_RIGHT 等。 nIndex: 当前选定的项的索引。返回值: 如果成功,返回与虚拟键相关联的项的新索引。如果未找到相关项或发生错误,返回 -1。这个方法通常用于处理键盘输入,例如在键盘上按上下箭头键时移动列表框中的选择。示例代码如下:void MyDialog::OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags){ CListBox* pListBox = (CListBox*)GetDlgItem(IDC_LISTBOX); if (pListBox != nullptr) { int nCurSel = pListBox->GetCurSel(); ...
MFC CListBox 类 公共方法:CListBox::SetTopIndex
CListBox::SetTopIndex 是 MFC 中 CListBox 类的一个公共方法,用于设置列表框的顶部可见项的索引。具体的语法如下:void SetTopIndex(int nIndex);参数说明: nIndex: 新的顶部可见项的索引。这个方法允许你滚动列表框,以便让指定索引的项显示在列表框的顶部。通常,当你想要将列表框中的某一项置于可见区域的顶部时,可以使用这个方法。示例代码如下:CListBox listBox;listBox.Create(WS_VISIBLE | WS_CHILD | LBS_STANDARD, CRect(10, 10, 200, 200), pParentWnd, IDC_LISTBOX);// 假设列表框中有很多项,现在要将第五项显示在顶部int nIndexToDisplayAtTop = 4; // 第五项的索引是4(从0开始计数)listBox.SetTopIndex(nIndexToDisplayAtTop);在这个例子中,SetTopIndex 方法被用来将列表框中的第五项(索引为4)显示在顶部。
MFC CListBox 类 公共方法:CListBox::SetTabStops
CListBox::SetTabStops 是 MFC 中 CListBox 类的一个公共方法,用于设置列表框中文本的制表位(Tab Stops)。具体语法如下:void SetTabStops(int nTabStops, LPINT rgTabStops);参数说明: nTabStops: 制表位的数量。 rgTabStops: 包含制表位位置的整数数组。这个方法允许你在列表框中的文本中设置制表位,使得文本可以按照制定的位置进行对齐。通常,你需要在插入文本之前调用这个方法。示例代码如下:CListBox listBox;listBox.Create(WS_VISIBLE | WS_CHILD | LBS_STANDARD, CRect(10, 10, 200, 200), pParentWnd, IDC_LISTBOX);int tabStops[] = { 100, 200, 300 }; // 设置三个制表位listBox.SetTabStops(3, tabStops);listBox.AddString(_T("Column1\tColumn2\tColumn3&...
MFC CListBox 类 公共方法:CListBox::SetSel
在 MFC 中,CListBox 类提供了 SetSel 方法,用于设置或取消设置列表框(ListBox)中的项的选择状态。以下是 CListBox::SetSel 方法的基本语法:int SetSel( int nIndex, BOOL bSelect = TRUE);参数说明: nIndex:要设置选择状态的项的索引。 bSelect:一个布尔值,指示是否选择该项。如果为 TRUE,则选择该项;如果为 FALSE,则取消选择该项。默认值为 TRUE。返回值: 如果成功,返回非零值。 如果失败,则返回零。示例用法:CListBox myListBox; // 假设已经创建了一个 CListBox 对象int nIndex = 2; // 要设置选择状态的项的索引// 选择第三项int result = myListBox.SetSel(nIndex);if (result != 0) { // 成功设置选择状态 // 处理成功...} else { // 设置失败 // 处理失败...}这个方法用于在代码中设置列表框中的项的选择状态。如果...
MFC CListBox 类 公共方法:CListBox::SetItemDataPtr
CListBox::SetItemDataPtr 是 MFC 中 CListBox 类的一个公共方法,用于为列表框(ListBox)中的项设置关联的用户数据指针。以下是 CListBox::SetItemDataPtr 方法的基本语法:int SetItemDataPtr( int nIndex, void* pData);参数说明: nIndex:要设置用户数据指针的项的索引。 pData:要关联的用户数据指针。返回值: 如果成功,返回非零值。 如果失败,则返回零。示例用法:CListBox myListBox; // 假设已经创建了一个 CListBox 对象int nIndex = 2; // 要设置用户数据指针的项的索引CString* pUserData = new CString("Example Data"); // 要关联的用户数据指针int result = myListBox.SetItemDataPtr(nIndex, pUserData);if (result != 0) { // 成功设置用户数据指针...
MFC CListBox 类 公共方法:CListBox::SetItemData
CListBox::SetItemData 是 MFC 中 CListBox 类的一个公共方法,用于为列表框(ListBox)中的项设置关联的用户数据。以下是 CListBox::SetItemData 方法的基本语法:int SetItemData( int nIndex, DWORD_PTR dwItemData);参数说明: nIndex:要设置用户数据的项的索引。 dwItemData:要关联的用户数据。返回值: 如果成功,返回非零值。 如果失败,则返回零。示例用法:CListBox myListBox; // 假设已经创建了一个 CListBox 对象int nIndex = 2; // 要设置用户数据的项的索引DWORD_PTR dwData = 123; // 要关联的用户数据int result = myListBox.SetItemData(nIndex, dwData);if (result != 0) { // 成功设置用户数据 // 处理成功...} else { // 设置失败 // 处理失败...}这个方法允许...