| Структура программирования, программирование, языки программирования, книги программирование | На сайте представлена информация про программирование в Интернете и работу |
|
Как Вы относитесь к курящим девушкам? Распознавание текста? Как найти список свойств объекта? потеря сохраненных данных в БД HOOK QReport и QRPreview, Как сделать Print Preview в QReport ? Множества в SQL. Передача параметров., ~Истина где-то рядом~ Отследить что нажимают клавиши, На клавиатуре Запись в ЕХЕ- файл Как в ресурсное меню поместить изображение? Импорт в реестр Файлов *.REG Стоимось проги.... Вопросы по компоненту TNoteBook - НУ НАКОНЕЦТО, ЗАМЕНА ИКОНКИ СТАЛА РЕАЛЬНОСТЬЮ -, Хуки-ПУки Восстановление минимизированного приложения Integer -> Cardinal Designer, ToolBar kak у Builder Ссылка на форму, как установить ссылку с form5 на form1? Два вопроса по TRichView, кто с этим работал помагите плиз Использование mciSendCommand. Как посчитать трафик?, Сколко дали и сколько взяли! Создание соединения Помогите пожалуйста, замучался...., Предотвратить сообщение об ошибке? Как записать информацию на CD-R/CD-RW help plz, тут такой вопрос Помогите найти Cristal Reports кнопки (enabled/disabled) Как подружить BDE и MSSQL-2000?, После апгрейда SQL-сервера с 6.5 на 2000 прозрачный фон у иконок задача по консоле в delphi Сортировка строковых значений как чисел, по возрастанию.... Как прикрутить ShellExecute?, Чего ей надо? шпион на соединение Плюс-плюс Как определить подключеныTCP-IPпротоколы? Как минимизировать окна чужих программ?, свою оставить открытой TCP/IP А можно_ли организовать подключение компонента ... Pascal+First Steps, Стоит ли создавать сайт?... GetVolumeInformation, Проблема COM Port - слушать, АТС и Компьютер Ole automation Вопрос о создании файла Левый SHIFT+ENTER/Правый SHIFT+ENTE, Полное решение. Для тех кто столкнется. Можно-ли узнать hWnd у безоконного приложения? Как Вы относитесь к курящим девушкам? Как отследить завершение работы в API приложении? Вопрос о реакции с клавы Autodesk MapGuide, Программирование в Autodesk MapGuide Delphi+TCanvas, Грамотно ли чертить график на канве? Смерть буржуям! Ini, Как считать раздел? Прдотвращение второга запуска. Вопрос обо всем Без подсказок, похоже, мне не обойтись, Продолжение проблем с потоком Как определить сколько раз запущен фаил? Движение формы WebBrowser, Загрузка ТХТ- файла в WebBrowser TForm, Где обработчик событий у TForm? Delphi+Internet, TInetXPageProducer DirectInput, shift+Enter/Правый shift+Enter Как работать с TReader, Хочу нестандартно использовать TReader Функция GetVolumeInformation, Работа в сети! Вопрос о Boot секторах Вопрос по поводу непрямолинейности form & thread, непонятки Ping Посоветуйте репортер отчетов Помогите получить Crystal Report найти бы компонент, :) |
Платные хостинги Раскрутка сайта Книги по программированию Восстановление минимизированного приложения
- При минимизации формы я использую RxTrayIcon, чтобы при этом исчезлакнопка из Панели задач вызываю ShowWindow(Application.Handle,SW_HIDE).Но вот незадача - не получается при восстановлении приложения (после кликана TrayIcon) добиться, чтобы оно становилось поверх других окон и обязательно было активным. Пересмотрел кучу FAQ-ов, но не нашел реально работающих примеров.Был бы весьма признателен за помощь.Drelphi 6, Win98 - А так пробовал:Код ShowWindow(Application.Handle,SW_HIDE);ShowWindow(Handle,SW_HIDE);highlightSyntax('delphiTc1ZjB','delphi');Код ShowWindow(Application.Handle,SW_restore);ShowWindow(Handle,SW_restore);highlightSyntax('delphixM2U3Zj','delphi'); - Пробовал - наверх при этом окно не выходит.Если сделать Application.MainForm.FormStyle := fsStayOnTop; Application.MainForm.FormStyle := fsNormal;то оно становится верхним, но не активизируется. - Попробуй винапи SetActiveWindow(HWND hWnd);Должно работать - Клик по значку обрабатываете самостоятельно?Вообще для того чтобы сделать актинвным окно, используют SetForeGroundWindow() - Пробовал - те-же пироги ... :-(Может я чего не так делаю. Вроде собрал минимальный тестовый проект:type TForm1 = class(TForm) RxTrayIcon1: TRxTrayIcon; procedure FormCreate(Sender: TObject); procedure RxTrayIcon1Click(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); private procedure ApplicationMinimize(Sender : TObject); end;var Form1: TForm1;implementation{$R *.dfm}procedure TForm1.ApplicationMinimize(Sender : TObject);begin RxTrayIcon1.Show; ShowWindow(Application.Handle,SW_HIDE); ShowWindow(Handle,SW_HIDE);end;procedure TForm1.FormCreate(Sender: TObject);begin RxTrayIcon1.Icon := Application.Icon; Application.OnMinimize := ApplicationMinimize;end;procedure TForm1.RxTrayIcon1Click(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);begin Application.Restore; ShowWindow(Application.Handle,SW_SHOW); ShowWindow(Handle,SW_SHOW); SetActiveWindow(Application.MainForm.Handle); RxTrayIcon1.Hide;end; - По-поводу SetForegroundWindow - действительно это так. Поэтому спасибо!Все получилось. Хотя ранее я пробовал этот вариант и - глухо...Хорошо что уважаемый Song напомнил мне об этом, а то я уже закопался впоисках и стал забывать с чего все началось.Дело оказалось в следующем : гасить Tray-иконку надо в последнюю очередь,именно так все работает(ранее сначала гасил Tray-иконку, а уже потом восттанавливал свое приложение).Таким образом правильно работает следующий код:procedure TForm1.ApplicationMinimize(Sender : TObject);begin RxTrayIcon1.Show; ShowWindow(Application.Handle,SW_HIDE);end;procedure TForm1.RxTrayIcon1Click(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);begin Application.Restore; SetForeGroundWindow(Application.MainForm.Handle); RxTrayIcon1.Hide;end;Спасибо всем, принявшим участие в обсуждении! |