Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

FAQ 4. Как на CppWebBrowser запретить вывод стандартное контекстное меню...

11
06 ноября 2007 года
oxotnik333
2.9K / / 03.08.2007
вопрос в теме сообщения, только при условии что:

IHTMLDocument2::put_designMode(WideString("On"))

как в этом случае побороть стандартное меню?
11
09 ноября 2007 года
oxotnik333
2.9K / / 03.08.2007
к стати после смены режима редактирования On|Off стандартное контекстное меню опять вылезает...

как побороть его ???
246
09 ноября 2007 года
GIZMO
1.8K / / 30.07.2004
Цитата: oxotnik333
к стати после смены режима редактирования On|Off стандартное контекстное меню опять вылезает...

как побороть его ???


Вообще нужно переустанавливать при каждом DocumentComplete.
Я обновил FAQ's, перечитай еще раз вопрос № 4.
И попробуй переустанавливать при смене режима редактирования.

11
09 ноября 2007 года
oxotnik333
2.9K / / 03.08.2007
Цитата:
Вообще нужно переустанавливать при каждом DocumentComplete.


я так и делал:

Код:
void __fastcall TMainForm::WBDocumentComplete(TObject *Sender,
      LPDISPATCH pDisp, Variant *URL)
{
CComQIPtr<IHTMLDocument2, &IID_IHTMLDocument2>spDoc(WB->Document);
 
  if (CheckBox1->Checked) spDoc->put_designMode(L"On");
  dochandler = new TDocHandler(WB);
}
//----------------------------------------------------------------------

void __fastcall TMainForm::WBBeforeNavigate2(TObject *Sender,
      LPDISPATCH pDisp, Variant *URL, Variant *Flags,
      Variant *TargetFrameName, Variant *PostData, Variant *Headers,
      VARIANT_BOOL *Cancel)
{
dochandler->Release();
}


выдает стандартное меню и все тут... (со старым кодом и FAQ)
с новым щас буду разбираться...
11
09 ноября 2007 года
oxotnik333
2.9K / / 03.08.2007
делал согласно новому FAQ'у и MSDN'у
http://msdn2.microsoft.com/en-us/library/aa770042.aspx
все равно стандартное меню :(
246
09 ноября 2007 года
GIZMO
1.8K / / 30.07.2004
Цитата: oxotnik333
делал согласно новому FAQ'у и MSDN'у
http://msdn2.microsoft.com/en-us/library/aa770042.aspx
все равно стандартное меню :(


Тогда х.з., надо копать.
Есть такая фишка http://msdn2.microsoft.com/en-us/library/aa704056.aspx
посмотри может поможет.

11
09 ноября 2007 года
oxotnik333
2.9K / / 03.08.2007
то что в FAQ работает? (создал чистый проект, вкорячил туда из ФАКа и ноль эмоций... хотя если CppWebBrowser1->Document == NULL, тогда только работает)
и под каким ВСВ?
11
16 ноября 2007 года
oxotnik333
2.9K / / 03.08.2007
вышел из положения следующим образом:
hinstSHDOCLC = LoadLibrary(TEXT("SHDOCLC.DLL")); заменил на:
hinstSHDOCLC = LoadLibrary(TEXT("shdocvw.dll")); // т.к. ИЕ всетаки берется из shdocvw.dll (может это и не правильно, но работает)
на Application::OnMessage повесил код:
 
Код:
if (MainForm->ActiveOleControl !=WB || !WB->Document)return;
 if (Msg.message == WM_RBUTTONUP)
    {
      POINT p;
      GetCursorPos(&p);
      WBPopupMenu->Popup(p.x, p.y);
    }

хотя чую что такой подход через Ж... но в принципе результат достигнут

Хы... все тело virtual HRESULT STDMETHODCALLTYPE ShowContextMenu(....) можно закоментить, и оставить только return S_OK; (это при условии обработки Application::OnMessage ) :D
11
16 ноября 2007 года
oxotnik333
2.9K / / 03.08.2007
паралельно еще одна трабла вылезла:
dochandler = new TDocHandler(); мешает редактированию, а именно, нельзя теперь текст выделять мышкой (только с клавиатуры или с шифтом)
246
16 ноября 2007 года
GIZMO
1.8K / / 30.07.2004
Цитата: oxotnik333

то что в FAQ работает?


Да.

Цитата: oxotnik333

(создал чистый проект, вкорячил туда из ФАКа и ноль эмоций... хотя если CppWebBrowser1->Document == NULL, тогда только работает)


приведи код...

Цитата: oxotnik333

и под каким ВСВ?


BCB5+IE6(5.5)+XP

Цитата: oxotnik333

вышел из положения следующим образом:
hinstSHDOCLC = LoadLibrary(TEXT("SHDOCLC.DLL")); заменил на:
hinstSHDOCLC = LoadLibrary(TEXT("shdocvw.dll")); // т.к. ИЕ всетаки берется из shdocvw.dll (может это и не правильно, но работает)


IE из shdocvw.dll не берется, из shdocvw.dll берется MS Web Browser Control. IE это отдельная программа которая использует для работы MS Web Browser Control, а меню он (WBC и соотв. IE) загружает из shdoclc.dll

Цитата: oxotnik333

Хы... все тело virtual HRESULT STDMETHODCALLTYPE ShowContextMenu(....) можно закоментить, и оставить только return S_OK;


так в комментарии FAQ's (взятом из MSDN) так и написано...

246
16 ноября 2007 года
GIZMO
1.8K / / 30.07.2004
Цитата: oxotnik333
паралельно еще одна трабла вылезла:
dochandler = new TDocHandler(); мешает редактированию, а именно, нельзя теперь текст выделять мышкой (только с клавиатуры или с шифтом)


FAQ's обновлен...

11
16 ноября 2007 года
oxotnik333
2.9K / / 03.08.2007
Цитата: GIZMO
/*
некоторые хакеры жалуются, что после замены контекстного
меню им не удается выделять текст мышкой, специально для
них...
*/

:D :D :D

246
17 ноября 2007 года
GIZMO
1.8K / / 30.07.2004
Цитата: oxotnik333
:D :D :D


теперь работает?
задавали подобный вопрос ранее, а т.к. я не самый умный т.е. все знать не могу, поэтому рекомендую почитывать MSDN (что сам вчера и проделал) и не надеятся только на FAQ's, GIZMO & forum.

Удачи, хакерам:)!

11
17 ноября 2007 года
oxotnik333
2.9K / / 03.08.2007
работает вывод своего меню только через Application::OnMessage
почему через virtual HRESULT STDMETHODCALLTYPE ShowContextMenu не работает не пойму никак (к стати, наверно там надо указать что то типа LoadMenu с хенделом моего меню)
МСДН регулярно почитываю, только я вобщем понимаю что написано, а сам, увы пока не умею писать подобное...
ЗЫ: ежели не сложно, можно будет увидень проект, а то мож че не так делаю?
246
18 ноября 2007 года
GIZMO
1.8K / / 30.07.2004
Цитата: oxotnik333
ежели не сложно, можно будет увидень проект, а то мож че не так делаю?


проект прикрепил к FAQ's ...

11
19 ноября 2007 года
oxotnik333
2.9K / / 03.08.2007
вы будете смеяться, но у меня не работает проект скачанный с FAQ!!! :D
246
19 ноября 2007 года
GIZMO
1.8K / / 30.07.2004
Цитата: oxotnik333
вы будете смеяться, но у меня не работает проект скачанный с FAQ!!! :D


и даже скачанный с ФАК не работает!? Фантастика!!!:)
ну тогда не знаю...

ЗЫ: а у меня работает...

11
19 ноября 2007 года
oxotnik333
2.9K / / 03.08.2007
у меня скачанный не компилится даже
выдает ошибку "неизвестная ф-я _ASSERTE_" в модуле utilcls.h
заменил:
#include "atlbase.h"
на
#include "atlvcl.h"
только тогда компилится, но не работает... (всмысле показывает это долбанное меню)
если убрать все из ShowContextMenu и оставить там return S_OK; тогда стандартное меню отключается, а свое через Application::OnMessage
PS: выделение стало работать...
246
20 ноября 2007 года
GIZMO
1.8K / / 30.07.2004
Цитата: oxotnik333
у меня скачанный не компилится даже
выдает ошибку "неизвестная ф-я _ASSERTE_" в модуле utilcls.h
заменил:
#include "atlbase.h"
на
#include "atlvcl.h"
только тогда компилится, но не работает... (всмысле показывает это долбанное меню)
если убрать все из ShowContextMenu и оставить там return S_OK; тогда стандартное меню отключается, а свое через Application::OnMessage
PS: выделение стало работать...



Билдер 6? А IE какой и система?

11
20 ноября 2007 года
oxotnik333
2.9K / / 03.08.2007
BCB 6
IE 6.0.29 sp2 (привязка к версии IE не есть гуд)
Win XP
246
20 ноября 2007 года
GIZMO
1.8K / / 30.07.2004
Цитата: oxotnik333
BCB 6
IE 6.0.29 sp2 (привязка к версии IE не есть гуд)
Win XP



у меня так же, только Билдер 5-й.

11
20 ноября 2007 года
oxotnik333
2.9K / / 03.08.2007
выходит они и библиотеками различаются?
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог