Изменить расположение по умолчанию кнопок Сохранить и Отменить в SaveFileDialog - PullRequest
2 голосов
/ 23 марта 2011

Я пишу код на c # и хочу изменить расположение по умолчанию кнопок «Сохранить» и «Отмена» в SaveFileDialog. По умолчанию используется кнопка «Сохранить» над кнопкой «Отмена».

Я хочу разместить кнопку «Отмена» справа от кнопки «Сохранить».

Я искал по сети и обнаружил, что текст на этих кнопках можно изменить (на который был дан ответ на самом стеке), и ничего не найдено при изменении их расположения (местоположений).

Пожалуйста, дайте мне решение, если кто-нибудь из вас испытал это до сих пор ...

спасибо

Ответы [ 3 ]

4 голосов
/ 23 марта 2011

Пожалуйста, не делайте этого.

Пользователь привык к тому, где появляются эти кнопки.Если вы попытаетесь изменить их макет, то вы просто заставите ваше приложение чувствовать себя не так.

Если вам нужно сделать это, убедитесь, что вы используете устаревшие диалоговые окна файлов (что сделает ваши диалоги еще более страннымиVista / 7).Используйте поле lpfnHook в структуре OPENFILENAME, чтобы получить привязки к процедуре диалога.Ответьте на уведомление CDN_INITDONE и переместите кнопки с помощью MoveWindow или SetWindowPos.Вам придется охотиться за дескрипторами окна кнопки.

Но на самом деле, пожалуйста, не делайте этого, вы только ухудшите свое приложение.

3 голосов
/ 23 марта 2011

Это звонит в колокол.Когда у вас есть код для изменения текста кнопки, у вас есть дескриптор окна кнопки.Который вы можете затем использовать, когда вы вызываете GetWindowRect и MoveWindow, чтобы переместить кнопку в другое место.Посетите pinvoke.net для объявлений.

Остерегайтесь того, что диалог изменялся в каждой версии Windows.Следующий вполне может сломать вашу программу.Ваш клиент не будет разочарован, если вы этого не сделаете.

1 голос
/ 23 марта 2011

Может быть, это решит вашу проблему Расширение класса диалога сохранения файла

...