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 ) ; 求一个win7系统下 能用的vc服务程序 学习用 内存BMP数据显示问题??? 消息问题 与BCB之间的问题,可能有点难哟 关于一个刷新问题,一个dialog 上面放了一个CpropertySheet. 在一个ATL工程中,加入一个控件和一个普通类,在类的方法中如何引发控件的事件? 键盘中断处理 在VC中怎么定义中断 他和钩子 有什么区别 问一个关于一个winAPI函数SetTimer的问题. c#中将string转化为int 为什么不能SetDlgItemInt 一个关于数据结构的描述,有没有能帮我的? 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 ) ;