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

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

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

Страници по тази тема: 1 | 2 | >> (покажи всички)
Тема Application_SetFocusнови  
АвторEFEX (Нерегистриран)
Публикувано12.10.05 17:45



Имам програма P1 която чака появяване на събитие - например запис на файл F в определена директория.
След това събитие правя обработка на същия този файл F и извиквам
програма P2 която работи с параметър файла F.
P2 извиквам с CreateProcces.
P2 издава диалог за потвърждение ShowMessageDlg.

Проблема:
на фокус е друга програма P3.

Ако програмата P1 си работи и не е на фокус то при извикване на P2 и след това на диалога искам фокуса на активната програма в Windows да е върху P2 или поне P1....

Правих опити с Application na P1 и P2 но на фокус си остава P3 и трябва да натисна поне ALT-TAB за да сменя фокуса.



Тема Re: Application_SetFocusнови [re: EFEX]  
Автор Formal (незнаещ)
Публикувано13.10.05 10:16



Опитвал ли си P2 да прави Application.BringToFront;?
Или в краен случай SetForegroundWindow(Application.Mainform.Handle);



Тема Re: Application_SetFocusнови [re: Formal]  
АвторEFEX (Нерегистриран)
Публикувано13.10.05 11:11



И двата метода активират "банера" на програмата в TaskBar-а но така и не активират приложението на фокус...:((((

Преместих събщението в P1 но това мисля няма значение... Въпроса е принципен - как коя да е програма да стане "Top" на екрана и без никакви допълнитени движения да се фокусира.... така че ако те пита нещо си Да или Не да мога само с Enter или ESC да отговоря .....

P.S. P1 не е минимизирана но и това май не влияе в случая....



Тема Re: Application_SetFocusнови [re: Formal]  
АвторEFEX (Нерегистриран)
Публикувано13.10.05 11:15



Средата е XP... така че е възможно горното за 98 да бачка но на мен ми трябва за всичкото Win да върви....
...сигурно ше да е някое API на Win-а .....



Тема Re: Application_SetFocusнови [re: EFEX]  
Автор Formal (незнаещ)
Публикувано13.10.05 14:19



Доколкото си спомням при CreateProcess можеше да задаваш window state на създавания процес (SW_xxxx константите). Как го създаваш в твоя случай?
При WinXP имаше един такъв момент, че ако потребителят работи с едно приложение, фокуса остава в него, освен ако потребителят не превключи изрично (като се замислиш - има смисъл, аз много мразя докато пиша, посредата на думата да ми изкочи някое друго приложение и да си довърша думата там). Та ако не стане, виж дали не можеш да направиш на P2 прозореца да е 'stay on top', или да потърсиш нещо от рода на 'system-wide modal window'



Тема Re: Application_SetFocus [re: Formal]  
АвторEFEX (Нерегистриран)
Публикувано13.10.05 14:42



Не било толкова лесно....
http://www.experts-exchange.com/Programming/Programming_Languages/Delphi/Q_20089680.html



Тема Re: Application_SetFocusнови [re: EFEX]  
АвторEFEX (Нерегистриран)
Публикувано13.10.05 14:47



Много много не се зачетох просто копирах последната от функциите ForceForegrount от страницата, добавих я в проекта и бачка п'ирфектно....сигурно и за 98 и за 2000 върви без проблем....




Невольо...невольооооооууууу... са ше видиш Windows що за чеп е........



Тема Re: Application_SetFocusнови [re: EFEX]  
АвторEFEX (Нерегистриран)
Публикувано13.10.05 14:54



Даже като гледам може и да се върне фокуса към P3.... но засегя няма да я пипам функцията щото много не ме бива по тия API-та...

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


Very 10x for all...



Тема Re: Application_SetFocusнови [re: EFEX]  
АвторBeco (Нерегистриран)
Публикувано13.10.05 15:45



Мога, но на С/С++ щото Делфи не разбирам



Тема Re: Application_SetFocusнови [re: Beco]  
АвторEFEX (Нерегистриран)
Публикувано13.10.05 15:55



Давай де....:)




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


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

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