Масштабирование окна диалога
От: Alvengo http://alvengo.chat.ru
Дата: 31.08.01 16:42
Оценка:
Кто-нибудь имеет код, отвечающий за масштабирование окна диалога? Имеется ввиду, что при максимизации диалога некоторые контролы увеличиваются вместе с ним... Для простого диалога я написал некий работающий код, но меня гораздо больше интересует диалог с переключающимися страницами-вкладками, т.е. чтобы на каждой странице работало подобное масштабирование...
Re: Масштабирование окна диалога
От: ZORK Россия www.zorkaltsev.com
Дата: 31.08.01 21:43
Оценка:
Здравствуйте Alvengo, вы писали:

A>Кто-нибудь имеет код, отвечающий за масштабирование окна диалога? Имеется ввиду, что при максимизации диалога некоторые контролы увеличиваются вместе с ним... Для простого диалога я написал некий работающий код, но меня гораздо больше интересует диалог с переключающимися страницами-вкладками, т.е. чтобы на каждой странице работало подобное масштабирование...


В WTL есть CDialogResize, которуй это успешно делает, но при этом надо что-бы диалог наследовался от CDialogImpl<T>. Пример:

class CMainDlg : public CDialogImpl<CMainDlg>,
public CDialogResize<CMainDlg> // Надо добавить это
{
public:
...

BEGIN_DLGRESIZE_MAP(CMainDlg) // Вот это
DLGRESIZE_CONTROL(IDC_E1, DLSZ_SIZE_X) // Ctrl который изменяет размер по X вместе с диалог

BEGIN_DLGRESIZE_GROUP() // Контролы внутри группы изменют размер и положение пропорционально DLGRESIZE_CONTROL(IDC_FRM2, DLSZ_SIZE_X | DLSZ_SIZE_Y)
DLGRESIZE_CONTROL(IDC_FRM1, DLSZ_SIZE_X | DLSZ_SIZE_Y)
DLGRESIZE_CONTROL(IDC_RB4, DLSZ_MOVE_X)
DLGRESIZE_CONTROL(IDC_RB5, DLSZ_MOVE_X)
DLGRESIZE_CONTROL(IDC_RB6, DLSZ_MOVE_X)
END_DLGRESIZE_GROUP()

DLGRESIZE_CONTROL(IDOK, DLSZ_MOVE_X | DLSZ_MOVE_Y)
DLGRESIZE_CONTROL(IDCANCEL, DLSZ_MOVE_X | DLSZ_MOVE_Y)

END_DLGRESIZE_MAP()

LRESULT OnInitDialog(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/)
{
....

DlgResize_Init(); // И вот это

return TRUE;
}

};
Думать надо ...головой :)
Re: Масштабирование окна диалога
От: Odi$$ey Россия http://malgarr.blogspot.com/
Дата: 31.08.01 22:29
Оценка:
Здравствуйте Alvengo, вы писали:

A>Кто-нибудь имеет код, отвечающий за масштабирование окна диалога? Имеется ввиду, что при максимизации диалога некоторые контролы увеличиваются вместе с ним... Для простого диалога я написал некий работающий код, но меня гораздо больше интересует диалог с переключающимися страницами-вкладками, т.е. чтобы на каждой странице работало подобное масштабирование...


есть библиотечка NSView от Nanosoft. Родной сайт вроде помер, но по inet'у она уже расползлась. Не найдешь — пиши.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.