Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. General Programming
  3. C / C++ / MFC
  4. Not able to add Item in Combo Box [modified]

Not able to add Item in Combo Box [modified]

Scheduled Pinned Locked Moved C / C++ / MFC
comhelp
16 Posts 6 Posters 0 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • G Offline
    G Offline
    GauranG Shah
    wrote on last edited by
    #1

    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 ]

    N S H 3 Replies Last reply
    0
    • G GauranG Shah

      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 ]

      N Offline
      N Offline
      Nishad S
      wrote on last edited by
      #2

      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 -

      G 1 Reply Last reply
      0
      • G GauranG Shah

        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 ]

        S Offline
        S Offline
        saravana001
        wrote on last edited by
        #3

        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..

        C G 2 Replies Last reply
        0
        • S saravana001

          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..

          C Offline
          C Offline
          CPallini
          wrote on last edited by
          #4

          Provided you're usign MFC, my dear (the OP uses Win32 API)... :-D

          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.

          1 Reply Last reply
          0
          • S saravana001

            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..

            G Offline
            G Offline
            GauranG Shah
            wrote on last edited by
            #5

            Thnx but I am using WIN32 based Dialog Box.

            [ Screen Capture ][ Tool Tip ]

            1 Reply Last reply
            0
            • N Nishad S

              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 -

              G Offline
              G Offline
              GauranG Shah
              wrote on last edited by
              #6

              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 ]

              N 1 Reply Last reply
              0
              • G GauranG Shah

                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 ]

                N Offline
                N Offline
                Nishad S
                wrote on last edited by
                #7

                I have tried it. It is working fine... :( What is the return value of the SendMessage?

                - NS -

                G 1 Reply Last reply
                0
                • N Nishad S

                  I have tried it. It is working fine... :( What is the return value of the SendMessage?

                  - NS -

                  G Offline
                  G Offline
                  GauranG Shah
                  wrote on last edited by
                  #8

                  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 ]

                  N R 2 Replies Last reply
                  0
                  • G GauranG Shah

                    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 ]

                    N Offline
                    N Offline
                    Nishad S
                    wrote on last edited by
                    #9

                    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 -

                    G 1 Reply Last reply
                    0
                    • G GauranG Shah

                      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 ]

                      R Offline
                      R Offline
                      Roger Broomfield
                      wrote on last edited by
                      #10

                      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.

                      1 Reply Last reply
                      0
                      • N Nishad S

                        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 -

                        G Offline
                        G Offline
                        GauranG Shah
                        wrote on last edited by
                        #11

                        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 ]

                        G N 2 Replies Last reply
                        0
                        • G GauranG Shah

                          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 ]

                          G Offline
                          G Offline
                          GauranG Shah
                          wrote on last edited by
                          #12

                          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 ]

                          N H 2 Replies Last reply
                          0
                          • G GauranG Shah

                            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 ]

                            N Offline
                            N Offline
                            Nishad S
                            wrote on last edited by
                            #13

                            :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 -

                            1 Reply Last reply
                            0
                            • G GauranG Shah

                              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 ]

                              N Offline
                              N Offline
                              Nishad S
                              wrote on last edited by
                              #14

                              :-D OK... kindly ignore my next solution... ha ha... ;)

                              - NS -

                              1 Reply Last reply
                              0
                              • G GauranG Shah

                                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 ]

                                H Offline
                                H Offline
                                Hamid Taebi
                                wrote on last edited by
                                #15

                                Your code is working for me how did you make combobox can you show that code?

                                1 Reply Last reply
                                0
                                • G GauranG Shah

                                  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 ]

                                  H Offline
                                  H Offline
                                  Hamid Taebi
                                  wrote on last edited by
                                  #16

                                  Wow so your problem wasnt combobbox and your answer was MoveWindow :-D

                                  1 Reply Last reply
                                  0
                                  Reply
                                  • Reply as topic
                                  Log in to reply
                                  • Oldest to Newest
                                  • Newest to Oldest
                                  • Most Votes


                                  • Login

                                  • Don't have an account? Register

                                  • Login or register to search.
                                  • First post
                                    Last post
                                  0
                                  • Categories
                                  • Recent
                                  • Tags
                                  • Popular
                                  • World
                                  • Users
                                  • Groups