![]() |
|
|
![]()
|
|
| Xedin |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 11 Регистрация: 3.3.2007 Репутация: нет Всего: нет |
У мя есть диаог на нём эидты кнопочки разные...как при изменении размеров диалога изменять размекры эдита и кнопочки желатеьно чтоб тож как-нить ровненько выстраивались???
|
|||
|
||||
| Rodman |
|
|||
|
CIO ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 6144 Регистрация: 7.5.2006 Где: Ukraine ⇛ Kyiv ci ty Репутация: нет Всего: 122 |
программно... на OnResize вешай перерасчет размеров компонентов...
|
|||
|
||||
| Xedin |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 11 Регистрация: 3.3.2007 Репутация: нет Всего: нет |
мона по подробней и с кодиком желательно
|
|||
|
||||
| Earnest |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5962 Регистрация: 17.6.2005 Где: Рязань Репутация: 87 Всего: 183 |
Rodman, хотел наверное сказать, на OnSize...
Xedin, все зависит от того, как ты хочешь, чтобы контролы перестраивались... вариантов-то много. Вот, например, простой вариант: при изменении размеров диалога все контролы сохраняют свое смещение относительно тех сторон диалога, к которым они изначально ближе. При этом каждая сторона контрола рассматривается отдельно. Т.е., кнопки, находящиеся слева, остануться слева, те, которые справа-снизу, так и будут справа снизу, а контролы, пересекающие середину диалога будут растягиваться. Вот код, но за правильную компиляцию не ручаюсь, т.к. на глазок выкидывала лишнее из рабочего кода...
-------------------- ... |
|||
|
||||
| Greeen |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 710 Регистрация: 13.8.2006 Где: Петербург Репутация: 10 Всего: 18 |
Earnest, браво!!! IMHO очень красивая реализация
-------------------- Подпись больше не нужна |
|||
|
||||
| Xedin |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 11 Регистрация: 3.3.2007 Репутация: нет Всего: нет |
Ругается что-то
уже вот такие ругательства: error C2039: 'pair' : is not a member of 'std' error C2039: 'pair' : is not a member of 'std' error C2039: 'vector' : is not a member of 'std' error C2039: 'vector' : is not a member of 'std' error C2143: syntax error : missing ';' before '<' error C2143: syntax error : missing ';' before '<' error C2143: syntax error : missing ';' before '<' error C2143: syntax error : missing ';' before '<' error C2146: syntax error : missing ';' before identifier 'm_Items' error C2146: syntax error : missing ';' before identifier 'm_Items' error C2238: unexpected token(s) preceding ';' error C2238: unexpected token(s) preceding ';' error C2238: unexpected token(s) preceding ';' error C2238: unexpected token(s) preceding ';' error C2501: 'CAutoResizeDlg::CLayoutMover::CItems' : missing storage-class or type specifiers error C2501: 'CAutoResizeDlg::CLayoutMover::CItems' : missing storage-class or type specifiers error C2501: 'CAutoResizeDlg::CLayoutMover::m_Items' : missing storage-class or type specifiers error C2501: 'CAutoResizeDlg::CLayoutMover::m_Items' : missing storage-class or type specifiers |
|||
|
||||
| Earnest |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5962 Регистрация: 17.6.2005 Где: Рязань Репутация: 87 Всего: 183 |
Xedin, это реализация предполагает использование STL. Подключи заголовок <vector>. Если будет продолжать ругаться на pair, подключи <utility>.
Добавлено @ 13:39 Спасибо, но БРАВО не мне. Идея не моя, она действительно, красивая и простая, а реализация - в общем тривиальная и естественная. Я немного переделала код для Xedin - там вообще-то smart-pointer вместо простого указателя, и похоже, правильно сделала. -------------------- ... |
|||
|
||||
| Xedin |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 11 Регистрация: 3.3.2007 Репутация: нет Всего: нет |
подключение загоовков помогло....руголось тока на неоьъявленность m_pLayoutMover
объявила как CLayoutMover* m_pLayoutMover; ругается терь вот так: 888888888 error LNK2005: "private: void __thiscall CAutoResizeDlg::CLayoutMover::_MovePoint(class CPoint &,class CSize)const " (?_MovePoint@CLayoutMover@CAutoResizeDlg@@ABEXAAVCPoint@@VCSize@@@Z) already defined in 888888888.obj 888888888 error LNK2005: "protected: static struct AFX_MSGMAP const * __stdcall CAutoResizeDlg::GetThisMessageMap(void)" (?GetThisMessageMap@CAutoResizeDlg@@KGPBUAFX_MSGMAP@@XZ) already defined in 888888888.obj 888888888 error LNK2005: "protected: virtual int __thiscall CAutoResizeDlg::OnInitDialog(void)" (?OnInitDialog@CAutoResizeDlg@@MAEHXZ) already defined in 888888888.obj 888888888 error LNK2005: "protected: virtual struct AFX_MSGMAP const * __thiscall CAutoResizeDlg::GetMessageMap(void)const " (?GetMessageMap@CAutoResizeDlg@@MBEPBUAFX_MSGMAP@@XZ) already defined in 888888888.obj 888888888 error LNK2005: "protected: void __thiscall CAutoResizeDlg::OnGetMinMaxInfo(struct tagMINMAXINFO *)" (?OnGetMinMaxInfo@CAutoResizeDlg@@IAEXPAUtagMINMAXINFO@@@Z) already defined in 888888888.obj 888888888 error LNK2005: "protected: void __thiscall CAutoResizeDlg::OnWindowPosChanged(struct tagWINDOWPOS *)" (?OnWindowPosChanged@CAutoResizeDlg@@IAEXPAUtagWINDOWPOS@@@Z) already defined in 888888888.obj 888888888 error LNK2005: "protected: void __thiscall CAutoResizeDlg::OnWindowPosChanging(struct tagWINDOWPOS *)" (?OnWindowPosChanging@CAutoResizeDlg@@IAEXPAUtagWINDOWPOS@@@Z) already defined in 888888888.obj 888888888 error LNK2005: "public: __thiscall CAutoResizeDlg::CAutoResizeDlg(unsigned int,bool,class CWnd *)" (??0CAutoResizeDlg@@QAE@I_NPAVCWnd@@@Z) already defined in 888888888.obj 888888888 error LNK2005: "public: __thiscall CAutoResizeDlg::CLayoutMover::CLayoutMover(class CWnd &)" (??0CLayoutMover@CAutoResizeDlg@@QAE@AAVCWnd@@@Z) already defined in 888888888.obj 888888888 error LNK2005: "public: virtual __thiscall CAutoResizeDlg::~CAutoResizeDlg(void)" (??1CAutoResizeDlg@@UAE@XZ) already defined in 888888888.obj 888888888 error LNK2005: "public: void __thiscall CAutoResizeDlg::CLayoutMover::Resize(class CSize)" (?Resize@CLayoutMover@CAutoResizeDlg@@QAEXVCSize@@@Z) already defined in 888888888.obj 888888888 fatal error LNK1169: one or more multiply defined symbols found warning C4267: 'argument' : conversion from 'size_t' to 'int', possible loss of data warning C4267: 'argument' : conversion from 'size_t' to 'int', possible loss of data |
|||
|
||||
| Earnest |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5962 Регистрация: 17.6.2005 Где: Рязань Репутация: 87 Всего: 183 |
Xedin, я код привела одним куском, предполагая, что ты понимаешь, что объявление CAutoResizeDlg должно быть в заголовке, а все остальное надо поместить в cpp-файл.
-------------------- ... |
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Visual C++/MFC/WTL | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |