![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Грани компанента [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]То, что делать можно- точно (сам видел)
А вот какделать не интересовался.