Форум программистов, компьютерный форум, киберфорум
Наши страницы
Visual Basic
Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.78
Comanche
#1

Как добавить свою кнопку в title-bar ЧУЖОГО окна? - VB

12.06.2010, 13:18. Просмотров 1191. Ответов 4
Метки нет (Все метки)

Как добавить свою кнопку в title-bar ЧУЖОГО окна?

Насколько я понял, полазив по Сети, это непростая задача. Есть примеры добавления своих кнопок в title-bar СВОЕЙ формы (это довольно просто делается), но я не видел ни одного примера такого измывательства над ЧУЖИМИ окнами. Также читал в буржуйских форумах, что люди пытаются делать так:

http://www.cyberforum.ru/visual-basic/thread465405.html
- взять код по внедрению кнопки в тайтл-бар своей формы,
- модифицировать его, - везде, где нужно, заменив хэндл окна своей формы на хэндл 'чужого' окна,

но полученный в итоге код у них не работает.

Вот, кстати, ссылочки по теме:
http://www.xtremevbtalk.com/showthread.php?p=706173#post706173
http://www.xtremevbtalk.com/showthread.php?t=103253
http://www.sources.ru/cpp/cpp_ccaptionbutton.shtml

Есть мысли?!

PS: Я бы с радостью ушёл от этой задачи - но, увы, альтернативного решения просто нет: 'чужое' окно таково, что кнопку вставить больше некуда, кроме как в тайтл-бар. Ресайзинг формы (или её содержимого) невозможен, в силу специфики этой формы - и сама форма, и её контролы должны точно 'вписываться' в существующие размеры.
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.06.2010, 13:18
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Как добавить свою кнопку в title-bar ЧУЖОГО окна? (VB):

Как можно на чужую форму вставить свою кнопку или TextBox ?
Добрый день ! Подскажите пожалуйста каким образом можно поместить на чужую...

Как убрать из окна процессов (Ctrl+Alt+Del) свою программу?
Привет всем! Мои вопросы: 1) Как убрать из окна процессов (Ctrl+Alt+Del) свою...

Перехват любого сообщения чужого окна на компьютере
Всем привет!! Народ есть у кого готовый макрос для перехвата сообщений на...

Позиционирование размера/положения окна чужого процесса
Всем привет! Постоянно администрирую маленький сервер.. При загрузке сервера...

ChangerSizeWindows Позиционирование размера / положения окна чужого процесса
Всем привет! Постоянно администрирую маленький сервер.. При загрузке сервера...

4
Comanche
14.06.2010, 21:04 #2
Может, грохнуть у чужого окна стиль WS_CAPTION, и потом форму синего цвета с нужными кнопками (и без бордюров) внедрить в это окно? Ну а на кнопку с 'крестиком' повесить отправку WM_CLOSE окну-родителю? Делать это в момент 'рождения' окна, и м.б. тогда никто ничего и не заметит?!
Comanche
18.06.2010, 18:14 #3
Кажется, нашёл ответ:
http://www.catch22.org.uk/tuts/titlebar.asp
Там лежит исходник на Си.

Скомпилировал, запустил - работает. Но попробовать изменить этот код,
чтобы проверить, будет ли он работать с ЧУЖИМИ окнами, я не смог: не хватает знания Си.

Если кто владеет - может, попробуете? Задачка-то интересная, вам тоже может пригодиться...
Messir
19.06.2010, 07:59 #4
Ох, я долго смеялся, разобравшись с тем кодом - на самом деле никакие кнопки туда не вставляются - они просто рисуются там... И, походу, ничего сложного с внедрением в чужое окно быть не должно, просто достаточно глубокий сабклассинг (надо ловить много мессаг от окна).
Comanche
19.06.2010, 15:01 #5
То, что никакой 'вставки' в прямом смысле этого слова нет, я понял давно - ещё с тех ссылок, что дал в самом начале топика. И то, что кнопки РИСУЮТСЯ, - это не так уж и плохо: главное - результат есть, который и нужен.

Раз ты говоришь, что этот код должен работать и с 'чужими' окнами, то тогда попробую перевести это на бэйсик. Вот геморрой-то предстоит! )

И ещё я всё же попробую вариант с CreateWindow. Вдруг получится!
19.06.2010, 15:01
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.06.2010, 15:01
Привет! Вот еще темы с решениями:

Как убрать кнопку развернуть в заголовке окна
Как убрать кнопку развернуть в заголовке окна?

Разместить кнопку в окне "чужого" процесса
Как разместить кнопку в окне 'чужого' процесса и обрабатывать событие нажатия...

Как добавить изображение в picturebox с помощю диалогового окна
как добавить изображение в picturebox с помощю диалогового окна? Private...

Добавить свою функцию к числу математических
Подскажите есть ли возможность добавлять свои функции к числу математических...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru