Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Подскажите правильно ли я делаю кнопки [D6, Win95/98, WinME, NT4, Win2k, WinXP]


Alex_MIB1 ©   (2002-06-15 20:22:00) 

Дело в том, что я с Delphi работаю не очень много но была кое-какая работа, мне пришлось делать кнопки на форме, которые должны были быть абсолютно разной формы- треугольные, круглые и т.д. Я придумал вот что: взял компонент Image а сверху поместил Label(его я сделал прозрачным, чтобы было видно картинку). Вы спросите зачем нужен Label, да потому что только у него я нашел событие OnMouseEnter и OnMouseLeave. Соответственно в событиях описал: при попадании курсора мыши в Label - Image"y присвоить другую картинку, при отводе мыши - вернуть прежнюю картинку.

Скажите правильно ли это, я уверен что есть способы полегче, да и правельней чем мой, так как я опирался лишь на свою фантазию.


liho26   (2002-06-17 12:51:00) [1]

Привет, есть еще вариант изменения размеро-форм кнопок. Например делать конпы эллипсовидные. Вот код. Он достаточно прост. Если есть вопросы - пиши на мыло.

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 - получишь эллиптический кноп.Обработчики у кнопки стандартные.


SI-riuss   (2002-06-16 14:07:00) [2]

MJH прав. Главное - не боись. Все правильно если оно рабтает.


MJH   (2002-06-16 08:17:00) [3]

на улице:
- скажите,а правильно ли я иду?
- =:-[===]


Наверх

Титульная страница Поиск, карта сайта Написать письмо