![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как создать собственный графический интерфейс. [D6, WinXP]
doodle © (2004-10-15 12:33:00)Уважаемые мастера Delphi, я только учусь программировать и сейчас занят написанием программы для своего калькулятора. Хочу сделать кнопоки калькулятора круглыми и, чтобы когда указатель мыши заходит на кнопку она как бы нажималась. Картинки-то того и другого состояния кнопки я нарисовал, но как теперь этот процесс реализовать? OnMouseEnter здесь не поможет, не для того предназначен. Объект BitBtn картиночку берет, но дальше-то что, да и поле с двух сторон картинки оставляет зачем-то. Подскажите, пожалуйста, что сдесь можно сделать. Заранее, благодарствую.
-=SS=- (2004-10-15 15:16:00) [1]var
H:Hrgn;
T:TControlCanvas;
begin
T:=TControlCanvas.Create;
T.Control:=Button1;
H:=CreateEllipticRgn(0,0,60,20);
SetWindowRgn(Button1.Handle,H,True);
T.Brush.Color:=ClrED;
T.FillRect(Button1.ClientRect);
T.Free;
Еще немного фантазии и всё получится
doodle (2004-10-15 13:01:00) [2]Благодарствую за ответ -=SS=-. А работающий исходник калькулятора я уже написал, потому и взялся за интерфейс.
-=SS=- (2004-10-15 12:53:00) [3]Если ты только учишся, то я бы для начала тебе посоветовалбы просто создать рабочую версию програмы а уже потом думать за интерфейс.
В принципе реализация твоего запроса может иметь вид.
Нужно переопределить класс TButton, добавив в него функции
OnMouseLeave, OnMouseEnter (OnMouseEnter здесь не поможет/// поможет)
И функциями SetWindowRgn() сделать кнопки кокой захочишь формы.