Просьба/вопрос

Разговоры на любые темы: вы можете обсудить здесь какой-либо сайт, найти единомышленников или просто пообщаться...
Approximator
Постоялец
Постоялец
 
Сообщения: 572
Зарегистрирован: 26.06.2004 (Сб) 3:10

Просьба/вопрос

Сообщение Approximator » 02.04.2006 (Вс) 1:09

У кого-нибудь есть сколько-нибудь подробная инфа по работе DjVuControl 1.0 Type Library?

В частности, как в DjVuCtl загрузить документ?

По идее должно работать

Код: Выделить всё
DjVuCtl.SRC=<filepath>


Но так не работает.
С уважением, Approximator.

FaKk2
El rebelde gur&#250;
El rebelde gur&#250;
Аватара пользователя
 
Сообщения: 2031
Зарегистрирован: 09.03.2003 (Вс) 22:10
Откуда: Los Angeles

Сообщение FaKk2 » 02.04.2006 (Вс) 3:58

Обычно действие производится методом. Нет ли там чего-то наподобие LoadFile()?
Для получения ответа надо продемонстрировать качества, позволяющие стать компетентным — внимательность, вдумчивость, наблюдательность, желание активно участвовать в выработке решения.

Approximator
Постоялец
Постоялец
 
Сообщения: 572
Зарегистрирован: 26.06.2004 (Сб) 3:10

Сообщение Approximator » 03.04.2006 (Пн) 1:08

FAKK2 писал(а):Обычно действие производится методом.


:)

FAKK2 писал(а):Нет ли там чего-то наподобие LoadFile()?


Нет, методов, которыми там можно было бы загрузить документ там нет. При web-программинге, если необходимо "привязать" документ в этом формате, используется
Код: Выделить всё
src=<filepath>

Но в VB
Код: Выделить всё
DjVuCtl.SRC=<filepath>

не работает.
С уважением, Approximator.

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 03.04.2006 (Пн) 1:14

Может быть, этот контрол реализует IPersistFile?
Тогда, заполучив этот интерфейс, можно было бы вызвать метод Load.
Именно это, насколько я представляю себе, и делает IE в случае src=<filepath>
Изображение

Approximator
Постоялец
Постоялец
 
Сообщения: 572
Зарегистрирован: 26.06.2004 (Сб) 3:10

Сообщение Approximator » 03.04.2006 (Пн) 1:58

tyomitch писал(а):Может быть, этот контрол реализует IPersistFile?


Даже скорее всего.

tyomitch писал(а):Тогда, заполучив этот интерфейс, можно было бы вызвать метод Load.
Именно это, насколько я представляю себе, и делает IE в случае src=<filepath>


На пацАх объясли пожалуйста, как это выяснить/реализовать (естественно, если не обременительно :)).

Сама такая мысль приходила, но голова всего уже не удерживает :).

Недавно нужно было получить содержимое "вражеского" ListView, но не смог вспомнить, как это реализовать (SendMessage hWnd, ???,vParam1, vParam2)

Кстати, если в курсе, буду признателен за подсказку, как это сделать.
С уважением, Approximator.

Approximator
Постоялец
Постоялец
 
Сообщения: 572
Зарегистрирован: 26.06.2004 (Сб) 3:10

Сообщение Approximator » 03.04.2006 (Пн) 2:46

Всё, спасибо, помощь с DjVuControl 1.0 Type Library уже не нужна.

сработало так:

Код: Выделить всё
DjVuCtl.SRC="file://" & <filepath>


в <filepath> вместо "\" используется "/".

С тем, как добыть содержимое "чужого" ListView кто-нибудь может помочь?
С уважением, Approximator.

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 03.04.2006 (Пн) 6:16

Это можно сделать не всегда. Виртуальный лист-вью LVS_OWNERDATA не позволит.
А так - LVM_GETITEM или LVM_GETITEMTEXT. С учётом того, что сообщения ListView превышают границу WM_USER, и, таким образом, для их отсыла в другой процесс нужен маршалер Тёмыча из Кирпичей.
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

Approximator
Постоялец
Постоялец
 
Сообщения: 572
Зарегистрирован: 26.06.2004 (Сб) 3:10

Сообщение Approximator » 04.04.2006 (Вт) 1:20

GSerg писал(а):Это можно сделать не всегда. Виртуальный лист-вью LVS_OWNERDATA не позволит.


В смысле _это можно сделать не всегда стандартными средствами_ или _иногда этого вообще нельзя сделать_?

GSerg писал(а):А так - LVM_GETITEM или LVM_GETITEMTEXT.


Спасибо большое.

GSerg писал(а):С учётом того, что сообщения ListView превышают границу WM_USER, и, таким образом, для их отсыла в другой процесс нужен маршалер Тёмыча из Кирпичей.


Ссылку на то куда идти, где смотреть подробности всего этого не подскажешь?
С уважением, Approximator.

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 04.04.2006 (Вт) 5:34

Approximator писал(а):В смысле _это можно сделать не всегда стандартными средствами_ или _иногда этого вообще нельзя сделать_?

Второе. Виртуальный listview не содержит данных вообще. Он всего лишь спрашивает владельца, а что, собственно, рисовать. А данные в проге где-то неизвестно где. Это делается, чтобы можно было сделать вид, что в listview загружены миллионы строк.

Хотя...
MSDN писал(а):A virtual list-view control maintains very little item information itself. Except for the item selection and focus information, the owner of the control must manage all item information. Other processes request item information from the owner by using LVN_GETDISPINFO notification messages.

Наверное, можно послать проге LVN_GETDISPINFO через WM_NOTIFY, и тогда прога по идее заполнит буфер инфой об указанном элементе...
Я этим не занимался, во всяком случае.

Approximator писал(а):Ссылку на то куда идти, где смотреть подробности всего этого не подскажешь?

Э... раздел "Кирпичный завод" :roll:
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

Approximator
Постоялец
Постоялец
 
Сообщения: 572
Зарегистрирован: 26.06.2004 (Сб) 3:10

Сообщение Approximator » 05.04.2006 (Ср) 1:08

Ещё раз спасибо. По ссылке :) схожу.
С уважением, Approximator.


Вернуться в Народный треп

Кто сейчас на конференции

Сейчас этот форум просматривают: Yandex-бот и гости: 4

    TopList