Здравствуйте, Sandr7, Вы писали:
S>Вот мне как раз надо DROPDOWNLIST, хотклось перерисовать этот самый статический edit не по стандартному... S>Попрбую создать свой класс. S>А пояните плиз новичку чем отличается суперкласс от сабкласса? Тем что сабкласс наследуется от другого, а суперкласс нет?
Сабклассинг:
я создаю готовое окошко исходного класса (т.е. обычный комбобокс), а потом подставляю для этого окошка свою кастомную оконную процедуру, как у Кодта в примере.
Суперклассинг:
я создаю свой кастомный класс окна с моей собственной оконной процедурой — а уже в этой процедуре смотря по сообщению или делаю что мне хочется или вызываю стандартную комбобоксовскую процедуру.
Важная разница в том, что сабклассить можно в любой момент времени — уже созданное тобой или кем-то другим окошко, а суперклассить окно можно только при создании, т.е. создавать его уже суперкласснутым. Зато суперкласснутые окошки создавать можно пачками запросто, класс уже есть — CreateWindow и у тебя уже готовое суперкласснутое окно. А сабклассить надо каждое окошко индивидуально, старую процедуру запоминать, новую выставлять.
Кстати, если тебе хочется только содержимое псевдоэдита по-своему перерисовывать, а вид рамочки и кнопочки тебя не смущают — то можно просто использовать OWNERDRAW комбобокс, это, имхо, будет проще чем с оконными процедурами возиться.