|
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();
LRESULT lr = SendMessage(hCombo,(UINT)CB_ADDSTRING,(WPARAM)0,(LPARAM)L"ValueName");
dError = GetLastError();
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
|
|
|
|
|
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
}
|
|
|
|
|
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);
dError = GetLastError();
lr= SendMessage(hCombo,(UINT)CB_ADDSTRING,(WPARAM)0,(LPARAM)ValueName);
dError = GetLastError();
lr= SendMessage(hCombo,(UINT)CB_ADDSTRING,(WPARAM)0,(LPARAM)ValueName);
dError = GetLastError();
lr= SendMessage(hCombo,(UINT)CB_GETCOUNT,(WPARAM)0,(LPARAM)0);
dError = GetLastError();
|
|
|
|
|
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.
|
|
|
|
|
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
|
|
|
|
|
OK... kindly ignore my next solution... ha ha...
- NS -
|
|
|
|
|
Wow so your problem wasnt combobbox and your answer was MoveWindow
|
|
|
|
|
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 -
|
|
|
|
|
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.
|
|
|
|
|
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..
|
|
|
|
|
Provided you're usign MFC , my dear (the OP uses Win32 API )...
If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler.
-- Alfonso the Wise, 13th Century King of Castile.
|
|
|
|
|
Thnx but I am using WIN32 based Dialog Box.
|
|
|
|
|
Your code is working for me how did you make combobox can you show that code?
|
|
|
|
|
I extended my own ListCtrl class
CMyListCtrl: public CListCtrl
My wanted function: when I press 'CTRL + A', select all rows in the list control.
I implement the OnKeyDown(prarameters) method and map the ON_WM_KEYDOWN message.
But I don't know how to set the selected state of items, Anyone could help me?
|
|
|
|
|
Have a look at SetItemState method.
If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler.
-- Alfonso the Wise, 13th Century King of Castile.
|
|
|
|
|
Use SetItemState( -1, LVIS_SELECTED, LVIS_SELECTED );
- NS -
|
|
|
|
|
thx very much,
Actually I'm not sure about SetItemState, now I have your example.
|
|
|
|
|
Hi
In my program CRectTracker class is used to resize a window. How to control rectangle ( shadow rectangle draws while dragging mouse) while resizing the window. I use TrackRubberBand function.
thanks in advance
-RisKhan-
|
|
|
|
|
Hello everyone,
In MSDN for time function,
time_t time(
time_t *timer
);
http://msdn2.microsoft.com/en-us/library/1f4c8f33(VS.80).aspx
the return value of time is time_t, but in the Return Value section, it mentioned,
Return the time as seconds elapsed since midnight, January 1, 1970. There is no error return.
So, I am wondering whether time_t could be represented as elapsed number of seconds correctly and safely -- no data lost if we convert return value to unsigned long?
Like,
unsigned long second = time (NULL);
thanks in advance,
George
|
|
|
|
|
In time.h
typedef long time_t;
|
|
|
|
|
Thanks Roger,
Your answer is helpful!
regards,
George
|
|
|
|
|
Hello everyone,
I am wondering when function DllRegisterServer will be invoked? I am using Visual Studio 2005 to develop an in-process native (unmanaged) C++ COM. I am wondering when it will be invoked?
1. During the build process or during the DLL initialization process?
2. I find this function only works for debug mode, not release mode. Is that correct?
In MSDN,
http://msdn2.microsoft.com/en-us/library/ms682162.aspx
there are not too much information about when this method will be invoked and whether it works for both debug mode code and release mode code.
thanks in advance,
George
|
|
|
|