Изменение названиия кнопки CFileDialog

Ответить

Код подтверждения
Введите код в точности так, как вы его видите. Регистр символов не имеет значения.

BBCode ВКЛЮЧЁН
[img] ВКЛЮЧЁН
[url] ВКЛЮЧЁН
Смайлики ОТКЛЮЧЕНЫ

Обзор темы
   

Развернуть Обзор темы: Изменение названиия кнопки CFileDialog

Romeo » 18 мар 2005, 11:18

Верно, именно с помощью этой функции и нужно изменять. Но изменять нужно в хуке. До вызова DoModal не существует HWND окна OpenDialog'а, поэтому просто сообщению некуда лететь :)

Tviksi » 18 мар 2005, 00:27

Идея с хуком не плоха, вот только одно но.

Я создаю и вызываю диалог открытия/сохранеия файла в документе.

Мне нужно при создании объекта с FileDialog задать
CWnd* pParentWnd;

Собственно pParentWnd мне и для хука понадобится.

А вот получить его никак не получается :(

И все же:
Неужели никто, ни разу, не пользовался функцией CFileDialog::SetControlText,
она меня жутко заинтриговала :)

Romeo » 17 мар 2005, 10:22

Не следует изобретать велосипед, господин Tima. Это диалог не из ядра MFC, а из ядра Windows. Есть Win32 API функции GetOpenFileName и GetSaveFileName, которые вызывают всем знакомый модальный диалог для выбора файла. Эти же функции позволяю программисту изменять внешний вид диалога посредством имплементирования хук-функции и задания её адреса в input структуре OPENFILENAME, поле lpfnHook. Подробности, как всегда, в MSDN.

Tima » 16 мар 2005, 11:34

Наверное следует создать свой диалог и грузить его по Save и SaveAs. Дело в том что этот диалог из ядра MFC и если в НЕМ изменять текст кнопки, то это следует делать другим образом - получить хэндл кнопки и поменять только тогда текст (не очень классный вариант).

Изменение названиия кнопки CFileDialog

Tviksi » 14 мар 2005, 22:15

Нужно изменить название кнопки в стандартном диалоге открытия/сохранеия файла.

Буду благодарна за любую помощь :)

Может быть кто нибудь смог воспользоватся функцией SetControlText :?:

Вернуться к началу