Вниз
Скачать: CL | DM;

Подскажите правильно ли я делаю кнопки   Найти похожие ветки 

← →
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 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.01 c
3-56010
Mark_mark
2002-09-26 14:45
2002.10.17
Oracle Client


7-56354
Mnch
2002-08-06 17:14
2002.10.17
Как сделать свою прогу e-mail клиентом по умолчанию?


3-56005
Dmitry Toropov
2002-09-25 18:23
2002.10.17
ADO + mdb + delete record с помощью DBNavigator = ???


14-56283
Администратор
2002-09-21 10:30
2002.10.17
Секс по телефону.


1-56192
margol
2002-10-07 14:41
2002.10.17
Работа с файлами




   Наверх