unlexd Где делать-то собрался =) если в дельфе, то можно так:
Код:
procedure MakeRounded(Control: TWinControl); var R: TRect; Rgn: HRGN; begin with Control do begin R := ClientRect; rgn := CreateRoundRectRgn(R.Left, R.Top, R.Right, R.Bottom, 20, 20); Perform(EM_GETRECT, 0, lParam(@r)); InflateRect(r, - 5, - 5); Perform(EM_SETRECTNP, 0, lParam(@r)); SetWindowRgn(Handle, rgn, True); Invalidate; end; end;
использовать
Код:
procedure TForm1.Button1Click(Sender: TObject); begin MakeRounded(Button1); end;
Добавлено спустя 1 минуту, 2 секунды Или кнопку-картинку, потомок от TImage.
Спасибо, но честно говоря я был невнимателен, когда тему создавал-хотел создать в разделе C++Builder, а получилось в общем. Вот и непонятка немного вышла. Поэтому буду признателен если посоветуешь как это под Builder сделать.
Member
Статус: Не в сети Регистрация: 03.01.2004 Откуда: Питер
unlexd Короче есть очень действенный способ.
1. Нужно подготовить картинки (bmp, jpeg...) с твоей кнопкой в обычном состоянии, в нажатом, в подсвеченном.
2. Берем TImage и на события onMouseMovie вешаем загрузку подсвеченного изображения, на onMouseLive - обычного, на onMouseDown - нажатой и т.д.
Это самый универсальный способ.
Тот, который я описАл ранее, дает не очень красивый результат...
_________________ Здесь так мало тех, с кем легко говорить,
Еще меньше тех, с кем не страшно молчать (c)
С Image вариант интересный, но мне необходимо сделать именно новый класс этой самой кнопки, так, чтобы можно было форму ее менять.
Вот и вопрос, как его сделать:(.
Member
Статус: Не в сети Регистрация: 03.01.2004 Откуда: Питер
unlexd Не, по билдеру не скажу. В принципе они с дельфи похожи и с я знаю более-менее, но все-же затрудняюсь сказать заработает ли тот пример в билдере.
PS rnfnb делается в нем все довольно страшненько. Там просто ограничивается область отрисовки кнопки, и она становится какой-то уродской, но овальной =(
_________________ Здесь так мало тех, с кем легко говорить,
Еще меньше тех, с кем не страшно молчать (c)
unlexd Не, по билдеру не скажу. В принципе они с дельфи похожи и с я знаю более-менее, но все-же затрудняюсь сказать заработает ли тот пример в билдере. PS rnfnb делается в нем все довольно страшненько. Там просто ограничивается область отрисовки кнопки, и она становится какой-то уродской, но овальной =(
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 8
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения