Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "KOL";
Текущий архив: 2006.02.12;
Скачать: [xml.tar.bz2];

Вниз

Плавающая панель инструментов   Найти похожие ветки 

 
Leonid   (2005-06-08 13:21) [0]

Здравствуйте!
У меня такой вопрос.
Как можно создать плавающую панель инструментов на подобии плавающей панели инструментов, например, в  photoshop"е. Проблема заключается в следующем: я задаю borderStylr := bsToolWindow, FormStyle := fsStayOnTop. Это, конечно, всё просто, но необходимо сделать так, чтобы когда я перевожу фокус на это плавующее окно (к примеру из главной формы), главная форма была "активной". То есть при выполнении каких-то действий в плавающей панели инструментов (нажатия кнопок...) главная форма оставалась активной. Я не могу понять как это можно реализовать?

Заранее благодарен.


 
r00se ©   (2005-06-08 17:07) [1]

Удалено модератором


 
GLFox ©   (2005-06-08 17:15) [2]

А нафига надо, чтоб оно было активно? Сделал дело на панели - делай Activate главной формы.


 
Владимир Кладов   (2005-06-08 19:09) [3]

Может фотошоп просто не дает свои окнам фокус. И рисует их полностью сам. Правда, у меня старый, версии 3.


 
Thaddy   (2005-06-08 20:26) [4]

Correct. Also in newer versions.
Work around:
I store the last focused window and restore it immediately after selection on toolwindow back to where it was, using OnKeyUp en OnMouse handlers. This works good.


 
Leonid   (2005-06-08 22:02) [5]

Thaddy, я не совсем понял: Вы имеете ввиду, что когда плавающая форма получает фокус переводить его на главную форму? Если так делать, то заметно как шапка основной формы мелькает, так как всё же на мнгновение она становится неактивной.

Да, кстати, то о чём я спрашиваю реализовано не только в фотошопе, но и во многих других приложениях. Например, если вытащить мышкой панель инструментов из Word", то она (пенель инструментов) превращается в форму как раз такого же типа.


 
Thaddy   (2005-06-08 22:52) [6]

I did understand ;)
I will make an example of what you mean. It may be usefull for others too.


 
Leonid   (2005-06-09 10:56) [7]

Да, я был бы очень благодарен если бы Вы привели код.


 
Dimaxx ©   (2005-06-11 19:42) [8]

А вы замечали, что в WinRAR окно с индикатором процесса ВСЕГДА неактивно! Даже если по ТАБ переключаться между кнопками. Это тоже как-то реализовано. Ведь WinRAR написан на с-билдере. Если такой изврат возможен, то почему невозможно сделать окно на главном окне и чтобы они оба были "в фокусе", то есть заголовки окон были одинаковыми.


 
Leonid   (2005-06-11 20:49) [9]

Наверное возможно, но как?
Да, кстати, в WinRar"e окно с индикатором процесса дочернее окно.
Вот если бы сделать так, чтобы плавающая панель не была дочерней и была бы ВСЕГДА неактивной, то можно было сделать её BorderStyle:= bsSingle и шапку рисовать вручную, синем цветом, как будто она активна.


 
SPeller ©   (2005-06-12 11:12) [10]

А если поколдовать с WM_NCACTIVATE?



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

Форум: "KOL";
Текущий архив: 2006.02.12;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.052 c
1-1136819117
em
2006-01-09 18:05
2006.02.12
является ли listview потокозащищенным


3-1134258885
orbal
2005-12-11 02:54
2006.02.12
DBGridEh - PickList


15-1137764402
Харько
2006-01-20 16:40
2006.02.12
Я электризуюсь. Ужос!


2-1137950769
ReeD
2006-01-22 20:26
2006.02.12
как отобразить график ????


15-1137884122
ancot
2006-01-22 01:55
2006.02.12
Очередной генератор отчетов





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский