Клубове Дир.бг
powered by diri.bg
търси в Клубове diri.bg Разширено търсене

Вход
Име
Парола

Клубове
Dir.bg
Взаимопомощ
Горещи теми
Компютри и Интернет
Контакти
Култура и изкуство
Мнения
Наука
Политика, Свят
Спорт
Техника
Градове
Религия и мистика
Фен клубове
Хоби, Развлечения
Общества
Я, архивите са живи
Клубове Дирене Регистрация Кой е тук Въпроси Списък Купувам / Продавам 09:07 25.05.24 
Компютри и Интернет
   >> Delphi
Всички теми Следваща тема *Кратък преглед

Страници по тази тема: 1 | 2 | 3 | >> (покажи всички)
Тема Re: Window docking BETA testнови [re: naki]  
Автор WiseGuy (Нерегистриран)
Публикувано09.11.01 00:04



Ta tova s About Box-a stava kato mu hvanesh Handle na controlite nali ?

Pone taka sus sigurnost mojesh da si prevedesh nqkoi standartni dialozi. Abe i az sum chel tui onui

SC_DRAGMOVE qvno nqkoi go e prosledil, 4e Windows-a si go izpolzva. Az go vidqh v edin tip za mestene na prozoreca 4rez kakuvto ti padne control

Za docking-a... Trqbva mi neshto kato na Winamp. Moeto v momneta e sushtoto samo deto ne raboti za dolu i dqsno. Za izlizaneto ot ekrana ne se trevoji. Samo trqbva da se obraboti i tozi variant. Sega gledam purvo da se opravq s dilemata, zashto ot ednata strana stava a ot drugata ne

by Wise Guy



Тема Re: Window docking BETA testнови [re: WiseGuy]  
Автор naki (Power User)
Публикувано09.11.01 00:40



Това ми е субкласващата функция:

LPRECT rect;
// при оразмеряване
// за мене няма проблем да се ресайзва,
// ти си си направил твоя прозорец да не може
// да се ресайзва
if(Message.Msg==WM_EXITSIZEMOVE)
{

if(dir==1)
Left=desktop.left;
else if(dir==2)
Left=desktop.right-Width;
else if(dir==3)
Top=desktop.top;
else if(dir==4)
Top=desktop.bottom-Height;
}
// тука се прави проверка дали се сменя размера или
// мястото на таскбара
if(Message.Msg==WM_SETTINGCHANGE)
{
if(Message.WParam==SPI_SETWORKAREA)
{
// тази фунция е ключът към всичко
// викам я и в началото на програмата за да имам началните
// размери на десктопа (клиентската част)
// а тук се опреснява при промяна
// като глобална променлива имам RECT desktop
SystemParametersInfo(SPI_GETWORKAREA,NULL,&desktop,NULL);
// и се лепи на новото място
if(dir==1)
Left=desktop.left;
else if(dir==2)
Left=desktop.right-Width;
else if(dir==3)
Top=desktop.top;
else if(dir==4)
Top=desktop.bottom-Height;
}
}
if (Message.Msg == WM_MOVING)
{
rect=(LPRECT)Message.LParam;
if(left->Checked)
{

rect->left=desktop.left;
rect->right=desktop.left+Width;
if(rect->top<desktop.top)
{
rect->top=desktop.top;
rect->bottom=desktop.top+Height;
}
if(rect->bottom>desktop.bottom)
{
rect->top=desktop.bottom-Height;
rect->bottom=rect->top+Height;
}
}
else if(right->Checked)
{
rect->left=desktop.right-Width;
rect->right=desktop.right;
if(rect->top<desktop.top)
{
rect->top=desktop.top;
rect->bottom=desktop.top+Height;
}
if(rect->bottom>desktop.bottom)
{
rect->top=desktop.bottom-Height;
rect->bottom=rect->top+Height;
}
}
else if(up->Checked)
{
rect->top=desktop.top;
rect->bottom=desktop.top+Height;
if(rect->left<desktop.left)
{
rect->left=desktop.left;
rect->right=desktop.left+Width;
}
if(rect->right>desktop.right)
{
rect->left=desktop.right-Width;
rect->right=desktop.right;
}
}
else if(down->Checked)
{
rect->top=desktop.bottom-Height;
rect->bottom=rect->top+Height;
if(rect->left<desktop.left)
{
rect->left=desktop.left;
rect->right=desktop.left+Width;
}
if(rect->right>desktop.right)
{
rect->left=desktop.right-Width;
rect->right=desktop.right;
}

}
}
WndProc(Message);


Модифицирай го така че да не е твърдо залепено
като в мойта програма, а да е както ти го искаш.
А ти щом искаш да е като УинАмп значи трябва
да имаш поне 2 (ДВА) прозореца, а не 1 (ЕДИН).

Редактирано от naki на 09.11.01 00:47.



Тема Re: Window docking BETA testнови [re: naki]  
Автор naki (Power User)
Публикувано09.11.01 01:01



А УинАмп поне на моя компютър има бъг -
като имаш главен прозорец и плейлист прозорец
и местиш главния се местят и двата.
Да ама иконите по десктопа премигват
все едно че:
v - Плейлист на УинАмп
*** **** < - главен прозорец на УинАмп
***
***
е там вдясно дето е под главния прозорец мига, като
че ли прозореца е един, но е с прозрачност, която обаче
не е много добре направена.

Редактирано от naki на 09.11.01 01:04.



Тема Re: Window docking BETA testнови [re: naki]  
Автор WiseGuy (Нерегистриран)
Публикувано09.11.01 01:04



za workareata go vidqh

q vij tova tvoito mojesh li akto e zakacheno da go otlepish s klaviaturata (ot system menu-to) ili kato go mestish cursor-a s po edin pixel. Mesteneto zapochva kato si stignal drugiq krai na ekrana. V tova se sustoi vuprosa...

by Wise Guy



Тема Re: Window docking BETA testнови [re: WiseGuy]  
Автор naki (Power User)
Публикувано09.11.01 01:07



Не може!
Като се залепи за някой от краищата на екрана,
никоя сила на света (клавиатура и т.н.) не е в състояние да
го отлепи докато не дадеш "Отлепи" от менюто.



Тема Re: Window docking BETA testнови [re: WiseGuy]  
Автор naki (Power User)
Публикувано09.11.01 01:09



Това за другия край нещо не го разбрах...



Тема Re: Window docking BETA testнови [re: WiseGuy]  
Автор WiseGuy (Нерегистриран)
Публикувано09.11.01 16:20



Trqbva da moje da se mesti po normalen nachin i samo kato se namira v dadena zona da se prilepq. Awe ti pusnal li si EXE-to mi da vidish za kakvo stava vurpos..

by Wise Guy



Тема Re: Window docking BETA testнови [re: WiseGuy]  
Автор naki (Power User)
Публикувано09.11.01 22:28



Най-после разбрах какво искаш да направиш...
Но сега съм зает и нямам време да го правя...
Надявам се, че това за WorkArea-та ще те приближи
към достигането до работеща както ти искаш програма.
И все пак смятам, че докинга основно служи когато
имаш поне ДВА прозореца.



Тема Готов си, мой човек!нови [re: naki]  
Автор naki (Power User)
Публикувано13.11.01 01:26



Пратих ти EXE на мейла.
Ще ти пратя и сорс ако си доволен от творението
ми.



Тема Ne oshteнови [re: naki]  
Автор WiseGuy (Нерегистриран)
Публикувано13.11.01 16:50



Oshte malko. Vse pak napravi nai-vajnata 4ast

by Wise Guy




Страници по тази тема: 1 | 2 | 3 | >> (покажи всички)
Всички темиСледваща тема*Кратък преглед
Клуб :  


Clubs.dir.bg е форум за дискусии. Dir.bg не носи отговорност за съдържанието и достоверността на публикуваните в дискусиите материали.

Никаква част от съдържанието на тази страница не може да бъде репродуцирана, записвана или предавана под каквато и да е форма или по какъвто и да е повод без писменото съгласие на Dir.bg
За Забележки, коментари и предложения ползвайте формата за Обратна връзка | Мобилна версия | Потребителско споразумение
© 2006-2024 Dir.bg Всички права запазени.