Форум программистов, компьютерный форум CyberForum.ru

Создать дочернее окно в чужом окне - Delphi WinAPI

Войти
Регистрация
Восстановить пароль
 
ВЕТЕРОК
0 / 0 / 0
Регистрация: 23.08.2015
Сообщений: 4
27.07.2016, 23:26     Создать дочернее окно в чужом окне #1
Здравствуйте! Во время игр/кодинга/шаро... по интернету слушаю музыку. У меня ЭВМ-ведро, так что лишний процесс плеера очень влияет на быстродействие. Решил сделать прогу, которая бы создавала дочернее целевому окну окошечко с мин. интерфейсом для переключения, паузы и т.п аудио. Окошко не должно вылезать за пределы окна-родителя. Уже внедрял чекбокс в окошко копирования файла, с задачей выключить пк после копирования, путем внедрения DLL и сабклассинга оконной функции. А вот с окошком что-то не прокатывает. Наработанный код сейчас кинуть не могу-пишу с телефона. Проблема:окно не появляется (указываю не MDI). Как быть? Заранее спасибо)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.07.2016, 23:26     Создать дочернее окно в чужом окне
Посмотрите здесь:

Чужое окно Delphi WinAPI
Delphi WinAPI 2 окна с одним классом ComboBox на одном окне, FindWindow
Не получается нажать на кнопку в чужом окне Delphi WinAPI
Прозрачное окно на D3DX9 Delphi WinAPI
Имитировать клик мышью по обьекту в окне сторонней программы Delphi WinAPI
Delphi WinAPI Имитировать нажатие клавиш в неактивном окне
Delphi WinAPI Нажать кнопку в чужом окне
Delphi WinAPI Нажать кнопку в окне стороннего приложения
Delphi WinAPI SysListView32 в чужом Окне Получить Текст (Win7 x64)
Delphi WinAPI Как сделать, чтобы при закрытии моего приложения гарантировано закрывалось и дочернее приложение?
Delphi WinAPI Сохранение положений элементов в главном окне
Delphi WinAPI Как получить доступ к субкомпоненту компонента которое расположено на чужом окне

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
BOGG ART
 Аватар для BOGG ART
455 / 381 / 115
Регистрация: 09.12.2013
Сообщений: 2,054
Записей в блоге: 2
28.07.2016, 12:14     Создать дочернее окно в чужом окне #2
Это вы именно дочернее создаёте? Имею ввиду WS_CHILD? Если так то плохая идея. Попробуйте создавать обычное окно и просто силой назначать родителя.
Так же - какой точно стиль у целевого окна? А для игр на OpenGL/DirectX (особенно полноэкранных) возможно вовсе придётся искать иной подход.

Не по теме:

Причём тут быстродействие не очень понятно.

ВЕТЕРОК
0 / 0 / 0
Регистрация: 23.08.2015
Сообщений: 4
28.07.2016, 13:10  [ТС]     Создать дочернее окно в чужом окне #3
BOGG ART, да, именно WS_CHILD. Пока пробую на обычных окнах... а разве если силой указать родителя, оно будет находится внутри него? потому что менять координаты окна синхронно с родителем, это странно... а как же быть?
BOGG ART
 Аватар для BOGG ART
455 / 381 / 115
Регистрация: 09.12.2013
Сообщений: 2,054
Записей в блоге: 2
28.07.2016, 18:03     Создать дочернее окно в чужом окне #4
Пробуйте... Хотя в зависимости от чужого окна возможны проблемы с перерисовкой внутри него.
Delphi
1
2
3
4
5
6
7
8
9
10
Procedure TForm1.FormCreate(Sender: TObject);
Var wnd: HWND;
Begin
wnd:=FindWindow(Nil, 'Калькулятор');
If (wnd<>0) Then
      Begin
      Windows.SetParent(Handle, wnd);
      SetBounds(0, 0, Width, Height);
      End;
End;
И надо не забывать что чужое окно может в любой момент закрыться.
ВЕТЕРОК
0 / 0 / 0
Регистрация: 23.08.2015
Сообщений: 4
28.07.2016, 18:26  [ТС]     Создать дочернее окно в чужом окне #5
BOGG ART, попробую-отпишусь) в конце концов можно перехватить момент закрытия окна
BOGG ART
 Аватар для BOGG ART
455 / 381 / 115
Регистрация: 09.12.2013
Сообщений: 2,054
Записей в блоге: 2
01.08.2016, 09:41     Создать дочернее окно в чужом окне #6
Может как-то IsWindow прикрутить получится.
Yandex
Объявления
01.08.2016, 09:41     Создать дочернее окно в чужом окне
Ответ Создать тему

Метки
окно
Опции темы

Текущее время: 12:53. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru