Форум программистов, компьютерный форум, киберфорум
Наши страницы
Visual Basic
Войти
Регистрация
Восстановить пароль
 
ProF
#1

Как узнать нажатие кнопки Cancel в CommonDialog? - VB

10.01.2009, 11:08. Просмотров 1028. Ответов 6
Метки нет (Все метки)

Как узнать нажатие кнопки Cancel в CommonDialog
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.01.2009, 11:08
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Как узнать нажатие кнопки Cancel в CommonDialog? (VB):

Как отследить нажатие кнопки Cancel или Escape при вызове InputBox?
Подскажите, как отследить нажатие кнопки Cancel или Escape при вызове данной...

Как перехватить нажатие кнопки '~'?
Как перехватить нажатие кнопки '~'?

Как отследить нажатие кнопки вне окна?
Нужно отслеживать нажатие кнопки вне формы(отслеживать надо сразу после запуска...

Как заэмулировать нажатие кнопки мыши, не нажимая мышь?
как заэмулировать нажатие кнопки мыши ненажимая мышь ! Необходимо чтобы мышь...

Как узнать какие кнопки есть на чужой форме?
Kak uznatb kakie knopki esti na ciujoi forme ??? Nujno uznati ixnie HWND. ...

Как в CommonDialog открыть папку?
Хочу узнать как можно в CommonDialog открыть папку (Указать её путь). Я...

6
Solovyov.Dmitry
0 / 0 / 1
Регистрация: 21.07.2008
Сообщений: 120
11.01.2009, 07:21 #2
Нужно установить свойство CommonDialog1.CancelError=True - теперь при нажатии на Cancel CommonDialog будет возвращать ошибку.
0
oldpasp
1 / 1 / 2
Регистрация: 23.06.2007
Сообщений: 357
11.01.2009, 09:03 #3
При этом возвращается нулевое значение
0
Alexey Spirin
1 / 1 / 1
Регистрация: 18.10.2007
Сообщений: 1,750
11.01.2009, 14:43 #4
Если поставить CancelError=True, то при нажатии на Cancel будет возвращаться err.number=32755.
ЕГо надо обрабатывать при помощи On error.

ПРимер из MSDN:

CancelError Example VB
This example uses the ShowPrintDialog method to enable the user to specify printing parameters. The image displayed in the Image Edit control is then printed.

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
Private Sub cmdPrint_Click() 
    On Error GoTo PrintErr
    'Display an image
    ImgEdit1.Image = 'D:\image24page.tif'
    ImgEdit1.Display 
    'Reset NumCopies in case user printed multiple copies last time.
    ImgAdmin1.PrintNumCopies = 1 
    'If CancelError is true, an error is generated if user presses
    'cancel.  Trap the error to avoid trying to print the file.
    ImgAdmin1.CancelError = True 
    'Set filename to be printed to the displayed file. If this property
    'is not set the dialog box will not display.
    ImgAdmin1.Image = ImgEdit1.Image
    ImgAdmin1.ShowPrintDialog Form1.hWnd 
    'Print the image using the parameters obtained from the print
    'dialog box (for example, start page, end page, and so on).
    ImgEdit1.PrintImage ImgAdmin1.PrintStartPage,
        ImgAdmin1.PrintEndPage, ImgAdmin1.PrintOutputFormat,
        ImgAdmin1.PrintAnnotations 
PrintErr: 
    'User pressed the cancel button
        Exit Sub 
End Sub
0
oldpasp
1 / 1 / 2
Регистрация: 23.06.2007
Сообщений: 357
11.01.2009, 15:51 #5
Все-таки непонятно, зачем мучиться, ведь достаточно проверить возвращаемое CommonDialog значение?
0
Alexey Spirin
1 / 1 / 1
Регистрация: 18.10.2007
Сообщений: 1,750
11.01.2009, 16:01 #6
ну вот самый простой пример...
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
Private Sub Command1_Click()
 
CommonDialog1.CancelError = True
On Error GoTo NoPrint
CommonDialog1.ShowPrinter
MsgBox "Печатаем"
Exit Sub
NoPrint:
MsgBox "Отказ от печати"
 
End Sub
0
Alexey Spirin
1 / 1 / 1
Регистрация: 18.10.2007
Сообщений: 1,750
11.01.2009, 16:06 #7
2oldpasp:
а вот при песати например..
используем CD для выбора принтера и параметров.
А если юзер вдруг не захочет печатать во время того как параметры выбирает?
Он нажмет на Cancel.
А это никак не отловишь, кроме как при помощи CancelError.
И еще. При отмене возвращается не нулдевое значение, а то, которое было установлено (например при выборе цвета) - если до показа диалога установить цвет, то при нажатии на cancel он же и вернется.
0
11.01.2009, 16:06
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.01.2009, 16:06
Привет! Вот еще темы с решениями:

Как перехватить нажатие кнопки "свернуть"?
Kak perehvatit' naztie knopki 'Svernut''?

VB 6 Как узнать класс текстбокса или кнопки находящегося под курсором
У кого нить есть код который показывает класс текстобокса или кнопки...

Как открыть файлы через CommonDialog
Привет товарищи нужда привела все же! Подскажите пожалуйста, есть компонент...

Как работает функция flags в commondialog
Помогите пожалуйста! как определить шрифты в commondialog'e знаю что при помощи...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru