1: If your talking about a ListView control, then you can. If you are really talking about a drop ListBox, then it would take some serious customization to add that capability. In that case I surmise the simplest thing would probably be to catch the drop-down event, and display a "popup" ListView control for the user to make their selection. Also try searching CodeGuru.com. If you are using MFC then they have a ton of hybrid controls.
2: That is the default behavior of a dialog box. Capture the WM_KEYDOWN message for VK_RETURN and do not call the framework / default WndProc implementation (instead you can set focus to the next control just as Tab does, etc). If you have a multiline edit box and want to allow the user to enter multiple lines of text with carriage returns, then you have to set the ES_WANTRETURN style for the edit control.
3: Certainly. You receive key events in pairs; Key Down and Key Up. Obviously if you receive Key Down events for two different keys, without a correspondig Key Up, then both keys are down at once.
Dan East