Простой вопрос по OpenDialog или аналогам:)

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Rojohn
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 439
Зарегистрирован: 22.06.2005 (Ср) 11:00
Откуда: Moscow city

Простой вопрос по OpenDialog или аналогам:)

Сообщение Rojohn » 19.12.2005 (Пн) 13:47

Приветы! Подскажите, как сцентровать открытые окна OpenDialog на экране? Или подскажите, где найти класс API - аналог OpenDialog. Он центрует окна?

Спасибо!
З.ы.: Где искать раздел "кирпичи"? :)

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 19.12.2005 (Пн) 14:01

Указывай родителя для диалога.
Lasciate ogni speranza, voi ch'entrate.

Rojohn
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 439
Зарегистрирован: 22.06.2005 (Ср) 11:00
Откуда: Moscow city

Это как? :)

Сообщение Rojohn » 19.12.2005 (Пн) 14:51

Это как? :)

Mizin Alex
Обычный пользователь
Обычный пользователь
Аватара пользователя
 
Сообщения: 50
Зарегистрирован: 12.06.2004 (Сб) 9:46
Откуда: Россия , Ивдель

Сообщение Mizin Alex » 20.12.2005 (Вт) 21:08

Rojohn:
Держи класс для работы с Dialog через API.

С ув.Alex
Вложения
CommDlg.rar
(6.47 Кб) Скачиваний: 56

Rojohn
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 439
Зарегистрирован: 22.06.2005 (Ср) 11:00
Откуда: Moscow city

Спасибо!

Сообщение Rojohn » 22.12.2005 (Чт) 13:35

Огромное спасибо за класс! Нашелся-таки добрый человек:) Вот бы ещё варианты инициализации этого класса поподробней. Я конечно разберусь со временем, но именно этого времени у меня и нет. А хотелось бы знать, как вызывать диалоги, как проставлять маски (по расширениям) и как центровать их на экране (привязывать к координатам). Кроме того, там вроде написано, что некоторые вещи работают только выше 2000 Windows-а. А мне нужен вариант с поддержкой всего, начиная с Win98.

Премного благодарен за ваши ответы!

Odrick
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 503
Зарегистрирован: 28.09.2003 (Вс) 2:04

Сообщение Odrick » 23.12.2005 (Пт) 4:32

??? Класс этот реализует на API практически один в один коммон-диалоговый ocx. Ты с контролом-то умееш работать? Вот с классом все так же. Кроме того, что для начала нужно создать его экземпляр:

Dim cdlg As New CommDlg

А дальше стандартно. Например, открываем файл картинки.

cdlg.DefaultExt = "bmp"
cdlg.DialogTitle = "Открытие картинки"
cdlg.Filter = "Файлы картинок (*.bmp)|*.bmp|Все файлы (*.*)|(*.*)"
cdlg.FileName = ""
cdlg.ShowOpen

Только вот один момент - как правильно заметил alibek указывай еще родителя для диалога:

cdlg.hWndOwner = Me.hwnd
То, что для одних константа, для других только переменная...

Rojohn
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 439
Зарегистрирован: 22.06.2005 (Ср) 11:00
Откуда: Moscow city

Thank's

Сообщение Rojohn » 26.12.2005 (Пн) 15:50

Спасибо! Теперь вроде всё ясно. Если встретятся "подводные камни", то обязательно напишу :)


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

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

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

    TopList