Нужно изменить название кнопки в стандартном диалоге открытия/сохранеия файла.
Буду благодарна за любую помощь
Может быть кто нибудь смог воспользоватся функцией SetControlText :?:
Изменение названиия кнопки CFileDialog
Модераторы: Duncon, Hawk, Romeo, Eugie
Наверное следует создать свой диалог и грузить его по Save и SaveAs. Дело в том что этот диалог из ядра MFC и если в НЕМ изменять текст кнопки, то это следует делать другим образом - получить хэндл кнопки и поменять только тогда текст (не очень классный вариант).
- Romeo
- Сообщения: 3091
- Зарегистрирован: 02 мар 2004, 17:25
- Откуда: Крым, Севастополь
- Контактная информация:
Не следует изобретать велосипед, господин Tima. Это диалог не из ядра MFC, а из ядра Windows. Есть Win32 API функции GetOpenFileName и GetSaveFileName, которые вызывают всем знакомый модальный диалог для выбора файла. Эти же функции позволяю программисту изменять внешний вид диалога посредством имплементирования хук-функции и задания её адреса в input структуре OPENFILENAME, поле lpfnHook. Подробности, как всегда, в MSDN.
Entites should not be multiplied beyond necessity @ William Occam
---
Для выделения С++ кода используйте конструкцию [ code=cpp ] Код [ /code ] (без пробелов)
---
Сообщение "Спасибо" малоинформативно. Благодарность правильнее высказать, воспользовавшись кнопкой "Reputation" в виде звёздочки, расположенной в левом нижнем углу рамки сообщения.
---
Для выделения С++ кода используйте конструкцию [ code=cpp ] Код [ /code ] (без пробелов)
---
Сообщение "Спасибо" малоинформативно. Благодарность правильнее высказать, воспользовавшись кнопкой "Reputation" в виде звёздочки, расположенной в левом нижнем углу рамки сообщения.
Идея с хуком не плоха, вот только одно но.
Я создаю и вызываю диалог открытия/сохранеия файла в документе.
Мне нужно при создании объекта с FileDialog задать
CWnd* pParentWnd;
Собственно pParentWnd мне и для хука понадобится.
А вот получить его никак не получается
И все же:
Неужели никто, ни разу, не пользовался функцией CFileDialog::SetControlText,
она меня жутко заинтриговала
Я создаю и вызываю диалог открытия/сохранеия файла в документе.
Мне нужно при создании объекта с FileDialog задать
CWnd* pParentWnd;
Собственно pParentWnd мне и для хука понадобится.
А вот получить его никак не получается
И все же:
Неужели никто, ни разу, не пользовался функцией CFileDialog::SetControlText,
она меня жутко заинтриговала
- Romeo
- Сообщения: 3091
- Зарегистрирован: 02 мар 2004, 17:25
- Откуда: Крым, Севастополь
- Контактная информация:
Верно, именно с помощью этой функции и нужно изменять. Но изменять нужно в хуке. До вызова DoModal не существует HWND окна OpenDialog'а, поэтому просто сообщению некуда лететь
Entites should not be multiplied beyond necessity @ William Occam
---
Для выделения С++ кода используйте конструкцию [ code=cpp ] Код [ /code ] (без пробелов)
---
Сообщение "Спасибо" малоинформативно. Благодарность правильнее высказать, воспользовавшись кнопкой "Reputation" в виде звёздочки, расположенной в левом нижнем углу рамки сообщения.
---
Для выделения С++ кода используйте конструкцию [ code=cpp ] Код [ /code ] (без пробелов)
---
Сообщение "Спасибо" малоинформативно. Благодарность правильнее высказать, воспользовавшись кнопкой "Reputation" в виде звёздочки, расположенной в левом нижнем углу рамки сообщения.