ger_kar » 01.05.2016 (Вс) 18:59
Ну вообще я делаю не один, а сразу целую группу контролов. В том числе и контролы с выпадающими окнами. Например меня не устраивает стандартный DatePicker и календарь поэтому выпадающем окне должен быть календарик, но не стандартный, а мой, кроме этого он может использоваться и отдельно, а также в составе других контролов, например в дополнение к простому DatePicker я хочу добавить контрол для выбора не даты, а сразу периода (на подобии 1С), также будут и другие контролы, в которых будут другие выпадающие списки с другими элементами, в том числе и с нестандартными. Если рисовать такие окна с использованием WinAPI и стандартных контролов, то проблем особо нет, а вот если делать то, что хочу сделать я, то придется делать массу лишней работы. Тот же календарик придется делать 2 раза, один раз как UserControl с использованием событий, а другой раз тоже самое сделать на чистом WinAPI с использованием сообщений. Те же кнопки придется рисовать отдельно на WinAPI, а их не одна. Вобщем вместо повторного использования кода будет масса лишней работы. Если просто пересадить окно контрола того же календарика например, на рабочий стол, то сразу начинаются проблемы с его закрытием, так как оно первоначально он находится в составе пикера, и при пересадке на рабочий стол, фокус принимать от пикера не желает. Сейчас пробую такую модель, создать отдельное окно привязанное к рабочему столу, и выпадающее окно пересаживать уже на него.
Бороться и искать, найти и перепрятать