Not able to add Item in Combo Box [modified]
-
Hello Friends, I am using WIN32 Dialog based Application. And in that I am using combo box. But not able to add the string in the combo box. the Code I use to set the text in dialog box in as follows
case WM_INITDIALOG:
TCHAR *ValueName = new TCHAR[20];
wcscpy(ValueName,L"Gaurang ");
hCombo = GetDlgItem(hWndDlg,IDC_COMBO1);
SendDlgItemMessage(hWndDlg,IDC_COMBO1,(UINT)CB_ADDSTRING,(WPARAM)0,(LPARAM)L"Gaurang");
dError = GetLastError(); //dError = 1460
LRESULT lr = SendMessage(hCombo,(UINT)CB_ADDSTRING,(WPARAM)0,(LPARAM)L"ValueName");
dError = GetLastError(); //dError = 1460
break;When I use the above line of code to set the Text in combo box it gives me the 1460 error code which says "This operation returned because the timeout period expired" -- modified at 6:55 Monday 29th October, 2007
[ Screen Capture ][ Tool Tip ]
-
Hello Friends, I am using WIN32 Dialog based Application. And in that I am using combo box. But not able to add the string in the combo box. the Code I use to set the text in dialog box in as follows
case WM_INITDIALOG:
TCHAR *ValueName = new TCHAR[20];
wcscpy(ValueName,L"Gaurang ");
hCombo = GetDlgItem(hWndDlg,IDC_COMBO1);
SendDlgItemMessage(hWndDlg,IDC_COMBO1,(UINT)CB_ADDSTRING,(WPARAM)0,(LPARAM)L"Gaurang");
dError = GetLastError(); //dError = 1460
LRESULT lr = SendMessage(hCombo,(UINT)CB_ADDSTRING,(WPARAM)0,(LPARAM)L"ValueName");
dError = GetLastError(); //dError = 1460
break;When I use the above line of code to set the Text in combo box it gives me the 1460 error code which says "This operation returned because the timeout period expired" -- modified at 6:55 Monday 29th October, 2007
[ Screen Capture ][ Tool Tip ]
-
Hello Friends, I am using WIN32 Dialog based Application. And in that I am using combo box. But not able to add the string in the combo box. the Code I use to set the text in dialog box in as follows
case WM_INITDIALOG:
TCHAR *ValueName = new TCHAR[20];
wcscpy(ValueName,L"Gaurang ");
hCombo = GetDlgItem(hWndDlg,IDC_COMBO1);
SendDlgItemMessage(hWndDlg,IDC_COMBO1,(UINT)CB_ADDSTRING,(WPARAM)0,(LPARAM)L"Gaurang");
dError = GetLastError(); //dError = 1460
LRESULT lr = SendMessage(hCombo,(UINT)CB_ADDSTRING,(WPARAM)0,(LPARAM)L"ValueName");
dError = GetLastError(); //dError = 1460
break;When I use the above line of code to set the Text in combo box it gives me the 1460 error code which says "This operation returned because the timeout period expired" -- modified at 6:55 Monday 29th October, 2007
[ Screen Capture ][ Tool Tip ]
U can add a string to a combo box using CString string1; m_combobox.AddString(String1); here m_combobox is the member variable of the combo box. Regards.. Saravana..
-
U can add a string to a combo box using CString string1; m_combobox.AddString(String1); here m_combobox is the member variable of the combo box. Regards.. Saravana..
-
U can add a string to a combo box using CString string1; m_combobox.AddString(String1); here m_combobox is the member variable of the combo box. Regards.. Saravana..
Thnx but I am using WIN32 based Dialog Box.
[ Screen Capture ][ Tool Tip ]
-
Are you sure that combobox is created with the same ID? Also can you do this from anyother event than WM_INITDIALOG? I mean any WM_LBUTTONDOWN?
- NS -
Hi, When I use the above code in some Button even then I am getting Error code as 5. I.e. case WM_COMMAND: if (LOWORD(wParam) == IDOK) { SendMessage(GetDlgItem(hWndDlg,IDC_COMBO1),(UINT)CB_ADDSTRING,(WPARAM)0,(LPARAM)L"ValueName"); dError = GetLastError(); //dError = 5; which mean Access denied }
[ Screen Capture ][ Tool Tip ]
-
Hi, When I use the above code in some Button even then I am getting Error code as 5. I.e. case WM_COMMAND: if (LOWORD(wParam) == IDOK) { SendMessage(GetDlgItem(hWndDlg,IDC_COMBO1),(UINT)CB_ADDSTRING,(WPARAM)0,(LPARAM)L"ValueName"); dError = GetLastError(); //dError = 5; which mean Access denied }
[ Screen Capture ][ Tool Tip ]
-
I have tried it. It is working fine... :( What is the return value of the SendMessage?
- NS -
I am using this code in Modeless Dialog Box. Can it be the source of problem ? This is what I am getting.
lr= SendMessage(hCombo,(UINT)CB_ADDSTRING,(WPARAM)0,(LPARAM)ValueName); //lr ==0
dError = GetLastError(); // dError == 1460
lr= SendMessage(hCombo,(UINT)CB_ADDSTRING,(WPARAM)0,(LPARAM)ValueName); // l2 == 0
dError = GetLastError(); // dError == 1460
lr= SendMessage(hCombo,(UINT)CB_ADDSTRING,(WPARAM)0,(LPARAM)ValueName); //lr == 0
dError = GetLastError(); // dError == 1460
lr= SendMessage(hCombo,(UINT)CB_GETCOUNT,(WPARAM)0,(LPARAM)0); //lr == 3
dError = GetLastError(); // dError == 1460[ Screen Capture ][ Tool Tip ]
-
I am using this code in Modeless Dialog Box. Can it be the source of problem ? This is what I am getting.
lr= SendMessage(hCombo,(UINT)CB_ADDSTRING,(WPARAM)0,(LPARAM)ValueName); //lr ==0
dError = GetLastError(); // dError == 1460
lr= SendMessage(hCombo,(UINT)CB_ADDSTRING,(WPARAM)0,(LPARAM)ValueName); // l2 == 0
dError = GetLastError(); // dError == 1460
lr= SendMessage(hCombo,(UINT)CB_ADDSTRING,(WPARAM)0,(LPARAM)ValueName); //lr == 0
dError = GetLastError(); // dError == 1460
lr= SendMessage(hCombo,(UINT)CB_GETCOUNT,(WPARAM)0,(LPARAM)0); //lr == 3
dError = GetLastError(); // dError == 1460[ Screen Capture ][ Tool Tip ]
-
I am using this code in Modeless Dialog Box. Can it be the source of problem ? This is what I am getting.
lr= SendMessage(hCombo,(UINT)CB_ADDSTRING,(WPARAM)0,(LPARAM)ValueName); //lr ==0
dError = GetLastError(); // dError == 1460
lr= SendMessage(hCombo,(UINT)CB_ADDSTRING,(WPARAM)0,(LPARAM)ValueName); // l2 == 0
dError = GetLastError(); // dError == 1460
lr= SendMessage(hCombo,(UINT)CB_ADDSTRING,(WPARAM)0,(LPARAM)ValueName); //lr == 0
dError = GetLastError(); // dError == 1460
lr= SendMessage(hCombo,(UINT)CB_GETCOUNT,(WPARAM)0,(LPARAM)0); //lr == 3
dError = GetLastError(); // dError == 1460[ Screen Capture ][ Tool Tip ]
CB_ADDSTRING returns the index of the item added, or CB_ERR ( = -1) if an error occurs, CB_ERRSPACE if insufficient space available. You add 3 items of the same value, each time the return value is 0, this is totally consistent with a combobox that has the CBS_SORT style. Furthermore the CB_GETCOUNT return value is 3 indicating that 3 items were infact added. Also there is no indication in the documentation of CB_ADDSTRING that it calls SetLastError() when an error occurs.
-
I got the problem... :) CB_ADDSTRING has no effect on last error. Try like this and you will get the answer... SetLastError( 10 ); SendDlgItemMessage( hDlg, IDC_COMBO1, CB_ADDSTRING, 0, (LPARAM)L"Apple" );
- NS -
Thnx Again. But its NOT working. I tried you code in WM_INITDIALOG and in Button even also. But its not showing anything in the combo box.
[ Screen Capture ][ Tool Tip ]
-
Thnx Again. But its NOT working. I tried you code in WM_INITDIALOG and in Button even also. But its not showing anything in the combo box.
[ Screen Capture ][ Tool Tip ]
sorry for my post. It was happpening due to the silly mistake. the hight of the comobox was too small to show the charcters in it. I just take the new combo box with greater hight and problem solved. Thnx a lot for your help
[ Screen Capture ][ Tool Tip ]
-
Thnx Again. But its NOT working. I tried you code in WM_INITDIALOG and in Button even also. But its not showing anything in the combo box.
[ Screen Capture ][ Tool Tip ]
:sigh: But the return value is the indication of success and again the count is correct as per your previous post... What kind of combobox is that? Can you check your code by doing as follows? 1. Add some items to combobox and through the resource editor 2. Comment out the dynamic item adding (CB_ADDSTRING) codes 3. Run the application and test it
- NS -
-
sorry for my post. It was happpening due to the silly mistake. the hight of the comobox was too small to show the charcters in it. I just take the new combo box with greater hight and problem solved. Thnx a lot for your help
[ Screen Capture ][ Tool Tip ]
-
Hello Friends, I am using WIN32 Dialog based Application. And in that I am using combo box. But not able to add the string in the combo box. the Code I use to set the text in dialog box in as follows
case WM_INITDIALOG:
TCHAR *ValueName = new TCHAR[20];
wcscpy(ValueName,L"Gaurang ");
hCombo = GetDlgItem(hWndDlg,IDC_COMBO1);
SendDlgItemMessage(hWndDlg,IDC_COMBO1,(UINT)CB_ADDSTRING,(WPARAM)0,(LPARAM)L"Gaurang");
dError = GetLastError(); //dError = 1460
LRESULT lr = SendMessage(hCombo,(UINT)CB_ADDSTRING,(WPARAM)0,(LPARAM)L"ValueName");
dError = GetLastError(); //dError = 1460
break;When I use the above line of code to set the Text in combo box it gives me the 1460 error code which says "This operation returned because the timeout period expired" -- modified at 6:55 Monday 29th October, 2007
[ Screen Capture ][ Tool Tip ]
Your code is working for me how did you make combobox can you show that code?
-
sorry for my post. It was happpening due to the silly mistake. the hight of the comobox was too small to show the charcters in it. I just take the new combo box with greater hight and problem solved. Thnx a lot for your help
[ Screen Capture ][ Tool Tip ]
Wow so your problem wasnt combobbox and your answer was MoveWindow :-D