Я пишу .Net COM DLL, которая запускается внутри собственного приложения Windows.C#: Получение ярлыка, введенного в панель состояния сотового приложения, для отображения
Я пытаюсь добавить дополнительную панель в панель состояния приложения, и у нее нет какой-либо конкретной реализации, поэтому я пытаюсь подклассифицировать панель состояния приложения самостоятельно.
Я использую API-интерфейс Win32 SetParent() для переключения родителя элемента управления меткой из формы .Net в экземпляр msctls_statusbar32. Я использовал ярлык, потому что это ближайшая реализация для собственного «статического» класса, который я мог бы найти, не нажимая собственный контроль.
Как-то мне даже удалось заставить NativeWindow успешно подключиться к сообщениям о статусе и сообщениях моего лейбла (хотя в данный момент он просто передает их всем следующему WndProc), и я назначил соответствующие стили и стилиExs к окну моего ярлыка, и я вижу свою метку в качестве дочернего элемента с msctls_statusbar32 в качестве родителя. Все выглядит, как будто он должен работать правильно, но это не так. Мой элемент управления не отображается в строке состояния родительского приложения.
Я не понимаю, почему он не появляется. Почти все, что я могу думать о совпадениях правильно - предоставлено, класс для моего ярлыка - «WindowsForms10.STATIC.app.0.378734a», а не «статический», но кроме того, что он находится на правильном процессе и потоке, имеет соответствующее окно стилей (по крайней мере, шестнадцатеричное значение ... Spy ++, похоже, перечислит их по-разному), и для всех целей довольно много сочетается с остальными элементами управления. Кто-нибудь знает, что еще нужно сделать, чтобы это было видно?
(Первоначально я отправился по пути CreateWindowEx и установил обратные вызовы WNDPROC, но я не смог заставить приложение работать ... он замерзнет на минуту или около того, а затем разморозит, и я заметил бы, что мое окно исчезло из дерево окна)
спасибо!
Почему вы не можете использовать существующий API-интерфейс статусов для добавления панелей и установки их текста? –
Я, наконец, выкопал правильные документы для statusbar32 api (никогда не работал с этим материалом раньше ...), и сейчас я планирую вставить панель, нарисованную владельцем, где-то внутри. –
Почему владелец рисует, если это всего лишь текст? –