Форум программистов, компьютерный форум, киберфорум
Visual Basic
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/18: Рейтинг темы: голосов - 18, средняя оценка - 4.50
0 / 0 / 0
Регистрация: 10.12.2017
Сообщений: 3

Диалоговое окно, свои кнопки

10.12.2017, 17:06. Показов 3453. Ответов 6

Студворк — интернет-сервис помощи студентам
Заранее прошу прощения у завсегдатаев сайта, возможно я не нашел соответствующую тему по своему вопросу, и если так, буду благодарен даже за ссылку.

Проблема следующая:
Есть программа с множеством кнопок (на самом деле с электрической схемой в которой label'ы служат в качестве кнопок). Каждому такому элементу соответствует 2 файла, однако открывать их оба не нужно, нужно выбирать один. Для этого хотелось бы сделать диалоговое окно, которое позволит выбрать между "Файл-1", "Файл-2" или "Отмена". Также надпись "Выберите файл". Сделать форму под каждый лэйбл нереально (их около 1000 в программе по скромным расчетам будет). Поэтому хочется реализовать приблизительно следующий алгоритм:

1. Открыть диалоговое окно с вопросом и кнопками.
2. Если нажата кнопка "Файл-1", то открыть такой-то файл [путь];
ИначеЕсли нажата кнопка "Файл-2", то открыть такой-то файл [путь];
Иначе отмена, вернуться к схеме.

В инете также не смог найти подходящей темы.
Буду крайне признателен за любую помощь, ибо поставлен откровенно в тупик. Всем добра
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
10.12.2017, 17:06
Ответы с готовыми решениями:

ActiveX Control, при нажатии кнопки в самом компоненте должно открыться модальное диалоговое окно в которое передается дата из UserControla
Здравствуйте. Помогите если кто знает. Есть такая проблема. Я написал ActiveX control в VB6 и на этапе его разработки нужно сделать...

Вывести диалоговое окно сохранения файла
Перешол с VBA на VB6 и охренел, нечего я оказываетсья незнаю! вапрос такой: есть форма на ней текст бокс!!! есть меню, там кнопка...

Диалоговое окно открытия файла в Access
Как открыть окно открытия файла в модуле Access? Стандартные окна диалога лежат в COMDLG32.DLL Как их использовать?

6
 Аватар для Alex77755
11525 / 3812 / 683
Регистрация: 13.02.2009
Сообщений: 11,229
10.12.2017, 17:22
Сделать форму под каждый лэйбл нереально
Зачем под каждый? Один на все!
форма выдаёт в результате не конкретный файл, а номер нажатой кнопки. А там уже дальше обрабатывай в завичимости от лабела
0
0 / 0 / 0
Регистрация: 10.12.2017
Сообщений: 3
10.12.2017, 17:25  [ТС]
Цитата Сообщение от Alex77755 Посмотреть сообщение
Зачем под каждый? Один на все!
форма выдаёт в результате не конкретный файл, а номер нажатой кнопки. А там уже дальше обрабатывай в завичимости от лабела
Да, вот именно это и требуется, Вы меня правильно поняли) Только я не знаю как это реализовать
0
 Аватар для Alex77755
11525 / 3812 / 683
Регистрация: 13.02.2009
Сообщений: 11,229
10.12.2017, 17:35
"Файл-1", "Файл-2" в своих именах должны иметь индекс лабела и признак из формы

Добавлено через 9 минут
как-то так можно:
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
Private Sub Label1_Click(Index As Integer)
    Dim pr$, pt
    pr = MsgBox("Файл1 =ДА" & vbCrLf & "Файл 2 = НЕТ" & vbCrLf & "Отмена = выбрать файл", vbYesNoCancel, "")
    Select Case pr
        Case 6, 7
            pt = "blabla" & Index & "_" & pr & ".расширение"
            open pt
        Case Else
            ' диалог выбора
    End Select
End Sub
0
0 / 0 / 0
Регистрация: 10.12.2017
Сообщений: 3
10.12.2017, 17:38  [ТС]
К сожалению, данное реализовать в рамках данной программы невозможно, файлы имеют составное сложное название отличное от лэйблов. Уважаемый Алекс, а возможно как-то передавать данное значение в качестве переменной в предыдущую форму? При этом при нажатии на лэйбл на форме1 программа открывала форму2 и приостанавливала работу, а после получения значения переменной продолжала ее? Заранее большое спасибо!

Добавлено через 1 минуту
Предложенный вариант к сожалению тоже не подходит, я сначала думал через него реализовать или через инпутбокс с вводом значения вручную, но это оказывается неудобно. Потому и ищу вариант с кнопками.
0
 Аватар для Alex77755
11525 / 3812 / 683
Регистрация: 13.02.2009
Сообщений: 11,229
11.12.2017, 13:31
Потому и ищу вариант с кнопками
ну так сделай свою форму и вызывай.
А если нельзя сделать соответствующие имена файлов, то никто не мешает сделать таблицу соответствий имён файлов индексам и возвращаемым значениям диалоговой формы. Поместить эту таблицу куда-нибудь (ini-файл, простой текстовой файл, и пр.) и в нужный момент пользоваться

Например при запуске программы загрузить таблицу соответствий в словарь и потом выбирать:
Visual Basic
1
2
3
       Case 6, 7
          pt = pr & Index
            Path = sl(pt)
0
es geht mir gut
 Аватар для SoftIce
11274 / 4760 / 1183
Регистрация: 27.07.2011
Сообщений: 11,439
11.12.2017, 13:44
JetClickGC, мне кажется, что Вам больше больше подойдёт контекстное меню.
Щёлкаете правой кнопкой мыши на Label - появляется меню из трёх пунктов - Файл1, файл2 и отмена. И выбираете, что Вам нужно.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
11.12.2017, 13:44
Помогаю со студенческими работами здесь

Как вызвать диалоговое окно CommonDialog
Есть ли уже созданное диалоговое окно 'Открыть' или 'Сохранить', на подобии стандпртного, которое появляется при выборе соответствующего...

Стандартное диалоговое окно сохранения файла
Подсобите у кого есть

Как программно вывести диалоговое окно печати
Помогите пожалуйста понять. Как программно вывести диалоговое окно печати(printer)?

Надо добавить на диалоговое окно или форму сообщение из БД
Надо добавить на диалоговое окно или форму сообщение из БД(Обычного .txt) как это сделать, с помощью чего?

Как через диалоговое окно (CommonDialog) выбрать путь к папки для ее копирования?
необходимо: при нажатии на кнопку1 через диалоговое окно (CommonDialog) выбрать путь к папкам(предусмотреть выбор нескольких папок в одном...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[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
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru