Круглая форма, и чтобы в трей :)

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
zusicks438
Обычный пользователь
Обычный пользователь
 
Сообщения: 90
Зарегистрирован: 26.12.2008 (Пт) 20:16

Круглая форма, и чтобы в трей :)

Сообщение zusicks438 » 28.04.2009 (Вт) 18:53

Нужно написать прогу, которая будет висеть на рабочем столе, а при открытии любых других окон будет висеть под ними (как панель на Маках внизу). Проблема в том, что
а) программа при определенных условиях должна сворачиваться в трей и не создавать вкладок в панели задач. Как это реализовать?
б) форма формы (не знаю, как по-другому написать) - круг. Можно ли сделать так, чтобы она была именно такой формы. Ведь я видел похожую программу.

Заранее спасибо!

Xcode
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 131
Зарегистрирован: 31.10.2008 (Пт) 8:12
Откуда: Pavlodar

Re: Круглая форма, и чтобы в трей :)

Сообщение Xcode » 28.04.2009 (Вт) 19:16

a) в сети куча примеров, да и тут обсуждалось. Убрать из панели задачь можно используя свойство формы ShowInTaskbar.
б) по другому это пишется "форма окна". Чтобы сделать окно круглым, используй CreateEllipticRgn и SetWindowRgn.

MIT
Мега гуру
Мега гуру
Аватара пользователя
 
Сообщения: 2211
Зарегистрирован: 17.09.2006 (Вс) 22:46

Re: Круглая форма, и чтобы в трей :)

Сообщение MIT » 28.04.2009 (Вт) 19:27

Xcode писал(а):используй CreateEllipticRgn и SetWindowRgn
Только круг уж больно угловатым получиться :) Есть способ получше (и посложнее, да и с контролами не разгуляешься)
Изображение
You can change your face, but can`t change your mind. No matter what you do.
Создайте еще более понятный интерфейс и мир создаст еще более тупого юзера. (с) Баш

zusicks438
Обычный пользователь
Обычный пользователь
 
Сообщения: 90
Зарегистрирован: 26.12.2008 (Пт) 20:16

Re: Круглая форма, и чтобы в трей :)

Сообщение zusicks438 » 01.05.2009 (Пт) 19:38

Код: Выделить всё
б) по другому это пишется "форма окна". Чтобы сделать окно круглым, используй CreateEllipticRgn и SetWindowRgn.


Работает, но только что значат эти циферки и "true"?

Код: Выделить всё
SetWindowRgn Me.hwnd, CreateEllipticRgn(20, 20, 400, 400), True


И еще ламерский вопрос: как масштабировать PictureBox, чтобы поменялся размер, но сам Box остался на месте?

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Круглая форма, и чтобы в трей :)

Сообщение Хакер » 01.05.2009 (Пт) 19:50

И еще ламерский вопрос: как масштабировать PictureBox, чтобы поменялся размер, но сам Box остался на месте?

Он и так остаётся на месте, если не менять свойств Top и Left.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

zusicks438
Обычный пользователь
Обычный пользователь
 
Сообщения: 90
Зарегистрирован: 26.12.2008 (Пт) 20:16

Re: Круглая форма, и чтобы в трей :)

Сообщение zusicks438 » 01.05.2009 (Пт) 19:54

Код: Выделить всё
Он и так остаётся на месте, если не менять свойств Top и Left.


Я скорее неверно изъяснился: так, чтобы ЦЕНТР остался на месте, а по краям расширилась.

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Круглая форма, и чтобы в трей :)

Сообщение Хакер » 01.05.2009 (Пт) 19:58

Тогда надо менять и Height/Width, и Top/Left. Мат. формулу прикинь сам, это твоё ДЗ.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

zusicks438
Обычный пользователь
Обычный пользователь
 
Сообщения: 90
Зарегистрирован: 26.12.2008 (Пт) 20:16

Re: Круглая форма, и чтобы в трей :)

Сообщение zusicks438 » 01.05.2009 (Пт) 20:05

:)

А циферки-то что значат?

iGrok
Артефакт VBStreets
Артефакт VBStreets
 
Сообщения: 4272
Зарегистрирован: 10.05.2007 (Чт) 16:11
Откуда: Сетевое сознание

Re: Круглая форма, и чтобы в трей :)

Сообщение iGrok » 01.05.2009 (Пт) 21:17

zusicks438 писал(а)::)

А циферки-то что значат?

http://www.codenet.ru/progr/delphi/WinA ... ticRgn.php
label:
cli
jmp label

Joo
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 762
Зарегистрирован: 14.08.2008 (Чт) 11:55
Откуда: Казахстан

Re: Круглая форма, и чтобы в трей :)

Сообщение Joo » 02.05.2009 (Сб) 5:00

MIT писал(а):
Xcode писал(а):используй CreateEllipticRgn и SetWindowRgn
Только круг уж больно угловатым получиться :) Есть способ получше (и посложнее, да и с контролами не разгуляешься)


А я решил проблему с контролами :wink:
"Им будет не просто, тем кто полагается на истину авторитета, вместо того чтобы полагаться на авторитет Истины"
Джеральд Месси, Египтолог

zusicks438
Обычный пользователь
Обычный пользователь
 
Сообщения: 90
Зарегистрирован: 26.12.2008 (Пт) 20:16

Re: Круглая форма, и чтобы в трей :)

Сообщение zusicks438 » 01.06.2009 (Пн) 18:45

Слушайте, не понимаю все равно. Постоянно получается четверть круга или вообще четверть прямоугольника, пару раз нечто похожее получалось, но не понял, как оно произошло.

Вот у меня есть форма (открывается в центре экрана). Нужно, чтобы она была 7 см диаметром (ну примерно :)), что я должен прописать в свойствах формы (высота, ширина) и какие циферки проставить в строке
Код: Выделить всё
SetWindowRgn Me.hwnd, CreateEllipticRgn(X1, Y1, X2, Y2), True
???

iGrok
Артефакт VBStreets
Артефакт VBStreets
 
Сообщения: 4272
Зарегистрирован: 10.05.2007 (Чт) 16:11
Откуда: Сетевое сознание

Re: Круглая форма, и чтобы в трей :)

Сообщение iGrok » 01.06.2009 (Пн) 19:15

zusicks438 писал(а):Слушайте, не понимаю все равно. Постоянно получается четверть круга или вообще четверть прямоугольника, пару раз нечто похожее получалось, но не понял, как оно произошло.

Вот у меня есть форма (открывается в центре экрана). Нужно, чтобы она была 7 см диаметром (ну примерно :)), что я должен прописать в свойствах формы (высота, ширина) и какие циферки проставить в строке
Код: Выделить всё
SetWindowRgn Me.hwnd, CreateEllipticRgn(X1, Y1, X2, Y2), True
???

Цифири в пикселях. Поставь вместо x1, x2, y1, y2 (10,10,100,100). Ну и форму в дизайнере растяни пискселей на 200 (3000*3000).
Тогда увидишь, чего нужно ставить.

Понятие "сантиметр" в отношении размеров на экране весьма относительно, сорри за буйство тавтологии в этом предложении.. :)
label:
cli
jmp label


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: AhrefsBot и гости: 37

    TopList