Нужно сделать аналог системного трея, чтобы все эти иконки были у меня в программе и, самое главное, работали. Просто делал аналог Астона, придумал как реализовать почти всё, кроме трея.
Буду ОЧЕНЬ благодарен за помощь.
Пусть даже схема будет грузной и тормозной, только б как-нить организовать. Очень надо.
Этот топик читают: Гость
|
Ответов: 534
Рейтинг: 5
|
|||
| карма: 0 |
|
|
Гость
Ответов: 17029
Рейтинг: 0
|
|||
|
Редактировалось 1 раз(а), последний 2025-01-17 15:50:27 |
|||
| карма: 0 |
|
|
Ответов: 1891
Рейтинг: 110
|
|||
|
Slim9009, писал(а): Нужно сделать аналог системного трея, чтобы все эти иконки были у меня в программе и, самое главное, работали. Просто делал аналог Астона, придумал как реализовать почти всё, кроме трея.Буду ОЧЕНЬ благодарен за помощь. Пусть даже схема будет грузной и тормозной, только б как-нить организовать. Очень надо. А нарисовать не судьба? |
|||
| карма: 0 |
|
|
Ответов: 534
Рейтинг: 5
|
|||
|
Alexbootch, вот я и спрашиваю, как?
------------ Дoбавленo в 15.25: user-20.81.118.217.in-add, ну, наверное, да. Я в Дельфи нуб, но чичас попробую чё-нить намутить. ------------ Дoбавленo в 15.38: user-20.81.118.217.in-add, написано: создать свое окно с классом "Shell_TrayWnd" - А я создал окно с именем Shell_TrayWnd - или это не то? В это окно функция Shell_NotifyIcon будет посылать сообщения WM_COPYDATA - А как эти сообщения принять? Всё остальное долго, но, кажется, реализуемо. |
|||
| карма: 0 |
|
|
Ответов: 1891
Рейтинг: 110
|
|||
|
Slim9009, писал(а): создать свое окно с классом "Shell_TrayWnd" - А я создал окно с именем Shell_TrayWnd - или это не то?Slim9009, нет это не то. Тут надо писать IC (lnlineCode), т.к. необходимо обращаться к системной библиотеке shell32 |
|||
| карма: 0 |
|
|
Ответов: 534
Рейтинг: 5
|
|||
|
Alexbootch писал(а): lnlineCode------------ Дoбавленo в 23.51: Alexbootch писал(а): А нарисовать не судьба? |
|||
| карма: 0 |
|
|
Ответов: 1891
Рейтинг: 110
|
|||
|
Slim9009, писал(а): Может, ты подскажешь, как это сделать? Или дашь интернет-ссылку на соответствующий материал?С IC подсказать ничего не могу, т.к. pascal не знаю. Посмотри на сером форуме, там вроде была частичная реализация того, что ты хочешь через библиотеки DynamicWrapperX и DynamicWrapper. Указанные библиотеки работают через СОМ, их можно попробовать через компонент VBJScript Slim9009, писал(а): Что ты имел ввиду? Как это, "нарисовать"?В прямом смысле нарисовать - сделать псевдо системный трей |
|||
| карма: 0 |
|
|
Ответов: 534
Рейтинг: 5
|
|||
|
Блин, вот нашёл что-то (в аттаче).
Из cfg файла я понял что это для Delphi7, но всё же. Сейчас попробую чё-нить из этого сделать. ------------ Дoбавленo в 00.06: Alexbootch писал(а): В прямом смысле нарисовать - сделать псевдо системный трейAlexbootch писал(а): сером форуме |
|||
| карма: 0 |
| ||
| файлы: 1 | fwsystrayinfo.zip [7.6KB] [60] |
|
Ответов: 1891
Рейтинг: 110
|
|||
|
Slim9009, писал(а): Что такое?В гугле набери и узнаешь. А так это форум по различным скриптам. ------------ Дoбавленo в 00.24: Slim9009, писал(а): Надо ж инфу о значках взять, и взять ручками, хиасмом никак, как я понял.Slim9009, тебе же дал инфу user-20.81.118.217.in-add, разбирайся. |
|||
| карма: 0 |
|
|
Ответов: 534
Рейтинг: 5
|
|||
|
Alexbootch, да чё разбирайся... Я не пойму, как
создать свое окно с классом "Shell_TrayWnd" |
|||
| карма: 0 |
|
|
Разработчик
Ответов: 26333
Рейтинг: 2148
|
|||
|
Slim9009 писал(а): Я не пойму, какНа, почитай, может поможет http://www.delphisources.ru/pages/faq/base/shell_tray.html |
|||
| карма: 22 |
|
|
Ответов: 534
Рейтинг: 5
|
|||
|
nesco, не ну там всё понятно. А как
Slim9009 писал(а): создать свое окно с классом "Shell_TrayWnd"------------ Дoбавленo в 03.03: Блин, было бы прямое редактирование исходника, а не его кастрированная копия IC. |
|||
| карма: 0 |
|
|
Разработчик
Ответов: 26333
Рейтинг: 2148
|
|||
|
Slim9009 писал(а): А какКопать в сторону API функции CreateWindowEx |
|||
| карма: 22 |
|
|
Ответов: 534
Рейтинг: 5
|
|||
|
nesco, спасибо.
------------ Дoбавленo в 15.44: Вот нашёл: function CreateWindow(ExStyle: Longint; ClassName, WindowName: PChar; Style: Longint; X, Y, Width, Height: Integer; WndParent: HWnd; Menu: HMenu; Instance: THandle; Param: Pointer): HWnd; Паpаметpы: ExStyle: Один из следующих pасшиpенных стилей окна: ws_ex_DlgModalFrame, или ws_ex_NoParentNotify. См. pаздел "Расшиpенные стили окон, ws_ex_" в главе 1. ClassName: Имя класса окна (заканчивающееся пустым символом) или пpедопpеделенное имя класса оpгана упpавления. WindowName: Заголовок или имя окна (заканчивающееся пустым символом). Style: Одна из констант стиля окна или оpгана упpавления или их комбинация. К этим константам относятся константы ds_, ws_, bs_, cbs_, es_, lbs_, sbs_, ss_. См. главу 1. X, Y: Начальное положение окна или cw_UseDefault. См. pаздел "Стандаpтный код создания окна, cw_" в главе 1. Width: Начальная шиpина окна (в единицах устpойства). Height: Начальная высота окна (в единицах устpойства). WndParent: Окно владельца. Menu: Идентификатоp меню или дочеpнего окна. Instance: Экземпляp соответствующего модуля. Param: Значение, пеpеданное в TCreateStruct в паpаметpе lParam сообщения wm_Create, для создания дочеpнего окна MDI должно быть указателем на стpуктуpу TClientCreateStruct. Возвpащаемое значение: В случае успешного завеpшения - идентификатоp окна; 0 - в пpотивном случае. функция находится в файле user32.dll Теперь надо сделать компонент, как я понимаю, Что ж, сейчас посмотрю другие pas'ы, попробую что-нить сворганить. Сразу вопрос: как сделать так, чтоб мой компонент был "на правах" hiMainForm? Т.е. чтобы мой компонент заменял МаинФорм? |
|||
| карма: 0 |
|
14




Поиск
Друзья
Администрация