Прижать форму к правому нижнему углу другой формы (С++ XE5)

278
04 июня 2017, 20:46

Есть "дочерняя" форма, которая создается внутри другой "главной" формы. После создания ей сразу прописывается:

SetParent(frm->Handle,hwnd);

Где:

  • frm->Handle - хэндл окна "дочерней формы".
  • hwnd - хэндл окна "главной формы".

Необходимо отрисовать "дочернюю форму" в правом нижнем углу "главной" формы, независимо от размеров "главной" формы и её положения на экране.

Пытался сделать так:

    RECT main;
    GetWindowRect(main_hwnd,&main);
    this->Top =  main.bottom - this->Height - 10;
    this->Left = main.right  - this->Width  - 15;

Где main_hwnd - хэндл окна "главной формы".

При изменении размеров "главной" формы, "дочерняя" не отрисовывается в правом нижнем углу.

В какую сторону копать?

P.S. Приложение нельзя реализовать как классическое MDI - child, поэтому приходится исхитряться.

READ ALSO
С++ и драйвер смартфона

С++ и драйвер смартфона

Как работать с драйвером смартфона? Надо устанавливать апк, копировать файлы оттуда и все такоеДа, ADB это все умеет, но не вижу смысла дергать...

295
Что означает запись >> или << в коде

Что означает запись >> или << в коде

К примеру есть участки кода, подобные этим:

399
Set, Multiset, Map, Multimap

Set, Multiset, Map, Multimap

В чем разница между ними и примеры, если можно

356
Точка входа в процедуру CancelIoEx не найдена в библиотеке DLL KERNEL32.dll. (Qt)

Точка входа в процедуру CancelIoEx не найдена в библиотеке DLL KERNEL32.dll. (Qt)

Не запускается релизная версия программы сервиса написанная на Qt на Windows xp Service pack 3Windows установлена на Virtual box остальные программы там запускаяются,...

1419