CreateWindow创建ComboBox,谁会 怎样CreateWindow创建ComboBox,然后演示一下怎样使用,比如往里面加几条和处理Change事件。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 Using Combo Boxes http://msdn.microsoft.com/library/en-us/shellcc/platform/commctls/comboboxes/usingcomboboxes.asp?frame=true 1、生成Dialog工程为测试工程,工程名为CreateCombox2、在CCreateComboxDlg类中声明ComboBox类的对象 CComboBox m_wndCombo;3、在BOOL CCreateComboxDlg::OnInitDialog()函数结尾处(return 前)添加如下语句 if (!m_wndCombo.Create( WS_CHILD | WS_VISIBLE | WS_VSCROLL | CBS_DROPDOWNLIST, CRect(1, 1, 200, 300), this, 100)) { TRACE0("Failed to create ComboBox\n"); return -1; } m_wndCombo.ShowWindow(SW_NORMAL); m_wndCombo.AddString("Test 1"); m_wndCombo.AddString("Test 2"); m_wndCombo.AddString("Test 3"); m_wndCombo.AddString("Test 4"); m_wndCombo.SetCurSel(0);4、生成void CCreateComboxDlg::OnOK()函数,添加测试语句,函数如下void CCreateComboxDlg::OnOK() { CString strTemp; m_wndVCKBase.GetWindowText(strTemp); AfxMessageBox(strTemp);} 我编译时说找不到CComboBox定义,加了#include winuser.h windows.h后依然没有,是不是还有什么要加 处理OnChange事件也比较容易in .h afx_msg void OnCbnSelchangeCombo1();in.cpp ON_CBN_SELCHANGE( YouCtrlID/*100*/, OnCbnSelchangeCombo1)void CYouDlg::OnCbnSelchangeCombo1(){ // TODO: 在此添加控件通知处理程序代码} 现在我发现是因为我的这个工程不能用include下面这些头文件#include <afxwin.h> // MFC core and standard components#include <afxext.h> // MFC extensions#include <afxdisp.h> // MFC Automation classes#include <afxdtctl.h>如果在stdaxf.h中加了,就会报错这么说,我不能用CComboBox Class,CB_ADDSTRING程序也不会知道是什么,因为这些都是在windowsh里定义的,我找到了windows。h,找到CB_ADDSTRING对应的是0X147但没用。 HWND m_hComboxHandle =CreateWindow(_T("ComboBoX"), _T("combo1"), WS_CHILD | WS_VSCROLL | WS_VISIBLE | CBS_DROPDOWNLIST | CBS_HASSTRINGS , 0,0,200,20, this->m_hWnd ,NULL, NULL,NULL); ::ShowWindow(m_hComboxHandle,SW_SHOW); ((CComboBox*)FromHandle( m_hComboxHandle ) )->AddString( "aaaaa" ) ; ((CComboBox*)FromHandle( m_hComboxHandle ) )->AddString( "bbbbb" ) ; ((CComboBox*)FromHandle( m_hComboxHandle ) )->AddString( "cccccc" ) ; ((CComboBox*)FromHandle( m_hComboxHandle ) )->SetTopIndex( 10 ) ; 关于CSocket和CSocketFile的一点问题(新手,木有什么分,希望有人帮忙) 怎么样应用其他项目的dll文件 民币2000请高手修改2个程序,要求非常熟悉WINDOWS内核编程 一个错误,请高手指点! 如何终止一个循环采样程序? 高手帮忙! 求助:通过打开文件来初始化一个对话框。 按钮隐藏 Visual Assist X ,怎么查看变量和函数的类型? 刚用这个,不会用呀 关于属性框的问题 一个关于数据结构的描述,有没有能帮我的? MFC类和.NET框架类有什么不同???
http://msdn.microsoft.com/library/en-us/shellcc/platform/commctls/comboboxes/usingcomboboxes.asp?frame=true
2、在CCreateComboxDlg类中声明ComboBox类的对象
CComboBox m_wndCombo;
3、在BOOL CCreateComboxDlg::OnInitDialog()函数结尾处(return 前)添加如下语句
if (!m_wndCombo.Create(
WS_CHILD | WS_VISIBLE |
WS_VSCROLL | CBS_DROPDOWNLIST,
CRect(1, 1, 200, 300), this, 100))
{
TRACE0("Failed to create ComboBox\n");
return -1;
}
m_wndCombo.ShowWindow(SW_NORMAL);
m_wndCombo.AddString("Test 1");
m_wndCombo.AddString("Test 2");
m_wndCombo.AddString("Test 3");
m_wndCombo.AddString("Test 4");
m_wndCombo.SetCurSel(0);4、生成void CCreateComboxDlg::OnOK()函数,添加测试语句,函数如下
void CCreateComboxDlg::OnOK()
{
CString strTemp;
m_wndVCKBase.GetWindowText(strTemp);
AfxMessageBox(strTemp);
}
afx_msg void OnCbnSelchangeCombo1();
in.cpp
ON_CBN_SELCHANGE( YouCtrlID/*100*/, OnCbnSelchangeCombo1)void CYouDlg::OnCbnSelchangeCombo1()
{
// TODO: 在此添加控件通知处理程序代码
}
#include <afxwin.h> // MFC core and standard components
#include <afxext.h> // MFC extensions
#include <afxdisp.h> // MFC Automation classes
#include <afxdtctl.h>
如果在stdaxf.h中加了,就会报错这么说,我不能用CComboBox Class,CB_ADDSTRING程序也不会知道是什么,因为这些都是在windowsh里定义的,我找到了windows。h,找到CB_ADDSTRING对应的是0X147但没用。
_T("combo1"),
WS_CHILD | WS_VSCROLL | WS_VISIBLE | CBS_DROPDOWNLIST | CBS_HASSTRINGS ,
0,0,200,20,
this->m_hWnd ,NULL,
NULL,NULL); ::ShowWindow(m_hComboxHandle,SW_SHOW);
((CComboBox*)FromHandle( m_hComboxHandle ) )->AddString( "aaaaa" ) ;
((CComboBox*)FromHandle( m_hComboxHandle ) )->AddString( "bbbbb" ) ;
((CComboBox*)FromHandle( m_hComboxHandle ) )->AddString( "cccccc" ) ; ((CComboBox*)FromHandle( m_hComboxHandle ) )->SetTopIndex( 10 ) ;