Тонкости Common Dialog и Combobox

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
mark+
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 156
Зарегистрирован: 03.07.2003 (Чт) 0:04
Откуда: Kurgan

Тонкости Common Dialog и Combobox

Сообщение mark+ » 25.01.2004 (Вс) 0:26

Допустим CM.ShowOpen (CM - CommonDialog)
Юзер сперва выбрал файл C:\Kurgan.mid,
Потом нажал "Отмена".
Но CM.FileName все равно возвращает "C:\Kurgan.mid.
Как можно отловить батон "Отмена", чтобы понять, что юзер нажал отмену, а не "Открыть"?

Допустим у комбобокса в листе .List, есть стринг Fine 1x и Fine 2x. Но свойство Style установлено в 2-Dropdown List.
Мне нужно обязательно кодом программы установить значение комбобокса в Fine 2x.

P.S. Тов. FAKK2 писал: ...Я не знаю, как это делают, но подозреваю, это происходит из-за несущественно испорченной структуры файла. Как обмануть мониторы реестра и файлов я не знаю, но могу посоветовать спрятать иголку в стогу сена ([[[опять же встречались случаи падения мониторов при запуске некоторых программ]]]). ;) :) ;)

Sanya Z
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 240
Зарегистрирован: 18.08.2003 (Пн) 3:15
Откуда: Москва

Сообщение Sanya Z » 25.01.2004 (Вс) 0:44

Если я правильно понял про КомбоБокс, то установить нужную строчку можно следующим кодом:

Код: Выделить всё
Private Sub Form_Load()
Combo1.AddItem ("fine 1x")
Combo1.AddItem ("fine 2x")
End Sub

Private Sub Command1_Click()
Combo1.ListIndex = 1 'Для того чтобы установить 2-ую строку в КомбоБоксе
End Sub
И пусть в моих поступках не было логики...

Sanya Z
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 240
Зарегистрирован: 18.08.2003 (Пн) 3:15
Откуда: Москва

Сообщение Sanya Z » 25.01.2004 (Вс) 1:06

С CommonDialog попробуй такую фичу. Поставь у него такое св-во:
Код: Выделить всё
ComDialog.CancelError = True

Когда пользователь нажмет Отмену, будет инициализирована ошибка, и здесь ты её просто отлавливаешь :) :arrow:
И пусть в моих поступках не было логики...

mark+
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 156
Зарегистрирован: 03.07.2003 (Чт) 0:04
Откуда: Kurgan

Сообщение mark+ » 25.01.2004 (Вс) 22:19

Спасибо Sanya Z 8)


Вернуться в Visual Basic 1–6

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

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

    TopList