|
|
|
И снова она ... эта круглая кнопка !!!
|
|||
|---|---|---|---|
|
#18+
Всем привет! Нарисовал круглую кнопку (компонент:)) по избитому плагиатному примеру, (например, вот http://jtsoftik.narod.ru/builder/num52.html) однако в результате на клик реагирует весь прямоугольник. Подскажите, можно ли сделать так, чтобы была доступна для клика только сама кнопка без фона??? (Если "да", то как это сделать в двух словах?) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.04.2004, 23:09 |
|
||
|
И снова она ... эта круглая кнопка !!!
|
|||
|---|---|---|---|
|
#18+
математическим способом :)) проверять координаты мышки и если поподают в окружность то .... а что я как то так и делал :) i_i (';') (V),(V),, JS ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.04.2004, 10:16 |
|
||
|
И снова она ... эта круглая кнопка !!!
|
|||
|---|---|---|---|
|
#18+
На большинстве кнопок такого типа реагирует именно прямоугольник. Проверь сам на сайтах. Главное размерчик правильный подобрать. А насчет математики - овчинка выделки не стоит ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.04.2004, 10:38 |
|
||
|
И снова она ... эта круглая кнопка !!!
|
|||
|---|---|---|---|
|
#18+
Да это я понял! Уже нашел пыльную книжку с уравнением эллипса. Как бы мне узнать координаты щелчка? Хотел придумать чего с OnMouseDown, но не знаю, как привинтить его к своему компоненту! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.04.2004, 10:44 |
|
||
|
И снова она ... эта круглая кнопка !!!
|
|||
|---|---|---|---|
|
#18+
Есть функция - возвращает координаты курсора ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.04.2004, 10:47 |
|
||
|
И снова она ... эта круглая кнопка !!!
|
|||
|---|---|---|---|
|
#18+
А если надо будет делать кнопку ввиде снежинки? :) У меня вот была кнопка(ну не совсем кнопка, полукнопка) у которой каждая вторая точка отсутствовала. HRGN надо использовать. и SetWindowRgn и будет вам счастье. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.04.2004, 10:53 |
|
||
|
И снова она ... эта круглая кнопка !!!
|
|||
|---|---|---|---|
|
#18+
Во точно ! i_i (';') (V),(V),, JS ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.04.2004, 10:55 |
|
||
|
И снова она ... эта круглая кнопка !!!
|
|||
|---|---|---|---|
|
#18+
Частично решил вопрос: Координаты щелчка мыши: GetCursorPos() или Mouse->CursorPos() (Возвращают глобальные координаты). Далее, преобразовываем их относительно моего компонента: ScreenToClient(). Опосля отсекаем всякую лабуду уравнением эллипса и в результате кнопка нажимается (перерисовывается) только при непосредственном кликанье на неё! Теперь нужно почти невозможное - OnClick к самой кнопке как привязать? Может ОнКлик убить в компонете и сделать альтернативное событие ? Кто знает, как убить родительское событие в своем компоненте? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.04.2004, 09:54 |
|
||
|
И снова она ... эта круглая кнопка !!!
|
|||
|---|---|---|---|
|
#18+
А зачем убивать ??? i_i (';') (V),(V),, JS ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.04.2004, 09:58 |
|
||
|
И снова она ... эта круглая кнопка !!!
|
|||
|---|---|---|---|
|
#18+
А затем, что у него даже если в нужную область клик не попал, а попал в прямоугольник - отработает стандартная функция кнопки - отрисует нажим. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.04.2004, 13:02 |
|
||
|
И снова она ... эта круглая кнопка !!!
|
|||
|---|---|---|---|
|
#18+
MSDN SetWindowRegion ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.04.2004, 00:54 |
|
||
|
|

start [/forum/topic.php?fid=57&msg=32491147&tid=2035048]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
44ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
41ms |
get tp. blocked users: |
1ms |
| others: | 234ms |
| total: | 356ms |

| 0 / 0 |
