Форум: "Media";
Текущий архив: 2002.10.17;
Скачать: [xml.tar.bz2];
ВнизПодскажите правильно ли я делаю кнопки Найти похожие ветки
← →
Alex_MIB1 (2002-06-15 20:22) [0]Дело в том, что я с Delphi работаю не очень много но была кое-какая работа, мне пришлось делать кнопки на форме, которые должны были быть абсолютно разной формы- треугольные, круглые и т.д. Я придумал вот что: взял компонент Image а сверху поместил Label(его я сделал прозрачным, чтобы было видно картинку). Вы спросите зачем нужен Label, да потому что только у него я нашел событие OnMouseEnter и OnMouseLeave. Соответственно в событиях описал: при попадании курсора мыши в Label - Image"y присвоить другую картинку, при отводе мыши - вернуть прежнюю картинку.
Скажите правильно ли это, я уверен что есть способы полегче, да и правельней чем мой, так как я опирался лишь на свою фантазию.
← →
MJH (2002-06-16 08:17) [1]на улице:
- скажите,а правильно ли я иду?
- =:-[===]
← →
SI-riuss (2002-06-16 14:07) [2]MJH прав. Главное - не боись. Все правильно если оно рабтает.
← →
liho26 (2002-06-17 12:51) [3]Привет, есть еще вариант изменения размеро-форм кнопок. Например делать конпы эллипсовидные. Вот код. Он достаточно прост. Если есть вопросы - пиши на мыло.
procedure TForm1.Button1Click(Sender: TObject);
Var
btnrgn: hRgn;
begin
Button1.Brush.Style := bsSolid; //bsclear;
{ делаем круг формы }
GetWindowRgn(Button1.Handle, btnrgn);
{ удаляем старый объект }
DeleteObject(btnrgn);
{ делаем прямоугольник кнопки }
button1.Height := 30;
Button1.Width := Button4.Height;
{ создаём круглую форму кнопки }
btnrgn := CreateRoundRectRgn(1, 1, Button1.Width - 1,
Button1.height - 1, Button1.width, Button1.height);
// btnrgn := CreateEllipticRgn(1,10,Button1.Width -
// 1,Button1.height - 1);
{ устанавливаем новое круглое окно }
SetWindowRgn(Button1.Handle, btnrgn, TRUE);
end;
Расскоментарь строки с CreateEllipticRgn - получишь эллиптический кноп.Обработчики у кнопки стандартные.
Страницы: 1 вся ветка
Форум: "Media";
Текущий архив: 2002.10.17;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.008 c