描述:
大家帮帮忙!!!
我想捕获CComboBox控件edit框中的输入事件,对所输入的字符串进行处理,该怎么做呀??
解决方案1:
你说清楚点,你用什么atl还是mfc呢?如果你用atl指有一个办法,必须用api处理!给你一个例子:这是在atl中有一个CComboBox,你看看!希望对你有帮助
int __stdcall dlgsetpro( HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam )
{
// BOOL fError;
CString str1,str2,str3,str4,str5,str6;
static HWND hCombo;
//index = -1;
switch(uMsg)
{
case WM_INITDIALOG:
{
str1.Format(_T("%.2f"), gLookAt.x);
SetDlgItemText(hwndDlg,IDC_AX,str1);
str2.Format(_T("%.2f"), gLookAt.y);
SetDlgItemText(hwndDlg,IDC_AY,str2);
str3.Format(_T("%.2f"), gLookAt.z);
SetDlgItemText(hwndDlg,IDC_AZ,str3);
str4.Format(_T("%.2f"), gLookFrom.x);
SetDlgItemText(hwndDlg,IDC_FX,str4);
str5.Format(_T("%.2f"), gLookFrom.y);
SetDlgItemText(hwndDlg,IDC_FY,str5);
str6.Format(_T("%.2f"), gLookFrom.z);
SetDlgItemText(hwndDlg,IDC_FZ,str6);
hCombo = GetDlgItem(hwndDlg,IDC_VIEWMODE);
char str1[20] = "VIEW_MODE_TOP";
::SendMessage(hCombo,CB_ADDSTRING,TRUE,long(str1));
char str2[20] ="VIEW_MODE_BOTTOM";
::SendMessage(hCombo,CB_ADDSTRING,TRUE,long(str2));
char str3[20] ="VIEW_MODE_LEFT";
::SendMessage(hCombo,CB_ADDSTRING,TRUE,long(str3));
char str4[20] ="VIEW_MODE_RIGHT";
::SendMessage(hCombo,CB_ADDSTRING,TRUE,long(str4));
char str5[20] ="VIEW_MODE_FRONT";
::SendMessage(hCombo,CB_ADDSTRING,TRUE,long(str5));
char str6[20] ="VIEW_MODE_BACK";
::SendMessage(hCombo,CB_ADDSTRING,TRUE,long(str6));
char str7[20] ="VIEW_MODE_USER";
::SendMessage(hCombo,CB_ADDSTRING,TRUE,long(str7));
char str8[30] ="VIEW_MODE_PERSPECTIVE";
::SendMessage(hCombo,CB_ADDSTRING,TRUE,long(str8));
}
break;
case WM_COMMAND:
{
switch(LOWORD(wParam))
{
.....
}
}
break;
}
return 0;
}