Здравствуйте, std.denis, Вы писали:
SD>EnumWindows показал, что у меня сейчас имеется 75 инстанции "ComboLBox". Так что вполне вероятно, что они плодятся таки при создании комбика.
Где гарантия что точно также в NT\98 например? SD>Есть способ проверить экспериментальным путем — создать "20 тысяч штук" и посмотреть что покажет EnumWindows.
Не-е-е, это не наш метод! Сегодня Билли их создает сразу при создании ComboBox, завтра иначе, вчера в целях экономии еще как-то. Не! Закладываться настолько на внутренную имплементацию Винды неохота... SD>К тому же, если CB_GETCOMBOBOXINFO выдает вполне конкретное значение в поле hwndList, то я думаю на него можно надеяться — можно попробовать получить этот HWND сразу после создания.
Да! Согласен, за этот совет спасибо! Я в принципе так и сделал, что сначала пытаемся получить hwndList через CB_GETCOMBOBOXINFO и только если CB_GETCOMBOBOXINFO ничего не дает, тогда начинаются бубны с хуком. Тут еще вопрос когда размеры ComboLBox выставляются!?! Я бы ставил в последний момент, т.е. где-то в районе CBN_DROPDOWN — просто инфы у Винды что да куда в этот момент явно больше (опять же в той же CBN_DROPDOWN можно маленько с CB_SETDROPPEDWIDTH пошуровать — размеры изменятся).