|
Вопрос # 1 982/ вопрос решён / |
|
Здравствуйте, эксперты! Уменя такой вопрос: как можно сделать так чтобы кнопка была не прямоугольной формы, а например круглой или в виде элипса?
 |
Вопрос задал: Ученый (статус: 8-ой класс)
Вопрос отправлен: 9 октября 2008, 18:08
Состояние вопроса: решён, ответов: 3.
|
Ответ #1. Отвечает эксперт: Помфюк Владимир Степанович
Здравствуйте, Ученый!
Можно воспользоватся готовыми компонентами, а можно самому поиграть с Regions: CreateEllipticRgn, CreateEllipticRgnIndirect, CreatePolygonRgn, CreatePolyPolygonRgn, CreateRectRgn, CreateRectRgnIndirect, CreateRoundRectRgn, CombineRgn
Ответ #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.
|
Ученый (статус: 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)
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
|