Как написать вертикальную правую панель IE Explorer - PullRequest
2 голосов
/ 18 января 2009

Я уже писал панели обозревателя (объект группы), а Вертикальные панели AFAIK могут находиться только на левой стороне . Тем не менее, я был поражен, когда увидел эту панель обозревателя HP, которая вместо этого закреплена справа:

A vertical explorer bar on the right hand side

Я немного искал в Google и не могу найти ресурсы по этому вопросу. Кто-нибудь знает, как построить правую вертикальную панель обозревателя ?

Ответы [ 3 ]

1 голос
/ 03 мая 2009

Я только что выяснил, как работает правая панель Kutano , как я хотел бы сделать то же самое. Это напрямую не поможет вашему вопросу, так как у меня пока нет ответа, но вот что я знаю:

Kutano не выглядит как обычная панель обозревателя, так как для нее нет записи в HKCR\Software\Microsoft\Internet Explorer\Explorer Bars и в меню View|Explorer Bar.

Следующие записи в реестре, ссылающиеся на DLL боковой панели Kutano:

HKCR\AppID\{6D6036C6-692F-4211-903B-943D94E1CCC3}
  kutano_ie_client

HKCR\CLSID\{18D81A5F-F8A5-4B78-A6CC-7E37DCAFC0BB}
  Kutano Add-on
  TypeLib {24DA2415-9F99-403F-801B-A74AE4101C27}

HKCR\CLSID\{2AE98FD7-4E58-4400-8113-B5018ED48676}
  Kutano Sidebar
  TypeLib {24DA2415-9F99-403F-801B-A74AE4101C27}

HKCR\CLSID\{2F698BD8-48CD-45B4-ACDF-67F92082EE7E}
  MenuItem
  TypeLib {24DA2415-9F99-403F-801B-A74AE4101C27}

HKCR\CLSID\{A5B02961-E212-4195-A77D-6E1346C2DE18}
  kutanoSidebarExtInterface Class
  TypeLib {24DA2415-9F99-403F-801B-A74AE4101C27}

HKCR\CLSID\{E163FD8B-2ADD-4F2E-86E8-7678D008ED43}
  KutanoToolbarBtn Class
  TypeLib {24DA2415-9F99-403F-801B-A74AE4101C27}

HKCR\TypeLib\{24DA2415-9F99-403F-801B-A74AE4101C27}
  kutano_ie_client 1.0 Type Library

HKLM\Software\Classes\AppID\kutano_ie_client.DLL
  AppID {6D6036C6-692F-4211-903B-943D94E1CCC3}

Некоторые из них более очевидны в отношении того, что они делают, чем другие.

Рассматривая Spy ++, можно добавить дополнительный Shell DocObject View к иерархии окон:

TabWindowClass
  ATL:63CB39A0
    Kutano_SplitterWindow
      AtlAxWin90
        Shell Embedding
          Shell DocObject View
            Internet Explorer_Server

Он оставляет оригинал на месте и продолжает использовать его:

TabWindowClass
  Shell DocObject View
    Internet Explorer_Server

Это выглядит несколько иначе и более запутанно, чем ваш пример с HP, но надеюсь, что это может почерпнуть некоторую информацию с той же целью. У меня есть ветка об этом на форуме по разработке расширений MSDN Internet Explorer.

0 голосов
/ 06 июля 2009

Я играл с панелями управления в прошлом, и стыковка справа - не вариант. разработчики, которые сделали это, вероятно, сделали это принудительно: вставив свой HWND в нужное место, а затем изменив размеры других окон.

Полагаю, также возможно, что они полагаются на какую-то скрытую функцию Internet Explorer, которая никогда не была раскрыта ...

Я не знаю, почему Microsoft, похоже, не разрешает этот тип панели обозревателя, но если вы хотите, чтобы что-то было прикреплено справа, похоже, вам придется взломать его.

0 голосов
/ 28 января 2009

без фактического создания. Я могу предположить, что HP запрашивает IDockingWindow только в пищевой цепочке, через некоторое время после вызова setsite Это может позволить IDockingWindow :: RequestBorderSpaceDW выделить правый док-сайт.

IDeskBand Interface
   |
    -- IDockingWindow
        |
        --IOleWindow
find IDockingWindowSite
or   IOleInPlaceUIWindow::SetBorderSpace
from the browser window.

EDIT : from the browser document.

-

Michael

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...