Sign in to follow this  
wforl

combo boxes

Recommended Posts

wforl    169
I seem to be having a problem with the combo box i created in the dialog editor using the toolbox The combo box when running doesn't seem to show any of the strings i added. Ive double checked the ID's are correct, and count always seems to be 0, and @err,hr doesn't show anything other than OK, any ideas?

static const char* NotUsed = "**";

switch( msg )
	{
case WM_INITDIALOG:

		//lights
		handle = GetDlgItem(hwnd,IDC_COMBOBOX_LIGHTS);
		SendMessage(handle, CB_ADDSTRING, 0, (LPARAM) "Light1");
		SendMessage(handle, CB_ADDSTRING, 0, (LPARAM) "Light2");
		SendMessage(handle, CB_ADDSTRING, 0, (LPARAM)(LPCSTR) "Light3");
		SendMessage(handle, CB_ADDSTRING, 0, (LPARAM)(LPCSTR) NotUsed2);
		count = SendMessage(handle, CB_GETCOUNT, 0, 0);

		return 0;
}

Share this post


Link to post
Share on other sites
staticVoid2    381
check if its returning an error first:


switch(SendMessage(handle, CB_ADDSTRING, 0, (LPARAM) "Light1"))
{
case CB_ERRSPACE:
// not enough space to store string
break;

case CB_ERR:
// error
break;

default:
// something else
{

Share this post


Link to post
Share on other sites
Mike nl    390

  • Are you sure the IDC_COMBOBOX_LIGHTS is correct?

  • Is this on the correct dialog?

  • Try adding unicode strings instead (prefix the literals with L and cast to LPTSTR).

  • What are the styles (owner-drawn? has strings?) for the combobox (post the line from the .rc file)?

  • Try printing the return values of the SendMessages to check for errors.

  • If this is a drop-down combobox, make sure the height of the control is enough to fit several lines of text (otherwise they're clipped).

Share this post


Link to post
Share on other sites
wforl    169
I tried all of that still no luck :(

Are you sure the IDC_COMBOBOX_LIGHT is correct? - Yes,

 CONTROL         "",IDC_COMBOBOX_LIGHT,"ComboBoxEx32",CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_TABSTOP,12,202,120,50



Is this on the correct dialog? - yes

Try adding unicode strings instead (prefix the literals with L and cast to LPTSTR) - no luck

//lights
handle = GetDlgItem(hwnd,IDC_COMBOBOX_LIGHT);
SendMessage(handle, CB_ADDSTRING, 0, (LPARAM) "Lig");
SendMessage(handle, CB_ADDSTRING, 0, (LPARAM) "Li");
SendMessage(handle, CB_ADDSTRING, 0, (LPARAM)(LPTSTR) L"Li");
SendMessage(handle, CB_ADDSTRING, 0, (LPARAM)(LPCSTR) NotUsed2);
count = SendMessage(handle, CB_GETCOUNT, 0, 0);



What are the styles (owner-drawn? has strings?) for the combobox (post the line from the .rc file)?

 CONTROL         "",IDC_COMBOBOX_LIGHT,"ComboBoxEx32",CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_TABSTOP,12,202,120,50



Try printing the return values of the SendMessages to check for errors - always OK

If this is a drop-down combobox, make sure the height of the control is enough to fit several lines of text (otherwise they're clipped) - changed height

Share this post


Link to post
Share on other sites
wforl    169
ah yes, thankyou

I shall try to look at the .rc a lot more often, dont know how it became extended though, as i only created a standard combo box, anyway i remade a standard combo and all is good.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this