Веб программирование

Приложение с окном произвольной формы.

 
 


Если вам надоела классическая прямоугольная форма окон Windows, то постройте приложение с формой любых очертаний. Заготовку будущего окна можете создать в каком-либо графическом редакторе, например, Xara-X. Создаваемое изображение должно иметь фон в принципе любого, но одного цвета, например, белого. Область с выбранным цветом как раз впоследствии будет прозрачной на экране. Более того, эта область не будет принадлежать окну вашего приложения. Здесь вы будете наблюдать вид рабочего стола и чужих приложений, впрочем, если они к тому времени будут запущены. После того как изображение окна будет готово, экспортируйте его в формат BMP.

В среде C++ Builder откройте новый проект. Из вкладки Additional установите на форму компонент Image1. Воспользовавшись свойством Picture этого компонента, загрузите подготовленное вами изображение окна. Для свойства AutoSize установите значение true, после этого размеры поля Image1 автоматически сравняются с размерами загруженного изображения. После запуска проекта приложения на данном этапе вы обнаружите, что его окно по-прежнему будет иметь стандартную прямоугольную форму.

Для того чтобы лишняя для вас часть окна исчезла, необходимо сделать четыре шага. Во-первых, для компонента Form1 свойству TransparentColor (Прозрачный цвет) установите значение true. Во-вторых, свойству TransparentColorValue (Значение прозрачного цвета) установите значение clWhite (Белый). Таким образом, вы добьетесь, исчезновения некоторой части поля формы. Третьим шагом необходимо свойству Color задать значение clWhite. Четвертым шагом вы должны свойству BorderStyle придать значение bsNone, для того чтобы скрыть рамку окна. Но при этом исчезнут кнопки управления окном, и не будет возможности закрыть ваше приложение. Поэтому нужно предусмотреть другой способ закрытия приложения. Можно, например, сделать так чтобы приложение завершало свою работу при клике правой кнопкой мыши по любой части окна произвольной формы или при нажатии клавиши Esc. Для реализации второй возможности в функцию обработки FormKeyDown (Клавиша внизу) запишите строку программного кода:

if (Key == 27) Close();     //если нажать на клавишу ESC то выход

Такое окно произвольной формы можно, например, использовать как начальное в какой-либо вашей программе.


Есть вопросы? Спроси на нашем форуме!!
bigcamagan90 [26.11.2013 08:52]

Новый адрес сайта: bigcamagan.ru

Stertor370 [26.11.2013 15:35]

bigcamagan, окно любой формы можно построить базируясь лишь на gdiplus и функциях для рисования. Ты что, приперся сюда реклить?

bigcamagan90 [26.11.2013 15:45]

steptor, опишите этот простой способ в маленькой статейке.

alex13sh300 [26.11.2013 19:08]

Stertor, думаю попробовать создать приложения полностью нарисованный на gdi+. Видел даж на vb6 такое (мазахисты) делали

Stertor370 [26.11.2013 20:36]

язык принципиального значения не имеет, API для всех одинаковые.



Оставлять комментарии можно только зарегистрированным




Предупреждение: Вся информация представлена исключительно в образовательных целях.
Ни авторы, ни администрация не несут ответственности в случае ее использования в противозаконных целях.