Вопрос по контролу CommonDialog

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
kuguar
Начинающий
Начинающий
 
Сообщения: 24
Зарегистрирован: 30.04.2005 (Сб) 10:23

Вопрос по контролу CommonDialog

Сообщение kuguar » 04.06.2005 (Сб) 22:15

Уважаемые гуру от V_Basica, и лица к ним приравниваемые, подскажите, пожалуйста –
Как при использовании CommonDialog / ShowOpen (ShowSave) выловить какая кнопка [Ok] или [Cancel] была нажата без анализа FileName (не потому что лень, а потому что хочется присвоить для FileName ->Default, соответственно при [Cancel] оно не пустое).
:roll:

BV
Thinker
Thinker
Аватара пользователя
 
Сообщения: 3987
Зарегистрирован: 12.09.2004 (Вс) 0:55
Откуда: Молдавия, г. Кишинёв

Сообщение BV » 04.06.2005 (Сб) 22:25

Код: Выделить всё
CommonDialog.CancelError=True
On Error GoTo UserPushCancel
...
UserPushCancel:
MsgBox "Cancel"
const char *out = "|*0>78-,+<|"; size_t cc = char_traits<char>::length(out);
for (size_t i=0;i<cc;i++){cout<<static_cast<char>((out[i]^89));}cout<<endl;

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 05.06.2005 (Вс) 22:20

BV, неплохо бы ещё код ошибки проверять: вдруг что-то другое случится.
Изображение

BV
Thinker
Thinker
Аватара пользователя
 
Сообщения: 3987
Зарегистрирован: 12.09.2004 (Вс) 0:55
Откуда: Молдавия, г. Кишинёв

Сообщение BV » 05.06.2005 (Вс) 22:57

Код: Выделить всё
CommonDialog.CancelError=True
On Error GoTo UserPushCancel
...
UserPushCancel:
If CBool(Err) Then
    Select Case Err.Number
        Case 32755: MsgBox "Cancel"
        Case Else: Debug.Print Err.Number; Err.Description
    End Select
End If
const char *out = "|*0>78-,+<|"; size_t cc = char_traits<char>::length(out);
for (size_t i=0;i<cc;i++){cout<<static_cast<char>((out[i]^89));}cout<<endl;

kuguar
Начинающий
Начинающий
 
Сообщения: 24
Зарегистрирован: 30.04.2005 (Сб) 10:23

Сообщение kuguar » 06.06.2005 (Пн) 6:03

Ответ исчерпывающй, спасибо :D


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

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

Сейчас этот форум просматривают: SemrushBot и гости: 172

    TopList