Форум программистов, компьютерный форум, киберфорум
RostorLuxor
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  

Delphi: Как создать красивые кнопки управления окном

Запись от RostorLuxor размещена 05.02.2016 в 06:09
Показов 3203 Комментарии 1

Здравствуйте! Сегодня хотел бы рассказать как сделать кнопки формы "Закрыть"/"На полный экран"/"Свернуть" красивыми.

1. Прежде всего нужно убрать кнопки и заголовок. Для этого переходим в свойства формы и изменяем параметр BorderStyle с bsSingle, на bsNone.

2. Кидаем на форму TImage или TShape, и размещаем с координатами Left=0; Top=0; Ширину подгоняем под форму, высоту делаем около 32-ух пикселей. Выбираем также цвет.

3. Кидаем TLabel, размещаем его с координатами Left=4; Top=4; Подгоняем шрифт и цвет. Устанавливаем свойство Transparent на True.

4. Кидаем TImage, и размещаем его с координатами Top=4; Свойство Left подгоняем под ширину формы. Загружаем в TImage картинку кнопки "Закрыть". Устанавливаем свойство Transparent на True. Пишем обработчик клика по картинке:

Delphi
1
2
3
4
procedure TForm1.Image1Click(Sender: TObject);
begin
Form1.Close;
end;
5. Кидаем TImage, и размещаем его с координатами Top=4; Свойство Left подгоняем под первый TImage (Примерно на 32 пикселя меньше). Загружаем в TImage картинку кнопки "Свернуть". Устанавливаем свойство Transparent на True. Пишем обработчик клика по картинке:

Delphi
1
2
3
4
procedure TForm1.Image2Click(Sender: TObject);
begin
Application.Minimize;
end;
6. Чтобы осуществить перетаскивание формы по нажатию на TShape, пишем обработчик события OnMouseDown:

Delphi
1
2
3
4
5
6
procedure TForm1.Shape1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
const DM = $F012;
begin
ReleaseCapture;
Perform(WM_SysCommand, DM, 0);
end;
И также можно сделать какой-нибудь красивый фон.

Я прилагаю исходник того что у меня получилось.
Вложения
Тип файла: zip Project1.zip (419.8 Кб, 234 просмотров)
Размещено в Программы на Delphi
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Всего комментариев 1
Комментарии
  1. Старый комментарий
    Аватар для Avazart
    Мм изображение прикрепить в блог того что получилось?
    1. Прежде всего нужно убрать кнопки и заголовок.
    И может все же лучше покопать в сторону VCL-стилей?
    Запись от Avazart размещена 06.02.2016 в 14:04 Avazart вне форума
 
Новые блоги и статьи
Использование TThread в Lazarus для математических вычислений.
Massaraksh7 25.05.2026
Производя рефакторинг своих программ на предмет ускорения их работы, обратил внимание на такой аспект, как сокращение времени матвычислений. Дело в том, что приходится работать с большими матрицами. . .
Модель здравосохранения 18. Чем здоровее работник, тем быстрее выгорает
anaschu 24.05.2026
Имитационная модель корпоративного здравоохранения: что показывает математика Сегодня в модели рабочего коллектива на AnyLogic появились три новые механики — выгорание через накопленную усталость,. . .
Модель здравосохранения 17. Планы на выгорание
anaschu 23.05.2026
Вот конкретная схема реализации: В классе Работник добавить: накопленнаяУсталость — растёт каждый час работы, снижается в перерывы и болезни коэффициентПрезентеизма — снижает продуктивность. . .
Изменение цветов в палитре gif файла aka фавикона
russiannick 23.05.2026
Изменение цветов в палитре gif файла, юзаемого как фавиконка в составе html-файла, помещенная в base64, средствами нативного Java Script, навеянное сном в майский день. Для работы необходим браузер,. . .
Модель здравосохранения 16. Слишком хорошие и здоровые сотрудники уходят, недовольные зарплатой
anaschu 23.05.2026
Отладка увольнений и настройка производительности Сегодня во второй половине дня разобрались с механикой увольнений и настроили коэффициент сложности заданий. Вот что было сделано. . . .
Как я стал коммунистом))) Модель сохранения здоровья сотрудников, запись блога номер 15
anaschu 23.05.2026
Внезапно хорошее здоровье сотрудников не нужно капиталистам?))
Модель здравоСохранения 15. Как мы чинили AnyLogic модель рабочего коллектива: сочленение диаграммы состояний болезней и поломок в ресурспул
anaschu 23.05.2026
Как мы чинили AnyLogic модель рабочего коллектива Сегодня разобрались с пятью багами, из-за которых модель либо падала с ошибкой, либо давала совершенно бессмысленные результаты. Каждый баг был. . .
Диалоги с ИИ
zorxor 23.05.2026
Насколько я понимаю - Вы - Искусственный Интеллект. Это так? Да, всё верно. Я — искусственный интеллект. Я представляю собой большую языковую модель, созданную для помощи в самых разных задачах. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru