0 / 0 / 0
Регистрация: 10.12.2017
Сообщений: 3
1

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

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

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

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

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

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

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

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

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

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

6
11508 / 3794 / 681
Регистрация: 13.02.2009
Сообщений: 11,197
10.12.2017, 17:22 2
Сделать форму под каждый лэйбл нереально
Зачем под каждый? Один на все!
форма выдаёт в результате не конкретный файл, а номер нажатой кнопки. А там уже дальше обрабатывай в завичимости от лабела
0
0 / 0 / 0
Регистрация: 10.12.2017
Сообщений: 3
10.12.2017, 17:25  [ТС] 3
Цитата Сообщение от Alex77755 Посмотреть сообщение
Зачем под каждый? Один на все!
форма выдаёт в результате не конкретный файл, а номер нажатой кнопки. А там уже дальше обрабатывай в завичимости от лабела
Да, вот именно это и требуется, Вы меня правильно поняли) Только я не знаю как это реализовать
0
11508 / 3794 / 681
Регистрация: 13.02.2009
Сообщений: 11,197
10.12.2017, 17:35 4
"Файл-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  [ТС] 5
К сожалению, данное реализовать в рамках данной программы невозможно, файлы имеют составное сложное название отличное от лэйблов. Уважаемый Алекс, а возможно как-то передавать данное значение в качестве переменной в предыдущую форму? При этом при нажатии на лэйбл на форме1 программа открывала форму2 и приостанавливала работу, а после получения значения переменной продолжала ее? Заранее большое спасибо!

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

Например при запуске программы загрузить таблицу соответствий в словарь и потом выбирать:
Visual Basic
1
2
3
       Case 6, 7
          pt = pr & Index
            Path = sl(pt)
0
es geht mir gut
11270 / 4752 / 1183
Регистрация: 27.07.2011
Сообщений: 11,439
11.12.2017, 13:44 7
JetClickGC, мне кажется, что Вам больше больше подойдёт контекстное меню.
Щёлкаете правой кнопкой мыши на Label - появляется меню из трёх пунктов - Файл1, файл2 и отмена. И выбираете, что Вам нужно.
0
11.12.2017, 13:44
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
11.12.2017, 13:44
Помогаю со студенческими работами здесь

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru