|
Comanche
|
|
Вопрос по ActiveX-контролам06.09.2009, 13:03. Показов 1352. Ответов 9
Метки нет (Все метки)
Создаю контрол.
В нём очень было бы здорово использовать дерево - ну просто напрашивается! Вопрос: если при разработке контрола я воткну на него TreeView из пакета MS Windows Common Controls, надо ли будет мне вместе со своим контролом распространять и весь этот пакет, или же при компиляции проекта элемент TreeView как-нибудь интегрируется 'внутрь' моего контрола, просто увеличив его размер? До этого всегда обходился стандартными ЭУ при разработке контролов (которые были простейшими). Сейчас впервые берусь за серьёзный - и соответственно прошу совета. Спасибо. |
|
| 06.09.2009, 13:03 | |
|
Ответы с готовыми решениями:
9
Вопрос по Upload & ActiveX Вопрос о GravityBox Active PieGraph ActiveX v2.1.48 Вопрос по контролам |
|
51 / 17 / 6
Регистрация: 18.05.2007
Сообщений: 1,322
|
|
| 06.09.2009, 13:06 | |
|
Скорее всего внешний контрол не станет интегрироваться. Это один из минусов VB, все подключаемые контролы необходимо распространять вместе с программой.
0
|
|
|
Comanche
|
|
| 06.09.2009, 13:50 | |
|
Похоже, вы правы.
Если на мой контрол (уже с TreeView) 'натравить' PDW, то она включает MSCOMCTL.OCX в состав CAB-файла. Да и размер откомпилённого OCX-а уж слишком маленький - в несколько раз меньше размера MSCOMCTL.OCX... Окей, тогда интересно ваше мнение - не будет ли являться признаком 'плохого тона' таскание за своим контролом увесистого MSCOMCTL.OCX? (правда, он почти во всех виндах есть) Или лучше попробовать обойтись стандартным ЭУ ListBox? Стоп, без комментариев к создаваемому контролу однозначный ответ на мой вопрос дать сложно. Если коротко - работая над последним проектом я задолбался сохранять настройки проги из 47-и контролов в INI-файл. Тексты процедур LoadConfig и SaveConfig получились очень громоздкими, при постоянном добавлении новых настроек приходилось дописывать новые строки кода, я путался и т.д. Короче, решил написать контрол, который позволит визуально поставить каждому выбранному ЭУ формы в соответствие некий ключ INI-файла (или опред. раздела реестра), плюс задать логику обработки перед записью/после чтения, ограничения на допустимые значения, авто-преобразования типов, поддержку массивов ЭУ, возможность выполнять заданные действия при граничных значениях и т.д. - короче, всё то, что сейчас у меня понапихано в LoadConfig и SaveConfig. У контрола будут методы: LoadConfig, SaveConfig, CreateDefaultConfig, PrintConfig. Может, и ещё что, - не знаю пока )Я видел когда-то давно что-то похожее, но уж очень отстойное. Так вот, для навигации среди контролов формы идеально подходит TreeView с CheckBoxes = True. Особенно удобно 'разворачивать' в нём массивы ЭУ. Плюс - показывать 'по-контейнерную' иерархию ЭУ. Вот я и призадумался насчёт дерева... Контрол хочу сделать FREEWARE, т.к. по-моему все VB-программеры начинают мучаться, как только число настроек проги переваливает за 15-20 штук. А уж если их полсотни и больше - тут вообще труба. |
|
|
1 / 1 / 0
Регистрация: 28.09.2007
Сообщений: 285
|
|
| 06.09.2009, 17:29 | |
|
freeware - давай пиши скорее, не забудь драг и дроп узлов учесть и кучу всяких прочих удобств, у то - автоматизировать так автоматизировать ...
0
|
|
|
Comanche
|
|
| 06.09.2009, 19:02 | |
)Только вот дрэг-энд-дроп конкретно в этом проекте на фиг не нужен. Слева на Property Page - дерево с контролами. Справа - настройки по выбранному в дереве контролу. Т.к. число контролов 'плавает', и правая часть - один и тот же фиксированный набор ЭУ (заполняющийся новыми значениями при смене выбранного узла дерева), то хранить всё через Call PropBag.WriteProperty не выйдет: поэтому событие UserControl_WriteProperties будет сохранять все настройки во внешнем файле (склоняюсь к XML). А в run-time, вызовы методов LoadConfig и т.д. будут читать этот файл и следовать его предписаниям. Интерфейс - строгий, но функциональный, пишу его на английском - там всё очень просто. Хелп, конечно, будет на двух языках. |
|
|
realist
|
|
| 08.09.2009, 23:02 | |
|
Дай знать в этом топике, что получилось. И попробовать охота...
Эх еслибь кто-нить для зипования приличный контрол бесплатный написал((( Столько времени ищу никак не найду. Да я бы пивом даж напоил) |
|
|
Comanche
|
|
| 09.09.2009, 01:03 | |
|
'Альфа-версия' уже готова.
Настала пора отладки и отлова багов. Также пытаюсь понять, не забыт ли какой-нибудь нужный всем функционал. Буду рад услышать ваши мнения. Ну и хелп, конечно, осталось написать ;-)) |
|
|
0 / 0 / 0
Регистрация: 11.10.2007
Сообщений: 103
|
|
| 09.09.2009, 02:40 | |
|
Извините за вторжение, но у нас широко используется упомянутое TreeView. Всё, что для этого нужно - это, естественно, подключить к проекту контрола соответствующую библиотеку. Во всяком случае, абсолютно точно, что этот пакет дистрибутива может быть инсталлирован на любой винд-машине (по крайней мере с NT либо 2К) без дополнительного гемора. Думаю, что он берётся из system path, то есть его не нужно экстра таскать вместе с дистрибутивом.
0
|
|
|
Comanche
|
|
| 09.09.2009, 11:01 | |
|
То, что компонент надо подключать к VB-проекту, и включать в дистрибутив - сомнений и не вызывало. Просто была сла-а-абая надежда, что применительно именно к проектам типа 'ActiveX Control' это будет не так или не совсем так. Такую надежду мне дал Excel VBA, у которого если пойти в окно Toolbox / Additional controls, то все 'члены' пакета MSCOMCTL.OCX видны поврозь: MS TreeView Control, MS ListView Control и т.д. Я понадеялся, что это не просто особенность вывода в данное окно, а нечто большее, и что м.б. если использовать (хотя бы только в проекте типа 'ActiveX Control') один лишь MS TreeView из всего пакета (и никаких ЭУ более), то он туда как-нить 'интегрируется' и не потащит за собой весь пакет.
Согласитесь: было бы неплохо, если ситуация 'контрол-в-контроле' разрешалась бы как-нибудь помягче, чем прямо в лоб. Однако, я ошибался. Чёрт с ним. Вопрос данного топика считаю закрытым. Однако, сам топик закрывать не буду: допишу контрол - сообщу. Прикольная штука получается... |
|
|
Comanche
|
|
| 10.10.2009, 21:01 | |
|
Дописал.
http://FormToIni.narod.ru/Downloads/FormToIni.zip |
|
| 10.10.2009, 21:01 | |
|
Помогаю со студенческими работами здесь
10
Вопрос по безопасности ActiveX Общий вопрос по ActiveX компонентам. Нужно изменять размер шрифта в ActiveX в зависимости от размера самого ActiveX ActiveX Bridje или как превращать ActiveX Control в JavaBean. ActiveX и VB, получение значения из ActiveX Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога
SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
|
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога
Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip"
Извлеките архив и вы увидите. . .
|
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога
Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д.
Сборка примера
Скачайте. . .
|
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|
|
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net
REST сервисы временно не работают, только через Web.
Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
|
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
|
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
|
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма).
На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
|