Содержание материала

 

Вопрос создания непрямоугольных окон часто интересует начинающих программистов и время от времени обсуждается на форумах разработчиков в среде Delphi. А вообще, нужно ли это кому-нибудь? Ответ - да! Это уже было нужно таким известным фирмам, как Symantec (Norton Utilities, Norton CrashGuard), Microsoft (Приложение "

Часы" в Windows NT4 может принимать круглую форму, Deluxe CD Player из MS Plus! 98 имеет вид прямоугольника со скругленными краями). У Borland Jbuilder 2 в окне начальной загрузки  стрела крана "выскочила" за пределы прямоугольника. Программы для видеокарт TV Capture фирмы AverMedia имитируют пульт управления. Окно переводчика Magic Goody принимает вид гуся, разгуливающего по экрану.

 

Список можно продолжить, а вывод такой: окно "хитрой" формы это "изюминка" оформления Вашей программы, нечто запоминающееся, дополнительный плюс в борьбе за потенциального покупателя. Главное в этом не переборщить. Вряд ли будет удобно работать с текстовым редактором в треугольном окне. Окна произвольной формы неплохо смотрятся при начальной загрузке (Splash) и, возможно, в качестве окна "О программе … ".

Как это делается? Средствами Delphi достаточно просто. Приведенные ниже примеры можно также перевести в C++ Builder или Visual C++.

Code:

type

TForm1 = class(TForm)

// Данную процедуру будем использовать для задания

// формы окна

   procedure FormCreate(Sender: TObject);

protected

// Данную процедуру необходимо переопределить,

// чтобы иметь возможность перемещать окно "мышкой"

// не только за за заголовок, который в данном

// случае отсутствует

   procedure WMNCHitTest(var Message: TWMNCHitTest);message WM_NCHITTEST;

private

   { Private declarations }

public

   { Public declarations }

end;

 

 

Добавить комментарий

Не использовать не нормативную лексику.

Просьба писать ваши замечания, наблюдения и все остальное,
что поможет улучшить предоставляемую информацию на этом сайте.

ВСЕ КОММЕНТАРИИ МОДЕРИРУЮТСЯ ВРУЧНУЮ, ТАК ЧТО СПАМИТЬ БЕСПОЛЕЗНО!