RowHeight/Control Height

I would like a row height less than the default 22 with a font of 8pt, but if I set the rowheight to anything less than 22, controls such as the combobox extend outside the cell. Is there any way to adjust the size of the control so that it will fit with a row height of 18 besides changing to a smaller font.

This is controlled by the minimum combobox height defined in Windows. You'll see the same when you try to reduce the height of a standalone combobox. So sadly, this size is a Windows limitation.

Other grids such as TopGrid, which I'm replacing, and NextGrid don't have this problem. WIth a standard combobox I can use SendMessage(handle, CB_SETITEMHEIGHT, -1, myHeight) to override this behavior. 

I've found that I can use SendMessage(grid.ComboBox.handle, CB_SETITEMHEIGHT, -1, myHeight) in the OnGetCellColor handler to adjust the ComboBoxHeight. It looks like for an row height of 18 and an 8pt font, the height for CB_SETITEMHEIGHT should be 12.

I cannot see this having a permanent effect. As soon as the combobox gets focus, its height is reset here to the default height.

It is actually a little more complicated, but I do have it working here. In the OnGetCellColor handler I have

if (ACol = 2) and not FHeightSet then
  begin
    SendMessage(grdAdv.ComboBox.Handle, CB_SETITEMHEIGHT, -1, 12);
  end;

Then in the OnComboDropDown I set FHeightSet to true and and in the OnComboCloseUp I set it to false.

Maybe you could find a cleaner way to do this.

It also works by just having 



SendMessage(grdAdv.ComboBox.Handle, CB_SETITEMHEIGHT, -1, 12);

in the OnComboDropDown.

We'll investigate this and when safe, we'll apply this improvement.