09 сентября 2006

Эволюция WinAPI

Каким образом нужно использовать ту или иную возможность WinAPI - сильно зависит от времени, когда она появилась. Если она была введена в Win3.1 - получите доступ через сообщения, если в Win2000 - через COM объекты. Полагаю, новые возможности Vista будут доступны только через .NET.

Пример - настройка combobox. Показывать в нем свои элементы можно давно, и реализовывается это через обработку сообщений (WM_DRAWITEM). Сделать собственное автодополнение и автозаполнение - сравнительно недавно, и делать это надо уже через написание COM-объекта (IAutoComplete). Новые возможности комбобокса, думаю будут доступны через managed code.

1 комментарий:

Not a kernel guy комментирует...

> Полагаю, новые возможности Vista
> будут доступны только через .NET.

Думаю, что это зависит от того, на чем соответствующие возможности были реализованы. Автозаполнение реализовано как надстройка над оригинальным комбобоксом. Сам комбобокс либо не трогали вообще, либо изменения были минимальны.

Соотвественно если новая функциональность будет написана на .NET, то, скорее всего, это будет еще одна надстройка нам старым контролом.

Альтернативный вариант - переписывание контрола с нуля - менее вероятен. Просто потому, что тогда придется обеспечить 100% совместимость со старым кодом. А это хороший кусок работы.