Экспертная система Delphi.int.ru

Сообщество программистов
Общение, помощь, обмен опытом

Логин:
Пароль:
Регистрация | Забыли пароль?

Delphi.int.ru Expert

Другие разделы портала

Переход к вопросу:

#   

Статистика за сегодня:  


Лучшие эксперты

Подробнее »



Вопрос # 1 982

Раздел: Delphi » Прочее
/ вопрос решён /

Здравствуйте, эксперты! Уменя такой вопрос: как можно сделать так чтобы кнопка была не прямоугольной формы, а например круглой или в виде элипса?

Ученый Вопрос решён, но можно продолжить его обсуждение в мини-форуме

Вопрос задал: Ученый (статус: 8-ой класс)
Вопрос отправлен: 9 октября 2008, 18:08
Состояние вопроса: решён, ответов: 3.

Ответ #1. Отвечает эксперт: Помфюк Владимир Степанович

Здравствуйте, Ученый!
Можно воспользоватся готовыми компонентами, а можно самому поиграть с Regions: CreateEllipticRgn, CreateEllipticRgnIndirect, CreatePolygonRgn, CreatePolyPolygonRgn, CreateRectRgn, CreateRectRgnIndirect, CreateRoundRectRgn, CombineRgn

Ответ отправил: Помфюк Владимир Степанович (статус: Абитуриент)
Время отправки: 9 октября 2008, 18:21
Оценка за ответ: 5

Ответ #2. Отвечает эксперт: Аксион

Здравствуйте, Ученый!
Используйте сторонний компонент:
1) скачайте файл lib_resize_btn
2) распакуйте архив
3) запустите файл DDHCH8.dpk
4) В появившемся окне нажмите Install
5) Появится новая вкладка DDHB с компонентами...как раз там будет круглая кнопка...
Удачи ;-)

Ответ отправил: Аксион (статус: 4-ый класс)
Время отправки: 9 октября 2008, 18:26
Оценка за ответ: 5

Ответ #3. Отвечает эксперт: ANBsoft

Здравствуйте, Ученый!
Попробуйте это, я использовал и мне понравилось:
http://www.delphikingdom.ru/asp/viewitem.asp?catalogid=888

Ответ отправил: ANBsoft (статус: Студент)
Время отправки: 9 октября 2008, 20:47


Мини-форум вопроса

Всего сообщений: 9; последнее сообщение — 9 октября 2008, 19:31; участников в обсуждении: 3.
Помфюк Владимир Степанович

Помфюк Владимир Степанович (статус: Абитуриент), 9 октября 2008, 18:24 [#1]:

Ещё Вам нужна будет SelectClipRgn
Ученый

Ученый (статус: 8-ой класс), 9 октября 2008, 18:24 [#2]:

То Помфюк Владимир Степанович . А можно поподробнее! Я никогда с этим не сталкивался!
Помфюк Владимир Степанович

Помфюк Владимир Степанович (статус: Абитуриент), 9 октября 2008, 18:37 [#3]:

Вот таким способом я показывал кнопки без формы (немного не то, но практически всё что приходится использовать):

var
tr,but:HRGN;
begin
tr:=CreateRectRgn(btnClose.Left,btnClose.Top,btnClose.Left+btnClose.Width,btnClose.Top+btnClose.Height);

but:=CreateRectRgn(btn1.Left,btn1.Top,btn1.Left+btn1.Width, btn1.Top+btn1.Height);
CombineRgn(tr,tr,but,RGN_OR);

but:=CreateRectRgn(btn2.Left,btn2.Top,btn2.Left+btn2.Width,btn2.Top+btn2.Height);
CombineRgn(tr,tr,but,RGN_OR);

SetWindowRgn(Self.Handle,tr,True);

end;
Ученый

Ученый (статус: 8-ой класс), 9 октября 2008, 18:39 [#4]:

Блазер! Проблемо вот какая: делаю все как вы говорите, но вдается ошибка " [Fatal Error] Could not create output file 'c:\program files\borland\delphi7\Projects\Bpl\DDHCH8.bpl'"
Аксион

Аксион (статус: 4-ый класс), 9 октября 2008, 18:58 [#5]:

Не знаю даже...попробуй посмотреть может там ReadOnly стоит (на папке) , или такой файл уже есть...
Ученый

Ученый (статус: 8-ой класс), 9 октября 2008, 19:05 [#6]:

Блазер! вы наверно будете смеятся но это действительно так! Спасибо за помошь!
Ученый

Ученый (статус: 8-ой класс), 9 октября 2008, 19:17 [#7]:

Блазер, опять проблема. Делаю так чтобы принажати кнопки происходило определённое действие, нажимаю run, выдаёт ошибку
[Fatal Error] Unit1.pas(7): File not found: 'DdhRound.dcu'
Аксион

Аксион (статус: 4-ый класс), 9 октября 2008, 19:23 [#8]:

DDHROUND.DCU находится в том архиве что я дал, скопируй его в папку с проектом.
Ученый

Ученый (статус: 8-ой класс), 9 октября 2008, 19:31 [#9]:

О заработало!

31 января 2011, 20:03: Статус вопроса изменён на решённый (изменил модератор Ерёмин А.А.): Автоматическая обработка (2 и более ответов с оценкой 5)

Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.

Версия движка: 2.6+ (26.01.2011)
Текущее время: 22 февраля 2025, 11:53
Выполнено за 0.02 сек.