Combo box in TStringGrid?

Is it possible have a combo box for certain columns of a TStringGrid? If not, what is another approach I can use to display a 'pick list' to the user within a TStringGrid?
ChrisGinAsked:
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

mheacockCommented:
This is not really an 'easy' question, but I'll give it a shot.

I might put a special string in cells that would contain the pick grid, perhaps "<choose>".

When someone selected a cell with "<choose>" in it, you would unhide a combo box you have on your form and place it in the appropriate place on the grid and allow the user to choose a string.  This placing of the combo box would be a very involved procedure...doable, but difficult.

Second you would need a 2D array of TStringLists (or TLists) for the number of rows/columns in your grid...these lists would either be empty, or contain the pick lists for the appropriate cells.

Other than placing the ComboBox, this is probably the the simplest/best solution.  TStringGrid on its own will not support what you desire...you could take the TStringGrid source code and alter it to your desires to create a new TStringComboGrid component.
0

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
ChrisGinAuthor Commented:
Hmm, that's a pity - I thought there might be an 'easy' way since  it is used extensively in Delphi's Object Inspector. Do you know how the Object Inspector was created?
0
mheacockCommented:
I don't think the Object Inspector is a string grid.  It behaves and reacts differently to mouse clicks and selections.  It looks like a specially designed component.
0
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Delphi

From novice to tech pro — start learning today.