информационная безопасность
без паники и всерьез
 подробно о проектеRambler's Top100
Страшный баг в WindowsВсе любят медПортрет посетителя
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 Microsoft Authenticator прекращает... 
 Очередное исследование 19 миллиардов... 
 Оптимизация ввода-вывода как инструмент... 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / programming
Имя Пароль
если вы видите этот текст, отключите в настройках форума использование JavaScript
ФОРУМ
все доски
FAQ
IRC
новые сообщения
site updates
guestbook
beginners
sysadmin
programming
operating systems
theory
web building
software
hardware
networking
law
hacking
gadgets
job
dnet
humor
miscellaneous
scrap
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
[Izvrat]Need help 15.11.01 23:25  Число просмотров: 1106
Автор: + <Mikhail> Статус: Elderman
<"чистая" ссылка>
> Такая проблема есть DHTML control, хочу сделать на нем так
> чтоб по правой кнопке вылазило меню. Для этого
> используеться SetContextMenu метод. Проблема в том что хрен
> знает что ему надо передавать. В SDK написано
>
> SetContextMenu Method
> Sets the menu items for the current document's right-click
> context menu.
>
> Syntax
>
> object.SetContextMenu menuStrings, menuState
>
> Parameters
>
> object
>
> The DHTML Editing control
>
> menuStrings
>
> SafeArray containing VARIANTs of type VT_BSTR, one for each
> of the context menu items to show. An empty string
> indicates a separator line. An ampersand (&) in an element
> of menuString indicates that the character after the
> ampersand is an access (mnemonic) key. To clear the context
> menu, pass an array dimensioned to zero in this parameter.
>
> menuState
>
> SafeArray of VARIANTs of type OLE_TRISTATE (long). Each
> element corresponds to an element in menuStrings. Possible
> values are:
>
> OLE_TRISTATE_UNCHECKED (0) Displays the menu item
> unchecked.
>
>
> OLE_TRISTATE_CHECKED (1) Displays a check mark next to the
> menu item.
>
>
> OLE_TRISTATE_GRAY (2) Makes the menu item appear
> unavailable.
> To clear the context menu, pass an array dimensioned to
> zero in this parameter.
>
> Error Codes
>
> Error Return Value Description
> DE_E_INVALIDARG Invalid argument (invalid parameter,
> missing parameter, or incorrect type)
> DE_E_UNEXPECTED Control is in an unexpected state. This
> error can occur if this method is invoked prior to the
> DocumentComplete event occurring.
> -----------------------------------------------------------
> ------
> -----------------------------------------------------------
> ------
> Как понял надо передать 2 VARIANTа типа VT_ARRAY, а в
> SafeArray запихать VARIANTы с типом VT_BSTR и VT_I4
> соответсвенно.
> Делаю так:
>
> _variant_t vr_t;
> VARIANT vr1,vr2,vr;
> LONG t;
> OLE_TRISTATE k;
> SAFEARRAY FAR *arr1,*arr2;
> SAFEARRAYBOUND bound;
> HRESULT hr;
> char str[256];
> BSTR bstr;
>
> bound.lLbound=0;
> bound.cElements=1;
>
> i=0;
>
> arr1=SafeArrayCreate(VT_VARIANT,1,&bound);
> vr1.vt=VT_ARRAY;

//dolzhin byt` array of variant
vr1.vt=VT_ARRAY | VT_VARIANT ;

> vr1.parray=arr1;
> arr2=SafeArrayCreate(VT_VARIANT,1,&bound);
> vr2.vt=VT_ARRAY;
//tozhe samoe
vr2.vt=VT_ARRAY | VT_VARIANT ;

> vr2.parray=arr2;
>

> s="Qwerty";
//? chto za peremennaia?
>
> VariantInit(&vr);
> V_VT(&vr)=VT_BSTR;
> bstr=s.AllocSysString();
> V_BSTR(&vr)=bstr;

// gde declaration? size of i[] array dolzhen byt` s razmer of safearray
long i[1];
i[0] = 0;

hr=SafeArrayPutElement(arr1,i,&vr);
> VariantClear(&vr);
>
> VariantInit(&vr);
> V_VT(&vr)=VT_I4;
> V_I4(&vr)=0L;

hr=SafeArrayPutElement(arr2,i,&vr);

> VariantClear(&vr);
>
//I ne znau declaraion of SetContextMenu() no I dumau chto tam VARIANT not VARIANT* (pointers obychno ne return arg types)
m_edit.SetContextMenu(&vr1,&vr2);
>
> SafeArrayDestroy(arr1);
> SafeArrayDestroy(arr2);
>
> Но ничо не выходит exception и усе. Че я делаю не так?
> В контроле есть event onclick который срабатывает при
> нажатии ЛЮБОЙ клавиши мыша, можно ли отфильтровать нажатие
> только правой кнопки?
Posmotri kakoi tam parameter u etogo eventa.
<programming>
[Izvrat]Need help 15.11.01 10:55  
Автор: Heromantor Статус: Незарегистрированный пользователь
<"чистая" ссылка>
Такая проблема есть DHTML control, хочу сделать на нем так чтоб по правой кнопке вылазило меню. Для этого используеться SetContextMenu метод. Проблема в том что хрен знает что ему надо передавать. В SDK написано

SetContextMenu Method
Sets the menu items for the current document's right-click context menu.

Syntax

object.SetContextMenu menuStrings, menuState

Parameters

object

The DHTML Editing control

menuStrings

SafeArray containing VARIANTs of type VT_BSTR, one for each of the context menu items to show. An empty string indicates a separator line. An ampersand (&) in an element of menuString indicates that the character after the ampersand is an access (mnemonic) key. To clear the context menu, pass an array dimensioned to zero in this parameter.

menuState

SafeArray of VARIANTs of type OLE_TRISTATE (long). Each element corresponds to an element in menuStrings. Possible values are:

OLE_TRISTATE_UNCHECKED (0) Displays the menu item unchecked.


OLE_TRISTATE_CHECKED (1) Displays a check mark next to the menu item.


OLE_TRISTATE_GRAY (2) Makes the menu item appear unavailable.
To clear the context menu, pass an array dimensioned to zero in this parameter.

Error Codes

Error Return Value Description
DE_E_INVALIDARG Invalid argument (invalid parameter, missing parameter, or incorrect type)
DE_E_UNEXPECTED Control is in an unexpected state. This error can occur if this method is invoked prior to the DocumentComplete event occurring.
-----------------------------------------------------------------
-----------------------------------------------------------------
Как понял надо передать 2 VARIANTа типа VT_ARRAY, а в SafeArray запихать VARIANTы с типом VT_BSTR и VT_I4 соответсвенно.
Делаю так:

_variant_t vr_t;
VARIANT vr1,vr2,vr;
LONG t;
OLE_TRISTATE k;
SAFEARRAY FAR *arr1,*arr2;
SAFEARRAYBOUND bound;
HRESULT hr;
char str[256];
BSTR bstr;

bound.lLbound=0;
bound.cElements=1;

i=0;

arr1=SafeArrayCreate(VT_VARIANT,1,&bound);
vr1.vt=VT_ARRAY;
vr1.parray=arr1;
arr2=SafeArrayCreate(VT_VARIANT,1,&bound);
vr2.vt=VT_ARRAY;
vr2.parray=arr2;

s="Qwerty";

VariantInit(&vr);
V_VT(&vr)=VT_BSTR;
bstr=s.AllocSysString();
V_BSTR(&vr)=bstr;
hr=SafeArrayPutElement(arr1,&i,&vr);
VariantClear(&vr);

VariantInit(&vr);
V_VT(&vr)=VT_I4;
V_I4(&vr)=0L;
hr=SafeArrayPutElement(arr2,&i,&vr);
VariantClear(&vr);

m_edit.SetContextMenu(&vr1,&vr2);

SafeArrayDestroy(arr1);
SafeArrayDestroy(arr2);

Но ничо не выходит exception и усе. Че я делаю не так?
В контроле есть event onclick который срабатывает при нажатии ЛЮБОЙ клавиши мыша, можно ли отфильтровать нажатие только правой кнопки?
[Izvrat]Need help 15.11.01 23:25  
Автор: + <Mikhail> Статус: Elderman
<"чистая" ссылка>
> Такая проблема есть DHTML control, хочу сделать на нем так
> чтоб по правой кнопке вылазило меню. Для этого
> используеться SetContextMenu метод. Проблема в том что хрен
> знает что ему надо передавать. В SDK написано
>
> SetContextMenu Method
> Sets the menu items for the current document's right-click
> context menu.
>
> Syntax
>
> object.SetContextMenu menuStrings, menuState
>
> Parameters
>
> object
>
> The DHTML Editing control
>
> menuStrings
>
> SafeArray containing VARIANTs of type VT_BSTR, one for each
> of the context menu items to show. An empty string
> indicates a separator line. An ampersand (&) in an element
> of menuString indicates that the character after the
> ampersand is an access (mnemonic) key. To clear the context
> menu, pass an array dimensioned to zero in this parameter.
>
> menuState
>
> SafeArray of VARIANTs of type OLE_TRISTATE (long). Each
> element corresponds to an element in menuStrings. Possible
> values are:
>
> OLE_TRISTATE_UNCHECKED (0) Displays the menu item
> unchecked.
>
>
> OLE_TRISTATE_CHECKED (1) Displays a check mark next to the
> menu item.
>
>
> OLE_TRISTATE_GRAY (2) Makes the menu item appear
> unavailable.
> To clear the context menu, pass an array dimensioned to
> zero in this parameter.
>
> Error Codes
>
> Error Return Value Description
> DE_E_INVALIDARG Invalid argument (invalid parameter,
> missing parameter, or incorrect type)
> DE_E_UNEXPECTED Control is in an unexpected state. This
> error can occur if this method is invoked prior to the
> DocumentComplete event occurring.
> -----------------------------------------------------------
> ------
> -----------------------------------------------------------
> ------
> Как понял надо передать 2 VARIANTа типа VT_ARRAY, а в
> SafeArray запихать VARIANTы с типом VT_BSTR и VT_I4
> соответсвенно.
> Делаю так:
>
> _variant_t vr_t;
> VARIANT vr1,vr2,vr;
> LONG t;
> OLE_TRISTATE k;
> SAFEARRAY FAR *arr1,*arr2;
> SAFEARRAYBOUND bound;
> HRESULT hr;
> char str[256];
> BSTR bstr;
>
> bound.lLbound=0;
> bound.cElements=1;
>
> i=0;
>
> arr1=SafeArrayCreate(VT_VARIANT,1,&bound);
> vr1.vt=VT_ARRAY;

//dolzhin byt` array of variant
vr1.vt=VT_ARRAY | VT_VARIANT ;

> vr1.parray=arr1;
> arr2=SafeArrayCreate(VT_VARIANT,1,&bound);
> vr2.vt=VT_ARRAY;
//tozhe samoe
vr2.vt=VT_ARRAY | VT_VARIANT ;

> vr2.parray=arr2;
>

> s="Qwerty";
//? chto za peremennaia?
>
> VariantInit(&vr);
> V_VT(&vr)=VT_BSTR;
> bstr=s.AllocSysString();
> V_BSTR(&vr)=bstr;

// gde declaration? size of i[] array dolzhen byt` s razmer of safearray
long i[1];
i[0] = 0;

hr=SafeArrayPutElement(arr1,i,&vr);
> VariantClear(&vr);
>
> VariantInit(&vr);
> V_VT(&vr)=VT_I4;
> V_I4(&vr)=0L;

hr=SafeArrayPutElement(arr2,i,&vr);

> VariantClear(&vr);
>
//I ne znau declaraion of SetContextMenu() no I dumau chto tam VARIANT not VARIANT* (pointers obychno ne return arg types)
m_edit.SetContextMenu(&vr1,&vr2);
>
> SafeArrayDestroy(arr1);
> SafeArrayDestroy(arr2);
>
> Но ничо не выходит exception и усе. Че я делаю не так?
> В контроле есть event onclick который срабатывает при
> нажатии ЛЮБОЙ клавиши мыша, можно ли отфильтровать нажатие
> только правой кнопки?
Posmotri kakoi tam parameter u etogo eventa.
1




Rambler's Top100
Рейтинг@Mail.ru


  Copyright © 2001-2025 Dmitry Leonov   Page build time: 0 s   Design: Vadim Derkach