Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
40 / 40 / 10
Регистрация: 18.11.2009
Сообщений: 115

Компоненты (диалоги)

16.03.2011, 20:14. Показов 1253. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет. При написании макроса для Autocad возникла необходимость в использовании диалогов. Использовать стандартные Майкрософтовские не получается - ругается, что нет лицензии.
Вопрос: где можно скачать бесплатно сторонние компоненты - диалоги (не .NET). Спасибо.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
16.03.2011, 20:14
Ответы с готовыми решениями:

Как вызвать из модулей Sub диалоги Private Sub ?
Помогите разобраться как можно связать UserForm с модулями так что бы из макроса вызывалось диалоговое окно с элементами управления. После...

Как вызвать из модулей Sub диалоги Private Sub ?
Помогите разобраться как можно связать UserForm с модулями так что бы из макроса вызывалось диалоговое окно с элементами управления. После...

Необходимо получить путь к файлу через стандартные диалоги
Вопрос такой: необходимо получить путь к файлу через стандартные диалоги. К примеру, вызывается DialogOpen, пользователь выбирает файл -...

4
 Аватар для mc-black
2786 / 718 / 106
Регистрация: 04.02.2011
Сообщений: 1,443
17.03.2011, 11:37
Компоненты - в Дельфи. Тут VB(A), то есть контролы.

Рекомендую использовать диалоги, создаваемые в Win32 API, тогда не понадобится таскать за программой библиотеки компонентов ActiveX и заботиться об их регистрации. Какие именно стандартные диалоги Вам необходимы?
0
40 / 40 / 10
Регистрация: 18.11.2009
Сообщений: 115
17.03.2011, 14:49  [ТС]
Необходимы диалоги сохранить, открыть.
0
 Аватар для mc-black
2786 / 718 / 106
Регистрация: 04.02.2011
Сообщений: 1,443
17.03.2011, 15:08
Значит нужны функции GetOpenFileName и GetSaveFileName, запущенные после того, как заполнишь передаваемую им через указатель структуру OPENFILENAME...

Вот пример открытия txt:
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
Option Explicit
 
Private Type OPENFILENAME
    lStructSize As Long
    hwndOwner As Long
    hInstance As Long
    lpstrFilter As String
    lpstrCustomFilter As String
    nMaxCustFilter As Long
    nFilterIndex As Long
    lpstrFile As String
    nMaxFile As Long
    lpstrFileTitle As String
    nMaxFileTitle As Long
    lpstrInitialDir As String
    lpstrTitle As String
    flags As Long
    nFileOffset As Integer
    nFileExtension As Integer
    lpstrDefExt As String
    lCustData As Long
    lpfnHook As Long
    lpTemplateName As String
End Type
 
Private Declare Function GetOpenFileName Lib "comdlg32.dll" Alias "GetOpenFileNameA" (pOpenfilename As OPENFILENAME) As Long
 
Private Sub Command1_Click()
    Dim ofn As OPENFILENAME
    ofn.lStructSize = Len(ofn)
    ofn.hwndOwner = Application.Hwnd
    ofn.hInstance = Application.hInstance
    ofn.lpstrFilter = "Text Files (*.txt)" + Chr$(0) + "*.txt" + Chr$(0) + "Rich Text Files (*.rtf)" + Chr$(0) + "*.rtf" + Chr$(0)
    ofn.lpstrFile = Space$(254)
    ofn.nMaxFile = 255
    ofn.lpstrFileTitle = Space$(254)
    ofn.nMaxFileTitle = 255
    ofn.lpstrInitialDir = CurDir
    ofn.lpstrTitle = "Our File Open Title"
    ofn.flags = 0
    Dim a
    a = GetOpenFileName(ofn)
    
    If (a) Then
        MsgBox "File to Open: " + Trim$(ofn.lpstrFile)
    Else
        MsgBox "Cancel was pressed"
    End If
End Sub
Добавлено через 7 минут
Если в автокаде у объекта Application нет свойств hwnd и hinstance, вместо их значений поставишь нули:
Visual Basic
1
2
    ofn.hwndOwner = 0
    ofn.hInstance = 0
1
40 / 40 / 10
Регистрация: 18.11.2009
Сообщений: 115
17.03.2011, 15:18  [ТС]
Огромное спасибо. Все работает.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
17.03.2011, 15:18
Помогаю со студенческими работами здесь

Как спомощью com компоненты Microsoft Common Dialog Control 6.0 открывать диалоги?
Подскажите пожалуста как спомощью com компоненты Microsoft Common Dialog Control 6.0 открывать диалоги, то есть при нажатии на 'Открыть'...

диалоги
По заданию нужно принять данные с одной формы сделать вычисления и вывести результат на другой. Принять данные и сделать вычисления...

Диалоги
Как сделать так что бы когда я нахожусь на одном диалоге при нажатии там на кнопку сохранить я мог переключиться на другой диалог,я...

Диалоги
Доброго времени суток всем. Начал изучать WinApi по учебникам и гуглу, и есть у меня масса вопросов. Например, я не понимаю, как, какими...

Диалоги
Приложение напоминалка. Есть WorkManager, он срабатывает через определенное время и когда приходит время выводится уведомление (диалог с...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru