towndwarf: (Default)
[personal profile] towndwarf
Есть аппликашка SDI с табами:
Проблема: при обработке WM_SIZE внутри табов меняется размер только в пределах прямоугольника, заданного шаблоном ресурса. Т.е. меньше - пожалуйста - а больше - никак!

- в главном окне (МаinFrame) есть member TabControl, на который 'вешаются' все остальные tabs-dialog windows.
- при обработке WM_SIZE - mainFrame -

CRect r, lpRect;
m_wndStatusBar.GetWindowRect(r);
GetWindowRect(&lpRect);
// Get size of dialog window.
GetClientRect(&lpRect);
lpRect.bottom-=r.Height();//mind StatusBar height
// Move the tab control to the new position and size.
m_tabCtrl.MoveWindow(&lpRect, TRUE);


И всё работает вполне корректно (т.е. относительно MainFrame)
А вот внутри табов - какая-то ерунда:
Стартуем аппликашку
8.8 KB "тёмная часть" - должна занимать всё пространство таба, но этого не делает.
Т.е. она занимает максимум, "позволенный" размерами шаблона IDD_DIALOG3 из ресурса
Это ясно видно на последующих 2х скриншотах.

CDialog::OnSize(nType, cx, cy);
if (cx <= 1 || cy <= 1 )return;
if(m_gridCtrl.m_hWnd && cx && cy){
m_gridCtrl.MoveWindow(0, 0, cx,cy, TRUE);
//m_gridCtrl.BringWindowToTop();
}

5.9 KBАппликашка "минимизирована" до размера, меньше размеров шаблона IDD_DIALOG3 из ресурса.
Ресайз "тёмного" окна происходит корректно, нижний скролл бар занимает столько места, сколько надо.
8.5 KBАппликашка "увеличена" до размера, чуть меньше, чем размер шаблона IDD_DIALOG3 по вертикали (смотри "обрезанный" скроллер)
и серьёзно больше по горизонтали
Причём при таком размере по горизонтали скролл бар должен был вообще исчезнуть!
Т.е. ресайз "тёмного" окна происходит некорректно.
This account has disabled anonymous posting.
If you don't have an account you can create one now.
HTML doesn't work in the subject.
More info about formatting

Profile

towndwarf: (Default)
towndwarf

June 2019

S M T W T F S
      1
2345678
9 1011121314 15
161718192021 22
2324252627 2829
30      

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jan. 27th, 2026 05:28 am
Powered by Dreamwidth Studios