Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: Программирование на C / C++


Хостинг Портала RusFAQ.ru:
MosHoster.ru - Профессиональный хостинг на Windows 2008

РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / C/C++

Выпуск № 1133
от 15.10.2008, 15:05

Администратор:Калашников О.А.
В рассылке:Подписчиков: 420, Экспертов: 40
В номере:Вопросов: 1, Ответов: 2

Нам важно Ваше мнение об этой рассылке.
Оценить этот выпуск рассылки >>


Вопрос № 146721: Уважаемые,помогите пожалуйста осущесвить данную задач <img src="http://rusfaq.ru/images/Forum/10.gif" border="0"> Написать программу,выводящую Ваше имя и адрес так ,чтобы они всегда оставались центрированными посередине окна, даже если его разм...

Вопрос № 146.721
Уважаемые,помогите пожалуйста осущесвить данную задач
Написать программу,выводящую Ваше имя и адрес так ,чтобы они всегда оставались центрированными посередине окна, даже если его размеры меняются.
Отправлен: 10.10.2008, 14:53
Вопрос задал: Иванов Роман Александрович (статус: Посетитель)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 4)

Отвечает: Vest
Здравствуйте, Иванов Роман Александрович!
Вы не указали где вы программируете и какими средствами (ОС, Framework) потому даю описание в целом:
1. при прорисовке окна (событие обычно называемое OnRedraw) вы должны получать горизонтальные и (если надо) вертикальные размеры ваше обновляемой области.
2. обязательно нужно знать ширину вашего текста (это предоставляется средствами отображения букв шрифта на вашем окне). Либо вы знаете ширину буквы (и если у вас моношрифт) то ширина слова - ширина буквы умноженная на число букв в строке. Либо с помощью очередной функции можете определить ширину/высоту вашей строки.
3. Простая математика - центрование. Формула простая но я вам выведу ее:
допустим ваше слово находится на расстоянии x от левой границы области. Длинна слова (в пикселях) - w, ширина окна - width. тогда если вам нужно чтобы слово было по середке, то: x + w + x = width, выражайте оттуда x: x = (width - w) / 2.
Вот собственно и все. для высоты аналогично. а дальше вторую, например, строку рисуете с той же вертикальной позиции, что и первую но прибавляете к этому числу высоту строки (чтобы не было наложений, лучше как в "тетрадке" это число принимать постоянным, равным, допустим высоте большой буквы) плюс некоторый интервал (отступ между строками).
Почитайте Windows API, например, там есть объяснение как работать со шрифтами и про всякие отступы, выступы и прочее (раздел конечно же Fonts).
Удачи Вам
---------
"Халявы не бывает" (c)
Ответ отправил: Vest (статус: 6-ой класс)
Ответ отправлен: 10.10.2008, 18:17

Отвечает: Rockie
Здравствуйте, Иванов Роман Александрович!

Вы не указали среду разработки. Программу за вас делать я не буду, зато могу объяснить принцып:
Ловите событие Resize() и в обработчике этого события устанавливайте положение формы в середину(возможно в вашей среде разработки это свойство будет Position-> "Centered" формы)
Ответ отправил: Rockie (статус: 6-ой класс)
Ответ отправлен: 10.10.2008, 19:09


Вы имеете возможность оценить этот выпуск рассылки.
Нам очень важно Ваше мнение!
Оценить этот выпуск рассылки >>

Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2008, Портал RusFAQ.ru, Россия, Москва.
Авторское право: ООО "Мастер-Эксперт Про"
Техподдержка портала, тел.: +7 (926) 535-23-31
Хостинг: "Московский хостер"
Поддержка: "Московский дизайнер"
Авторские права | Реклама на портале

∙ Версия системы: 5.6 от 14.10.2008

Яндекс Rambler's Top100
RusFAQ.ru | MosHoster.ru | MosDesigner.ru | RusIRC.ru
Kalashnikoff.ru | RadioLeader.ru | RusFUCK.ru

В избранное