Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.08.13;
Скачать: CL | DM;

Вниз

Создание "спутникообразного" меню... Вопросы.   Найти похожие ветки 

 
cosinus ©   (2006-07-19 14:16) [0]

Есть необходимоть написать popup-меню в виде круглых кнопок, рассположенных по окружности, с центром позиции курсора (если кто видел игру Sims, вот точно как там).
Вопросов собственно 2.
1) Существует ли в природе компонент, делающий такое меню?
2) Откуда мне к этому подойти, если компонента нет и следовательно необходимо писать самому? Есть идея динамически создавать какую-либо панельку (ну типа TPanel, только ее по моему програчной сделать нельзя... а может я и ошибаюсь), transparent в 100% и опять же динамически накидать на нее по кругу кнопки (я думаю в начале объявить какие-нибудь TStringList с составом нескольких меню и по необходимости вытягивать те или иные списки и уже по ним строить менюшку).
Есть ли другой подход?
Заранее благодарен.
Заранее благодарю.


 
tesseract ©   (2006-07-19 14:19) [1]


> cosinus ©   (19.07.06 14:16) 

SetWindowRgn - копать в эту сторону.

От себя добавлю, что в студеческие годы делал что-то похожее.
только там гемморой с реакцией на попадание в окно какой-то был, но всё решаемо.


 
cosinus ©   (2006-07-19 14:22) [2]


> tesseract ©   (19.07.06 14:19) [1]
SetWindowRgn


А зачем он мне??? Честно не пойму. Мне же не форму надо сделать круглой, а расположение кнопок по кругу на , видимо, прозрачной подкладке...


 
tesseract ©   (2006-07-19 14:23) [3]


> А зачем он мне??? Честно не пойму. Мне же не форму надо
> сделать круглой, а расположение кнопок по кругу на , видимо,
>  прозрачной подкладке...


Кнопка - тоже окно, оно имеет handle. И не с формами придёться дело иметь.


 
cosinus ©   (2006-07-19 14:24) [4]

Кстати, если делать, как я написал, то никакого геморроя нет. Вместо кнопки используем круглую картинку и... onClick вроде еще существует ;)))


 
cosinus ©   (2006-07-19 14:26) [5]


> tesseract ©   (19.07.06 14:23) [3]

Да неее... Круглой кнопку как таковую то я делать и не собираюсь (см. выше). Делать мне больше нечего, ей богу :) Мне немного другое нужно.


 
tesseract ©   (2006-07-19 14:29) [6]

До Win2000 нет прозрачности.
Я думал ты хочешь сделать как у Genius/logitech - круг в который вписано 8 кнопок.


 
cosinus ©   (2006-07-19 14:37) [7]


> tesseract ©   (19.07.06 14:29) [6]

Я честно говоря не знаю, как у Logitech... Самый похожий пример из известных мне, я привел - это Sims. Кнопки видны, окно на котором они рассположены нет. Вот. :)
До 2000 мне и не надо.


 
antonn ©   (2006-07-19 15:36) [8]

если нужно графически, то вот примерчик:
http://an-files.narod.ru/_files/menu_r.rar (3,56Кб)


 
antonn ©   (2006-07-19 15:55) [9]

примерчик из [8], модернизированный до меню "неграфического":)
http://an-files.narod.ru/_files/menu_r_2.rar (5Кб)


 
cosinus ©   (2006-07-19 16:09) [10]


> antonn ©   (19.07.06 15:55) [9]

Сссупер. Именно то, что надо, спасибо.
Я так же начал делать и тоже на второй форме :)
За уже реализованный пример премного благодарен.


 
antonn ©   (2006-07-19 17:11) [11]

ну и еще один пример, продолжение второго, на основе изображений с альфаканалом:
http://an-files.narod.ru/_files/menu_r_3.rar (7Кб)

ЗЫ там код довольно глупый местами, но рабочий:)


 
Andy BitOff ©   (2006-07-19 17:49) [12]

antonn ©

А ты развей тему, хороший компонент получится. Я бы с удовольствием его вставил в проект, тем более есть в какой и не в один. И для скиновых, тоже удобно.


 
homm ©   (2006-07-19 17:51) [13]

> Самый похожий пример из известных мне, я привел - это Sims

А тем кто в симов не играл, как вас понимать?


 
Владик   (2006-07-19 17:51) [14]


> antonn ©   (19.07.06 17:11) [11]
> ну и еще один пример, продолжение второго, на основе изображений
> с альфаканалом:


Респект :) почистить и вставить комментарии - так вообще готовый пример !


 
Экспериментатор   (2006-07-20 10:05) [15]

Класно получилось


 
Экспериментатор   (2006-07-20 10:05) [16]

Пардон, классно



Страницы: 1 вся ветка

Текущий архив: 2006.08.13;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.07 c
2-1153895423
Константин_
2006-07-26 10:30
2006.08.13
Выборка определенного количества символов в SQL запросе


2-1153690370
Footballer
2006-07-24 01:32
2006.08.13
Чё за ошибка?


3-1149503412
stud
2006-06-05 14:30
2006.08.13
формирование отчета в квикрепорт


15-1151760863
Roast
2006-07-01 17:34
2006.08.13
Ищу работу программиста-стажера в Москве (Delphi)


9-1132596506
sco
2005-11-21 21:08
2006.08.13
OpenGl & *.gms