How can I tell the combobox control that it should draw text in the whole cell when no pushbutton is visible?

You may set

m_bInactiveDrawAllCell = TRUE;

This is a new attribute in the CGXComboBox and CGXComboBoxWnd class.

You can set this attribute when registering the control in your OnInitialUpdate() method.

Example:

   // allow user to input any text
   {
      CGXComboBox* pWnd = new CGXComboBox(new CGXComboBox(this, GX_IDS_CTRL_COMBOBOX, GX_IDS_CTRL_COMBOBOX+1, GXCOMBO_NOTEXTFIT);
      pWnd->m_bInactiveDrawAllCell = TRUE;   // draw text over pushbutton when inactive
      RegisterControl(GX_IDS_CTRL_COMBOBOX, pWnd);
   }

Now, when you apply the GX_IDS_CTRL_COMBOBOX combobox to your cells, they will all draw the text over the pushbutton when the pushbutton is invisible.