Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > Поворот формы на угол


Автор: TDM 5.5.2006, 23:05
Как вообще повернуть что нибудь зная Handle? 

Автор: Voyager 6.5.2006, 00:29
Куда повернуть? Исходя из информативности вопроса напрашивается ответ: "как нибудь".
А вообще по-моему это из области фантастики. 

Автор: Sunvas 6.5.2006, 07:44
Цитата(TDM @  5.5.2006,  23:05 Найти цитируемый пост)
Как вообще повернуть что нибудь зная Handle? 

Повернуть, чтобы было "Косо-криво" невозможно. Можно только по-разному рисовать  контрол. А откуда у тебя ввобще такая нелепая идея? 

Автор: TDM 6.5.2006, 19:32
2Sunvas Нелепая идея взялась когда я захотел сделать крутящиеся окна 

Автор: Yanis 6.5.2006, 19:43
Цитата(TDM @  6.5.2006,  19:32 Найти цитируемый пост)
Нелепая идея взялась когда я захотел сделать крутящиеся окна  
 Идея сомнительная, но наврное с горем пополам можно всё свести к повороту изображения формы и последующей его отрисовке.

P. S. подумал, решил что крутящиеся окна это было бы эффектно. На меня бы произвело впечатление smile 

Автор: Демо 6.5.2006, 20:47
Думаю, что нужно воспользоваться регионами и применить функцию SetWorldTransform попробовать. 

Автор: Sunvas 7.5.2006, 00:10
Цитата(Демо @  6.5.2006,  20:47 Найти цитируемый пост)
Думаю, что нужно воспользоваться регионами и применить функцию SetWorldTransform попробовать. 

Ну да.. Тогда еще нужно будет свой интерфейс разрабатывать. Ведь все формы в системе прямоугольные!

Цитата(TDM @  6.5.2006,  19:32 Найти цитируемый пост)
2Sunvas Нелепая идея взялась когда я захотел сделать крутящиеся окна 

Зачем же людей пугать?? 

Автор: TDM 7.5.2006, 01:17
Ведь можно сделать форму-бублик! Так почему нельзя её повернуть? 

Автор: Sunvas 7.5.2006, 01:31
Цитата(TDM @  7.5.2006,  01:17 Найти цитируемый пост)
Ведь можно сделать форму-бублик! Так почему нельзя её повернуть? 

Так, давай разберемся что ты хочешь перевернуть: форму (своей формы) или 
Цитата(TDM @  5.5.2006,  23:05 Найти цитируемый пост)
что нибудь зная Handle


Форму тебе перевернуть не удасться (формы все в системе прямоугольные, независимо от того какими регионами ты ее нарисовал).

Если ты хочешь просто, чтобы форма сделала полные переворот на 360 градусов, то сделай снимок формы и вращай изображение. Если же ты хочешь перевернуть ее на угол, например, 180, то ничего у тебя не выйдет. 

Автор: Yanis 7.5.2006, 01:32
Повернуть нельзя. Можно нарисовать повернутое изображение, с соответствующей формой окна. 
P. S. А как форма бублика связана с поворотом окна? 

Автор: Sunvas 7.5.2006, 01:37
Цитата(Yanis @  7.5.2006,  01:32 Найти цитируемый пост)
P. S. А как форма бублика связана с поворотом окна? 

Ну я думаю что, типа так легче представить чего хочет автор. 

Автор: TDM 7.5.2006, 02:03
Если поворачивать изображение это будет тупо. Ведь закрыть, свернуть окно будет нельзя. 

Автор: Sunvas 7.5.2006, 02:14
Цитата(TDM @  7.5.2006,  02:03 Найти цитируемый пост)
Если поворачивать изображение это будет тупо. Ведь закрыть, свернуть окно будет нельзя. 

А ты думал? Ты что, хочешь, чтобы у тебя кнопки "свернуть" и "закрыть" после оборота были слева снизу? smile  И при этом все работало? smile Такого безобразия винда еще не знала - попроси дядю Билла, чтобы он в своей Висте этот глюк учел и исправил!

Решение: Только самому рисовать все на форме! 

Автор: TDM 7.5.2006, 10:21
Дядя Билл согласился. smile  

Автор: Демо 7.5.2006, 10:49
Цитата(Sunvas @  7.5.2006,  02:14 Найти цитируемый пост)
А ты думал? Ты что, хочешь, чтобы у тебя кнопки "свернуть" и "закрыть" после оборота были слева снизу?   И при этом все работало?  Такого безобразия винда еще не знала - попроси дядю Билла,


Да есть такое. Есть программы, зеркально отображающие Desktop, к примеру.

А для эффекта вращающейся формы достаточно изображение вращать. Работать с такой формой уже не придется все равно...
 

Автор: Sunvas 7.5.2006, 12:06
Цитата(Демо @  7.5.2006,  10:49 Найти цитируемый пост)
Да есть такое. Есть программы, зеркально отображающие Desktop, к примеру.

Так человек хочет, чтобы у него форма была перевернутой, а не изображение на Timage! 

Автор: Демо 7.5.2006, 12:18
Цитата(Sunvas @  7.5.2006,  12:06 Найти цитируемый пост)
Так человек хочет, чтобы у него форма была перевернутой, а не изображение на Timage! 


А для человеческого глаза не все равно, форма это или рисунок? 

Автор: Sunvas 7.5.2006, 12:42
Цитата(Демо @  7.5.2006,  12:18 Найти цитируемый пост)
А для человеческого глаза не все равно, форма это или рисунок? 

Ха-ха!
Интересно, если ты кликнешь по нарисованной кнопке "свернуть" (та, что на image), форма свернется? 

Автор: Демо 7.5.2006, 12:54
Цитата(Sunvas @  7.5.2006,  12:42 Найти цитируемый пост)
Интересно, если ты кликнешь по нарисованной кнопке "свернуть" (та, что на image), форма свернется? 


При большом желании могу сделать, чтобы и свернулась.

А вот я посмотрю на теюя, как ты попадешь по кнопке "Свернуть" во время вращения формы smile  

Автор: Sunvas 7.5.2006, 15:06
Цитата(Демо @  7.5.2006,  12:54 Найти цитируемый пост)
При большом желании могу сделать, чтобы и свернулась.

Тогда тебе придется анализировать и другое - кнопки, чекбоксы..

Цитата(Демо @  7.5.2006,  12:54 Найти цитируемый пост)
А вот я посмотрю на теюя, как ты попадешь по кнопке "Свернуть" во время вращения формы   

А вдруг приложение зависнет и форма останется в извращенное позе.. 

Автор: Демо 7.5.2006, 15:52
Цитата(Sunvas @  7.5.2006,  15:06 Найти цитируемый пост)
А вдруг приложение зависнет и форма останется в извращенное позе.. 


ТАк при зависании в любой позе не свернешь;) 

Автор: Cheburek 7.5.2006, 16:55
А как изображение по хендлу то получить?? Короче по-моему в такой постановке задача вообще не решаеться))) Хотя вообщем чисто теоретически проанализировать экран, найти форму все элементы управления на форме, пересоздать изображение формы как рисунок, заново определить действия всех элементов на форме(рисунке), создать эфект вращения ... ой что-то я разашелся))  Нужно будет попробовать на досуге  smile  

Автор: TDM 7.5.2006, 18:20
Попасть по кнопке свернуть легко. Вы думаете что она должна вращятся как муха на стекле? Нет,
она должна совершать плавные, волновидные медленные движения, поворачиваясь примерно на 10 гр.  Это должно выглядеть очень прикольно! 

Автор: Sunvas 8.5.2006, 00:14
Цитата(Демо @  7.5.2006,  15:52 Найти цитируемый пост)
ТАк при зависании в любой позе не свернешь;) 

ты полохо винду знаешь - свернуть можна всегда, а вот развернуть.. 

Автор: Демо 8.5.2006, 00:54
Цитата(Sunvas @  8.5.2006,  00:14 Найти цитируемый пост)
ты полохо винду знаешь


Вряд ли;)

Могу тебе сделать пример приложения(5 минут), после запуска которого ты ни одно приложение не свернешь smile

Добавлено @ 00:55 
А на самом деле не вижу практической пользы от задачи поворота формы.

>Автор
В конце-концов, нарисуй в DirectX свою форму и крути ее сколько угодно... 

Автор: Sunvas 8.5.2006, 01:13
Цитата(Демо @  8.5.2006,  00:54 Найти цитируемый пост)
Могу тебе сделать пример приложения(5 минут), после запуска которого ты ни одно приложение не свернешь 

Ну, хукать и я умею..


Цитата(Демо @  8.5.2006,  00:54 Найти цитируемый пост)
А на самом деле не вижу практической пользы от задачи поворота формы.

А мы что, о пользе говорим?? Это так, понты для красоты! 

Автор: Демо 8.5.2006, 01:21
Цитата(Sunvas @  8.5.2006,  01:13 Найти цитируемый пост)
Ну, хукать и я умею..


Да зачем хуки. ПРосто перегружаем систему сообщениями, можно потоками.  

Автор: Sunvas 8.5.2006, 01:25
Цитата(Демо @  8.5.2006,  01:21 Найти цитируемый пост)
Да зачем хуки. ПРосто перегружаем систему сообщениями, можно потоками.  

Ну, если представить то, что у меня 8 процессорная мать и каждый проц по 4 Ггц с 25 гб оперативки то перегрузка может за 5 мин и не достигнуть критической точки.. 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)