Я пытаюсь создать собственный выпадающий список для производной от CComboBox
. В раскрывающемся списке будет элемент управления календарем и несколько «горячих точек», например,
Изображение размещено на ImageShack.us http://img59.imageshack.us/img59/394/calctrl.png
Так что я считаю, что лучший способ добиться этого - иметь простой класс CWnd
, который является родительским для элемента управления календаря, и заставить его рисовать горячие точки.
Окно должно быть всплывающим окном, я думаю, а не дочерним окном, чтобы оно не обрезалось. Но это приводит к тому, что диалог (в котором размещается элемент управления combobox) перестает быть самым верхним (передним планом?) Окном, приводя к тому, что его рамка рисуется по-другому:
альтернативный текст http://img693.imageshack.us/img693/3474/35148785.png
Это разрушает иллюзию того, что выпадающий список является частью поля со списком, поскольку в данный момент он больше похож на модальный диалог. Любые предложения о том, как сделать так, чтобы пользовательский раскрывающийся список вел себя как обычный раскрывающийся список?
Есть ли другие подводные камни, на которые мне нужно обратить внимание, например, проблемы с фокусом и захватом мыши?