MFC CComboBox 类 公共方法:CComboBox::GetExtendedUI
CComboBox::GetExtendedUI 是 MFC(Microsoft Foundation Classes)中 CComboBox 类的一个公共方法。这个方法用于检索当前 ComboBox 控件的扩展样式。在 MFC 中,ComboBox 控件可以设置一些扩展样式,这些样式可以影响控件的外观和行为。GetExtendedUI 方法可以让你获取当前 ComboBox 控件的扩展样式。这是方法的声明:DWORD GetExtendedUI() const;该方法返回一个 DWORD 值,该值表示当前 ComboBox 控件的扩展样式。你可以使用这个值来判断 ComboBox 是否启用了特定的扩展样式。下面是一个简单的示例代码,演示如何使用 GetExtendedUI 方法:// 假设 pComboBox 是一个 CComboBox 对象指针DWORD dwExtendedStyle = pComboBox->GetExtendedUI();// 检查是否启用了某个扩展样式if (dwExtendedStyle & CBS_EX_MYEXTENDEDEXAMPLE)...
MFC CComboBox 类 公共方法:CComboBox::GetEditSel
在 MFC(Microsoft Foundation Classes)的 CComboBox 类中,GetEditSel 方法用于获取组合框(CComboBox)编辑框中当前选择的文本的起始和结束索引。void GetEditSel(int& nStartChar, int& nEndChar) const;参数 nStartChar 和 nEndChar 会被传出,表示当前选择文本的起始和结束索引。如果没有文本被选择,两个参数都将相等。以下是一个简单的示例:CComboBox myComboBox;// 假设 m_hWnd 为组合框的句柄myComboBox.Attach(GetDlgItem(IDC_COMBO1)->m_hWnd);int startChar, endChar;myComboBox.GetEditSel(startChar, endChar);// startChar 和 endChar 包含当前选择文本的起始和结束索引// 分离句柄myComboBox.Detach();在上述示例中,IDC_COMBO1 是组合框的控件 ID,您需要根据实...
MFC CComboBox 类 公共方法:CComboBox::GetDroppedWidth
在 MFC(Microsoft Foundation Classes)的 CComboBox 类中,GetDroppedWidth 方法用于获取组合框(CComboBox)下拉列表的宽度。UINT GetDroppedWidth() const;这个方法返回当前组合框下拉列表的宽度。如果组合框没有使用 CBS_DROPDOWN 或 CBS_DROPDOWNLIST 样式,或者下拉列表的宽度是动态计算的,则返回值可能是不确定的。以下是一个简单的示例:CComboBox myComboBox;// 假设 m_hWnd 为组合框的句柄myComboBox.Attach(GetDlgItem(IDC_COMBO1)->m_hWnd);// 获取组合框下拉列表的宽度UINT droppedWidth = myComboBox.GetDroppedWidth();// 分离句柄myComboBox.Detach();在上述示例中,IDC_COMBO1 是组合框的控件 ID,您需要根据实际情况修改这个 ID。GetDroppedWidth 方法返回组合框下拉列表的宽度。
MFC CComboBox 类 公共方法:CComboBox::GetCurSel
在 MFC(Microsoft Foundation Classes)的 CComboBox 类中,GetCurSel 方法用于获取组合框(CComboBox)中当前选定项的索引。int GetCurSel() const;这个方法返回当前选定项的索引。如果没有选中任何项,则返回值为 CB_ERR。以下是一个简单的示例:CComboBox myComboBox;// 假设 m_hWnd 为组合框的句柄myComboBox.Attach(GetDlgItem(IDC_COMBO1)->m_hWnd);// 获取当前选定项的索引int selectedIndex = myComboBox.GetCurSel();if (selectedIndex != CB_ERR){ // 有选中项,可以进行相应的处理}else{ // 没有选中项}// 分离句柄myComboBox.Detach();在上述示例中,IDC_COMBO1 是组合框的控件 ID,您需要根据实际情况修改这个 ID。GetCurSel 方法返回当前选定项的索引,可以用于确定用户选择了哪个项。
MFC CComboBox 类 公共方法:CComboBox::GetCount
在 MFC(Microsoft Foundation Classes)的 CComboBox 类中,GetCount 方法用于获取组合框(CComboBox)中的项数目。int GetCount() const;这个方法返回组合框中项的数量。以下是一个简单的示例:CComboBox myComboBox;// 假设 m_hWnd 为组合框的句柄myComboBox.Attach(GetDlgItem(IDC_COMBO1)->m_hWnd);// 获取组合框中的项数目int itemCount = myComboBox.GetCount();// 分离句柄myComboBox.Detach();在上述示例中,IDC_COMBO1 是组合框的控件 ID,您需要根据实际情况修改这个 ID。GetCount 方法返回组合框中项的数量,可以用于确定组合框中有多少项。
MFC CComboBox 类 公共方法:CComboBox::FindStringExact
在 MFC(Microsoft Foundation Classes)的 CComboBox 类中,FindStringExact 方法用于在组合框(CComboBox)中查找与指定字符串完全匹配的项,并返回匹配项的索引。int FindStringExact(int nStartAfter, LPCTSTR lpszString) const;参数说明: nStartAfter:开始查找的位置,即从该索引之后开始查找。如果要从头开始查找,请将其设置为-1。 lpszString:要查找的字符串。返回值是匹配项的索引。如果未找到匹配项,返回值为 CB_ERR。以下是一个简单的示例:CComboBox myComboBox;// 假设 m_hWnd 为组合框的句柄myComboBox.Attach(GetDlgItem(IDC_COMBO1)->m_hWnd);// 要查找的字符串LPCTSTR searchString = _T("ItemToFind");// 从头开始查找int index = myComboBox.FindStringExact(-1, ...
MFC CComboBox 类 公共方法:CComboBox::FindString
在 MFC(Microsoft Foundation Classes)的 CComboBox 类中,FindString 方法用于在组合框(CComboBox)中查找指定的字符串,并返回匹配项的索引。int FindString(int nStartAfter, LPCTSTR lpszString) const;参数说明: nStartAfter:开始查找的位置,即从该索引之后开始查找。如果要从头开始查找,请将其设置为-1。 lpszString:要查找的字符串。返回值是匹配项的索引。如果未找到匹配项,返回值为 CB_ERR。以下是一个简单的示例:CComboBox myComboBox;// 假设 m_hWnd 为组合框的句柄myComboBox.Attach(GetDlgItem(IDC_COMBO1)->m_hWnd);// 要查找的字符串LPCTSTR searchString = _T("ItemToFind");// 从头开始查找int index = myComboBox.FindString(-1, searchString);if (ind...
MFC CComboBox 类 公共方法:CComboBox::DrawItem
在 MFC(Microsoft Foundation Classes)的 CComboBox 类中,DrawItem 方法是用于自定义绘制组合框(CComboBox)中每个项的外观的函数。此函数通常与 OwnerDraw 样式结合使用,以允许应用程序完全控制组合框中项的外观。void DrawItem(LPDRAWITEMSTRUCT lpDrawItemStruct);DrawItem 方法会在组合框的每一项需要被绘制时被调用。您需要在派生的类中重写此方法,并实现自定义的绘制逻辑。以下是一个简单的示例:class CMyComboBox : public CComboBox{public: virtual void DrawItem(LPDRAWITEMSTRUCT lpDrawItemStruct);};void CMyComboBox::DrawItem(LPDRAWITEMSTRUCT lpDrawItemStruct){ CDC dc; dc.Attach(lpDrawItemStruct->hDC); // 检查是否是有效的项 if (l...
MFC CComboBox 类 公共方法:CComboBox::Dir
在 MFC(Microsoft Foundation Classes)的 CComboBox 类中,Dir 方法已经过时(deprecated),而推荐使用 CFileDialog 类或 CFileFind 类来实现目录的列举。原始的 CComboBox::Dir 方法用于在组合框中列举指定目录中的文件,并根据指定的文件名和文件类型筛选条件进行过滤。但是,由于这个方法的限制和过时的特性,建议使用更现代的 CFileDialog 类或 CFileFind 类来完成这个任务。以下是一个简单的示例,使用 CFileDialog 类来实现目录的列举:CFileDialog fileDlg(TRUE, NULL, NULL, OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, _T("All Files (*.*)|*.*||"), this);fileDlg.m_ofn.lpstrTitle = _T("Select a File");if (fileDlg.DoModal() == IDOK){ CString sel...
MFC CComboBox 类 公共方法:CComboBox::DeleteString
在 MFC(Microsoft Foundation Classes)的 CComboBox 类中,DeleteString 方法用于删除组合框(CComboBox)中指定索引位置的项。int DeleteString(int nIndex);参数说明: nIndex:要删除的项的索引。这个方法返回一个 int 类型的值,表示删除成功的项的数量。如果成功删除了一项,则返回值为 1,如果删除失败,则返回值为 CB_ERR。以下是一个简单的示例,演示如何使用 DeleteString 方法删除组合框中的特定项:CComboBox myComboBox;// 假设 m_hWnd 为组合框的句柄myComboBox.Attach(GetDlgItem(IDC_COMBO1)->m_hWnd);// 要删除的项的索引int indexToDelete = 2;// 删除指定索引位置的项int result = myComboBox.DeleteString(indexToDelete);if (result != CB_ERR){ // 删除成功}else{ // 删除失败}/...
MFC CComboBox 类 公共方法:CComboBox::DeleteItem
在 MFC(Microsoft Foundation Classes)的 CComboBox 类中,DeleteItem 方法是用于删除组合框(CComboBox)中指定索引位置的项。这个方法通常与组合框的拥有者绘制控制的 OnDrawItem 函数结合使用,以实现自定义绘制。BOOL DeleteItem(int nIndex);参数说明: nIndex:要删除的项的索引。以下是一个简单的示例,演示如何使用 DeleteItem 方法删除组合框中的特定项:CComboBox myComboBox;// 假设 m_hWnd 为组合框的句柄myComboBox.Attach(GetDlgItem(IDC_COMBO1)->m_hWnd);// 要删除的项的索引int indexToDelete = 2;// 删除指定索引位置的项myComboBox.DeleteItem(indexToDelete);// 分离句柄myComboBox.Detach();在这个示例中,IDC_COMBO1 是组合框的控件 ID,您需要根据实际情况修改这个 ID。DeleteItem 方法将删除指定索...
MFC CComboBox 类 公共方法:CComboBox::Create
在 MFC(Microsoft Foundation Classes)的 CComboBox 类中,Create 方法用于在运行时创建组合框(CComboBox)的窗口。通常,Create 方法用于动态创建组合框对象。BOOL Create( DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID);参数说明: dwStyle:组合框的样式,可以是 CBS_DROPDOWN、CBS_DROPDOWNLIST 等样式的组合。 rect:组合框的初始位置和大小。 pParentWnd:指向父窗口的指针,通常是对话框或主窗口。 nID:组合框的控件 ID。以下是一个简单的示例:CComboBox myComboBox;// 样式可以根据需要调整DWORD dwStyle = CBS_DROPDOWN | WS_VISIBLE | WS_CHILD;RECT rect = {10, 10, 150, 200}; // 位置和大小CWnd* pParentWnd = this; // 父窗口,可以是对话框...
MFC CComboBox 类 公共方法:CComboBox::AddString
CComboBox::AddString 是 MFC(Microsoft Foundation Classes)中 CComboBox 类的一个公共方法,用于向组合框(ComboBox)中添加一个字符串。int AddString(LPCTSTR lpszString);这个方法的目的是将一个字符串添加到组合框的列表框中。返回值是一个整数,表示新添加的字符串在列表框中的索引。如果发生错误,返回值为CB_ERR。使用示例:CComboBox myComboBox;// 假设m_hWnd为组合框的句柄myComboBox.Attach(GetDlgItem(IDC_COMBO1)->m_hWnd);// 添加一个字符串到组合框int nIndex = myComboBox.AddString(_T("New Item"));// 检查是否成功添加if (nIndex != CB_ERR){ // 成功添加,可以执行其他操作 // nIndex 现在包含新添加的字符串的索引}// 分离句柄myComboBox.Detach();上述示例中,IDC_COM...
MFC CComboBox 类 公共方法:CComboBox::ShowDropDown
CComboBox::ShowDropDown 是 MFC(Microsoft Foundation Classes)中 CComboBox 类的一个公共方法,用于显示或隐藏下拉列表框(drop-down list)。这个方法的原型如下:BOOL ShowDropDown(BOOL bShow = TRUE);参数 bShow 用于指定是显示还是隐藏下拉列表框。如果 bShow 为 TRUE,则显示下拉列表框;如果为 FALSE,则隐藏下拉列表框。方法返回一个 BOOL 类型的值,表示操作是否成功。示例代码:// 假设有一个 CComboBox 对象名为 myComboBox// 显示下拉列表框myComboBox.ShowDropDown(TRUE);// 隐藏下拉列表框myComboBox.ShowDropDown(FALSE);这个方法通常在需要手动控制下拉列表框显示和隐藏的情况下使用。例如,在处理某个特定事件时,你可能想要显示或隐藏下拉列表框以满足用户界面的需求。
MFC CComboBox 类 公共方法:CComboBox::SetTopIndex
CComboBox::SetTopIndex 是 MFC 中 CComboBox 类的一个公共方法,用于设置组合框(ComboBox)的顶部可见项的索引。函数原型如下:int SetTopIndex(int nIndex);这个方法接受一个整数参数 nIndex,表示要设置为顶部可见项的项的索引。如果设置成功,返回值等于 nIndex。如果设置失败,返回值为 CB_ERR。以下是一个简单的示例:CComboBox comboBox;// 假设已经初始化并包含一些项// 将索引为 2 的项设置为顶部可见项int nIndex = 2;int result = comboBox.SetTopIndex(nIndex);if (result != CB_ERR) { // 设置成功,result 是设置的顶部可见项的索引} else { // 设置失败,处理错误逻辑}在上述代码中,SetTopIndex 方法将索引为 2 的项设置为组合框的顶部可见项。确保在调用此方法之前,您已经初始化了组合框并添加了一些项。
MFC CComboBox 类 公共方法:CComboBox::SetItemHeight
CComboBox::SetItemHeight 是 MFC 中 CComboBox 类的一个公共方法,用于设置组合框(ComboBox)中每个项的高度。函数原型如下:int SetItemHeight(int nIndex, UINT cyItemHeight);这个方法接受两个参数: nIndex:要设置高度的项的索引,如果为 -1,则表示所有项。 cyItemHeight:要设置的项的高度,以像素为单位。该方法返回一个整数,表示之前设置的项的高度。如果设置失败,返回值为 CB_ERR。以下是一个简单的示例:CComboBox comboBox;// 假设已经初始化并包含一些项// 设置索引为 2 的项的高度为 30 像素int nIndex = 2;UINT cyItemHeight = 30;int prevHeight = comboBox.SetItemHeight(nIndex, cyItemHeight);if (prevHeight != CB_ERR) { // 设置成功,prevHeight 是之前设置的项的高度} else { // 设置失败,处理错...
MFC CComboBox 类 公共方法:CComboBox::SetItemData
CComboBox::SetItemData 是 MFC 中 CComboBox 类的一个公共方法,用于将用户自定义数据关联到组合框(ComboBox)中的每个项。函数原型如下:int SetItemData(int nIndex, DWORD_PTR dwItemData);这个方法接受两个参数: nIndex:要设置数据的项的索引。 dwItemData:要关联的用户自定义数据。该方法返回一个整数,表示设置成功的项的索引。如果设置失败,返回值为 CB_ERR。以下是一个简单的示例:CComboBox comboBox;// 假设已经初始化并包含一些项// 设置索引为 2 的项的用户自定义数据为 123int nIndex = 2;DWORD_PTR dwData = 123;int result = comboBox.SetItemData(nIndex, dwData);if (result != CB_ERR) { // 设置成功,可以进行相应的处理} else { // 设置失败,处理错误逻辑}在上述代码中,SetItemData 方法将索引为 2 的项的用户自定...
MFC CComboBox 类 公共方法:CComboBox::SetHorizontalExtent
CComboBox::SetHorizontalExtent 是 MFC 中 CComboBox 类的一个公共方法,用于设置组合框(ComboBox)的水平滚动条的范围,以便能够水平滚动查看较长的文本项。函数原型如下:void SetHorizontalExtent(UINT nExtent);这个方法接受一个参数 nExtent,表示水平滚动条的范围,以像素为单位。通过设置水平范围,可以允许用户在组合框中水平滚动,以查看超出组合框宽度的文本。以下是一个简单的示例:CComboBox comboBox;// 假设已经初始化并包含一些项// 设置水平滚动条的范围为 300 像素comboBox.SetHorizontalExtent(300);在上述代码中,SetHorizontalExtent 方法将水平滚动条的范围设置为 300 像素。这样,如果组合框中的文本项超出了组合框的宽度,用户就可以通过水平滚动条来查看。确保在调用此方法之前,您已经初始化了组合框并添加了一些项。
MFC CComboBox 类 公共方法:CComboBox::SetEditSel
CComboBox::SetEditSel 是 MFC 中 CComboBox 类的一个公共方法,用于设置组合框(ComboBox)中编辑框中的文本的选择范围。函数原型如下:void SetEditSel(int nStartChar, int nEndChar);这个方法接受两个整数参数: nStartChar:选择范围的起始字符索引。 nEndChar:选择范围的结束字符索引。例如,以下是一个简单的示例,将编辑框中的文本选择范围设置为从第 1 个字符到第 3 个字符:CComboBox comboBox;// 假设已经初始化并包含一些项// 设置编辑框中的文本选择范围comboBox.SetEditSel(0, 3);在上述代码中,SetEditSel 方法将编辑框中的文本选择范围设置为从第 1 个字符到第 3 个字符。确保在调用此方法之前,您已经初始化了组合框并添加了一些项。
MFC CComboBox 类 公共方法:CComboBox::SetDroppedWidth
CComboBox::SetDroppedWidth 是 MFC 中 CComboBox 类的一个公共方法,用于设置组合框(ComboBox)的下拉列表框的宽度。函数原型如下:int SetDroppedWidth(UINT nWidth);这个方法接受一个参数 nWidth,表示下拉列表框的宽度,以像素为单位。该方法返回一个整数,表示之前设置的下拉列表框的宽度。以下是一个简单的示例:CComboBox comboBox;// 假设已经初始化并包含一些项// 设置下拉列表框的宽度为 200 像素int prevWidth = comboBox.SetDroppedWidth(200);// 处理之前的宽度或其他逻辑在上述代码中,SetDroppedWidth 方法将下拉列表框的宽度设置为 200 像素,并返回之前设置的宽度。确保在调用此方法之前,您已经初始化了组合框并添加了一些项。