Суббота, 02.08.2025, 11:17
Развлекательный Портал
Приветствую Вас Гость | RSS
Главная Блог Регистрация Вход
Меню сайта

Даты
Праздники России

Курс валют
Курс Валют Информер
Российский рубль Российский рубль валюта России
(EUR)//-//
(USD)//-//
(CZK)//-//
(GBP)//-//

Поиск

Бонус

Получить WMR-бонус на свой кошелек!

Календарь
«  Декабрь 2011  »
Пн Вт Ср Чт Пт Сб Вс
   1234
567891011
12131415161718
19202122232425
262728293031

Опрос
Оцените мой сайт
Всего ответов: 2

Главная » 2011 » Декабрь » 26 » Графика окон и их программирование
06:52
Графика окон и их программирование

В этой статье описывается создание нестандартных окон.
Для этого нам понадобится Delphi (желательно Delphi 7 или RAD Studio).
Все графические объекты созданы в Photoshop 11.

Для начала уберём стандартный заголовок у окна:
Form1>Border Style>bsNone
и
Form1>Position>poScreenCenter

1.Делаем графический заголовок.
В виде заголовка у нас будет TImage.
Поставьте его на форму и присвойте ему имя Title (Image1>Name>Title).
Загрузите в него изображение (можно самое простое нарисовать в пеинте, но если хочется чего то более стильного делаем в фотошопе).
Установите в свойстве Align значение alTop.
И Height (Высоту) желательно 25, или как захотите только не слишком большую.
Ставим свойство Stretch: True
Теперь программируем заголовок:


procedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton;
 Shift: TShiftState; X, Y: Integer);
begin
ReleaseCapture;
Perform(WM_SYSCOMMAND,$F012,0);
end;

Теперь окно можно (таскать) за наш заголовок.

2. Делаем рамку
Кидаем на форму три компонента TImage и присваиваем им имена:
Image1>Name>Left
Image2>Name>Right
Image3>Name>Bottom

Имагу Left ставим свойство Align>alLeft и Cursor: crSizeWE
Имагу Right ставим свойство Align>alRight и Cursor: crSizeWE
Имагу Bottom ставим свойство Align>alBottom и Cursor: crSizeNS
И у всех них свойство Stretch: True

Делаем ширину у имагов Left и Right 5,
а высоту у Bottom тоже 5.
Загружаем в них изображения.
Программируем:


procedure TForm1.BottomMouseDown(Sender: TObject; Button: TMouseButton;
 Shift: TShiftState; X, Y: Integer);
begin
ReleaseCapture;
Perform(WM_SYSCOMMAND,$F006,0);
end;

procedure TForm1.LeftMouseDown(Sender: TObject; Button: TMouseButton;
 Shift: TShiftState; X, Y: Integer);
begin
ReleaseCapture;
Perform(WM_SYSCOMMAND,$F001,0);
end;

procedure TForm1.RightMouseDown(Sender: TObject; Button: TMouseButton;
 Shift: TShiftState; X, Y: Integer);
begin
ReleaseCapture;
Perform(WM_SYSCOMMAND,$F002,0);
end;

Теперь дело остаётся за малым: кнопка закрыть, свернуть и цвет фона окна.
Поставьте на заголовок два компонента TImage и загрузите в них изображения. Меняем их названия:
Image1>Name>Close1
Image1>Name>Minimize
Программируем:


procedure TForm1.Close1Click(Sender: TObject);
begin
Close;
end;

procedure TForm1.MinimizeClick(Sender: TObject);
begin
Application.Minimize;
end;

Программируем форму:


procedure btnPos;
begin
Form1.Close1.Top := 0;
Form1.Close1.Left := Form1.Width-Form1.Close1.Width;
Form1.Minimize.Top := 0;
Form1.Minimize.Left := Form1.Width-Form1.Close1.Width-Form1.Minimize.Width;
end;

procedure TForm1.FormResize(Sender: TObject);
begin
btnPos;
end;

procedure TForm1.FormShow(Sender: TObject);
begin
Form1.DoubleBuffered := True;
Form1.AlphaBlend := true; // Разрешаем прозрачность
Form1.AlphaBlendValue := 230; // Устанавливаем прозрачность
end;

Можно ещё добавить надпись на заголовке.

Всё сделано.

Просмотров: 434 | Добавил: gorbol3 | Рейтинг: 0.0/0
Всего комментариев: 0
Имя *:
Email *:
Код *:
Городской чат

Закладки

Погода

Архив записей

ICQ статус
470998535

Статистика


Онлайн всего: 1
Гостей: 1
Пользователей: 0

Отправить СМС

Стоимость

Мой вебсайт стоит12 385,39 руб


QR

Copyright Norkin V.V. © 2025 Хостинг от uCoz