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

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

Грани компанента [D6, Win2k]


jen_bond ©   (2002-11-21 10:29:00) 

Может кто-то подскажет. Возможно к примеру у Button изменять грани, ну например сделать многоугольник или еще что-то.
Спасибо!


F1   (2002-11-22 11:49:00) [1]

>Игорь Шевченко © (22.11.02 11:45)
Дык ведь ему нада, чтоб размер в рантайме менялся!!! :)))


Игорь Шевченко   (2002-11-22 11:45:00) [2]

http://www.delphikingdom.com/treasury/hsdialogs.htm

Есть там такой unit HSFlatButton.pas :-)


F1   (2002-11-22 11:38:00) [3]

>Antonius © (22.11.02 11:19)
Ну если требуешь, то есть 2 пути решения этой проблемы:
1) Послать всех привиредливых Userов в ... :)))
2) Сделать от TWinControl !!!
3) Вообще послать нас всех в ... и поискать ответ на этот вопрос в другом месте :)))
Выбор остается за jen_bond!!!
Лично я 1) и 3) способы не стал бы использовать, что и jen_bond советую. :)))


Antonius   (2002-11-22 11:19:00) [4]

>F1
Если это будет программа не для личного пользования, а для общего, и я когда нибудь буду ей пользоваться, я просто требую, что бы кнопки реагировали на клавишу пробел :)


F1   (2002-11-22 11:09:00) [5]

>jen_bond (22.11.02 11:00)
>Проблемка заключается еще в том, что необходимо изменять размер >данного компанента в run time режиме.
Ну, блин, ты ведь будешь обрабатывать событи мыши, вот и отслеживай, где юзер кликнул, и куда потащил!!! :)))
А Bitmap можешь Stretch сделать!!!


jen_bond   (2002-11-22 11:00:00) [6]

Проблемка заключается еще в том, что необходимо изменять размер данного компанента в run time режиме.


F1   (2002-11-22 10:56:00) [7]

>Antonius © (22.11.02 10:53)
А разве речь шла о клаве??? :)))


Antonius   (2002-11-22 10:53:00) [8]

TGraphic не имеет хэндла. Ввод с клавиатуры будет сделать очень тяжело и через ж. А без ввода с клавы - не серьезно. Пробелом переключать/нажимать кнопки - милое дело. Надо делать от TWinControl или его наследников.
в rxLib"e есть такая кнопка в виде переключателя. можно подсмотреть исходник.


F1   (2002-11-22 10:49:00) [9]

>jen_bond (22.11.02 10:43)
Ну а я тебе что написал?
На форме расположены компаненты (к примеру TMyButton) и изображаются не только квадратными или прямоугольными а различной формы(на основании некоторых параметров, в данном случае Bitmapов)!
ЗЫ Заодно попрактикуешься с написанием своих компанентов, но если уж совсем не получится, то кричи, вышлю сорцы(сейчас их нет, они дома, а дома нет инета :(((( ).


jen_bond   (2002-11-22 10:43:00) [10]

задача состоит в том чтобы можно было при создании формы расположенные на ней компаненты(к примеру Button) изображать не только квадратными или прямоугольными а различной формы(на основании некоторых параметров)!


F1   (2002-11-22 10:28:00) [11]

>jen_bond (22.11.02 09:07)

Да, Александр С. © (22.11.02 10:19) истину глаголит!
Хотя я делал не TImage а описывал свой class(TGraphic),
Там обрабатывал
MouseEnter
MouseLeave
MouseMove
MouseDown
MouseUp
Paint
И пропертисы сделал NormalBitmap, EnterBidmap, DownBitmap
И рисовал что нада, так даже кнопка по форме может изменяться в разных положениях!
Удачи!!!


Александр С.   (2002-11-22 10:19:00) [12]

1. Нарисовать две картинки .bmp
1) - вид кнопки в отпущенном состояниии
2) - вид кнопки в нажатом состоянии
2. Поместить на форме компонент TImage
3. Загрузить в него изображение 1)
4. Написать обработчик OnMouseDown
- загрузка в TImage изображение 2)
5. Написать обработчик OnMouseUp
- загрузка в TImage изображение 1)
6. Написать обработчик OnClick
Кнопка готова к любым рубашкам(скины).
Недостаток: кнопка не получает фокуса.


jen_bond   (2002-11-22 09:07:00) [13]

F1 если не сложно поподробней на счет последнего совета.


F1   (2002-11-21 11:12:00) [14]

А вообще ты ведь его сам можешь рисовать, так пусть он будет на самом деле квадратный, а ты его рисуй круглым...
Можешь даже клик сам обрабатывать...


Calm   (2002-11-21 11:07:00) [15]

2 jen_bond
Я не интересуюсь такими хитростями.
Поэтому, к сожалению, помочь не могу :(


F1   (2002-11-21 11:05:00) [16]

Смотри
SetWindowRgn
CreateEllipticRegion
CreateRectRegion
...


jen_bond   (2002-11-21 10:36:00) [17]

Если не сложно дай наводящую информацию где можно найти хоть что-то по данному вопросу!


Calm   (2002-11-21 10:32:00) [18]

То, что делать можно- точно (сам видел)
А вот какделать не интересовался.


Наверх

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