Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "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.55 MB
Время: 0.861 c
1-56160
SinnerPro
2002-10-07 12:11
2002.10.17
Вопрос о форме ( окне программы )


3-55971
M_Zaripov
2002-09-25 14:03
2002.10.17
Filter RxMemoryTable


14-56320
AFrolov
2002-09-24 11:16
2002.10.17
Посоветуйте компонент Grid


1-56027
danilka
2002-10-08 09:29
2002.10.17
Как в 5-х дельфях отследить добавление на форму MDIChild?


1-56208
KLOP
2002-10-07 20:27
2002.10.17
Как в DBGrid обработать клик правой кнопой мыша ?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский