![]() |
|
|
![]()
|
|
| tonchitos |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 447 Регистрация: 24.2.2007 Репутация: 1 Всего: 40 |
У меня на форме должен быть диалог, прикрепленный в правом углу формы.
Это будет диалог со свойствами. Если диалог в форме - как его выводить всегда на одно место. Если есть похожий контрол, то какой? -------------------- – Люди забыли эту истину, – сказал Лис, – но ты не забывай: ты навсегда в ответе за всех, кого приручил. |
|||
|
||||
| Earnest |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5962 Регистрация: 17.6.2005 Где: Рязань Репутация: 87 Всего: 183 |
Да просто создай диалоговый ресурс с типом WS_CHILD, создавай его с помощью Create, а чтобы при резайзе формы он оставался на мести (в правом углу) - обрабатывай OnSize формы и перемещай ручками в нужное место.
-------------------- ... |
|||
|
||||
| tonchitos |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 447 Регистрация: 24.2.2007 Репутация: 1 Всего: 40 |
мне надо чтоб он немодальный получался....
такая проблема - как получить размеры клинтской области главного окна.... гетклиентрект возвращает совсем не то.... GetWindowRect тоже не то, тк захватывает рамку... -------------------- – Люди забыли эту истину, – сказал Лис, – но ты не забывай: ты навсегда в ответе за всех, кого приручил. |
|||
|
||||
| Earnest |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5962 Регистрация: 17.6.2005 Где: Рязань Репутация: 87 Всего: 183 |
Create именно немодальный и создает
Это у тебя жар... GetClientRect возвращает как раз клиентскую область того окна, у которого спрашивают -------------------- ... |
|||
|
||||
| tonchitos |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 447 Регистрация: 24.2.2007 Репутация: 1 Всего: 40 |
ну а почему тогда когда я запрашиваю клиент рект и вывожу диалог с этими координатами, то мне выводится диалог с верными рамерами, но неверным местоположением (в левом верхнем углу экрана...)
-------------------- – Люди забыли эту истину, – сказал Лис, – но ты не забывай: ты навсегда в ответе за всех, кого приручил. |
|||
|
||||
| Andrey44 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1501 Регистрация: 4.12.2006 Где: На работе Репутация: 12 Всего: 26 |
GetClientRect - размеры окна , а не координаты.
-------------------- ????? ??, ??????? ?????. |
|||
|
||||
| tonchitos |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 447 Регистрация: 24.2.2007 Репутация: 1 Всего: 40 |
может потому что AfxGetMainWnd()->GetWindowRect(lpRect) выводит координаты отсчитывая координаты от верхней левой точки экрана, а клиент от родительского окна?
в процессе отладки посмотрела, к примеру: это AfxGetMainWnd()->GetWindowRect(lpRect) lpRect {top=175 bottom=890 left=135 right=1095} CRect а вот клиент рект lpRect2 {top=0 bottom=650 left=0 right=952} CRect Добавлено через 8 минут и 41 секунду размеры те да не очень...захватывает внизу строку состояния... и наверху тулбар тоже я так понимаю считается частью клиентской области... как мне получить темную область, в которою выводятся все документы. -------------------- – Люди забыли эту истину, – сказал Лис, – но ты не забывай: ты навсегда в ответе за всех, кого приручил. |
|||
|
||||
| Rapalex |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 732 Регистрация: 20.1.2006 Где: Украина -> Ник олаев Репутация: 6 Всего: 8 |
Юзай ClientToScreen.
-------------------- In vitium ducit culpae fuga. Желание избежать ошибки вовлекает в другую. (Horatius) |
|||
|
||||
| tonchitos |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 447 Регистрация: 24.2.2007 Репутация: 1 Всего: 40 |
этим получать клиетское окно? чего-то вообще ничего не получает этв ф-ия, абракадабру... Добавлено через 4 минуты и 59 секунд может есть контрол какой типа просто панели, чтоб его налепить... прям на форму Добавлено через 10 минут и 22 секунды блин, я глупочка, на форму это в документе ж будет -------------------- – Люди забыли эту истину, – сказал Лис, – но ты не забывай: ты навсегда в ответе за всех, кого приручил. |
|||
|
||||
| tonchitos |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 447 Регистрация: 24.2.2007 Репутация: 1 Всего: 40 |
мне нужны координаты рабочей области без тулбара и строки состояния, ведь документы ж ее получают...
-------------------- – Люди забыли эту истину, – сказал Лис, – но ты не забывай: ты навсегда в ответе за всех, кого приручил. |
|||
|
||||
| Andrey44 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1501 Регистрация: 4.12.2006 Где: На работе Репутация: 12 Всего: 26 |
Ну отнимай высоту тулбара и строки состояния
-------------------- ????? ??, ??????? ?????. |
|||
|
||||
| Earnest |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5962 Регистрация: 17.6.2005 Где: Рязань Репутация: 87 Всего: 183 |
Патаму что у тебя диалог не дочерний, а должен быть таковым, судя по предыдущим постам. Дочерние окна при создании и перемещении воспринимают координаты относительно клиентской области родительского окна, а попапы - относительно экрана. Используй флаг WS_CHILD при создании. Добавлено через 1 минуту и 46 секунд Спрашивай не у фрейма, а у вью. -------------------- ... |
|||
|
||||
| tonchitos |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 447 Регистрация: 24.2.2007 Репутация: 1 Всего: 40 |
Earnest, спасибо большое...
можете ответить на пару дурацких вопросов?: спрашивать у вью: я в ф-ии вида
вызываю GetClientRect(lpRect); он мне возвращает клиентскую область документа, а не фрейма... как быть? и совсем глупый вопрос...но чего-то не найду, простите... какой ф-ией мне установить свойство WS_CHILD? -------------------- – Люди забыли эту истину, – сказал Лис, – но ты не забывай: ты навсегда в ответе за всех, кого приручил. |
|||
|
||||
| Andrey44 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1501 Регистрация: 4.12.2006 Где: На работе Репутация: 12 Всего: 26 |
Можно через
virtual BOOL ModifyStyle( DWORD dwRemove, DWORD dwAdd, UINT nFlags ); -------------------- ????? ??, ??????? ?????. |
|||
|
||||
| tonchitos |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 447 Регистрация: 24.2.2007 Репутация: 1 Всего: 40 |
в общем я установила модифайлстайлом - реакции никакой.... Добавлено через 5 минут и 6 секунд что не так? вообще идея вычитать строку состояния и тулюар мне не нравится ибо некрасиво это как то -------------------- – Люди забыли эту истину, – сказал Лис, – но ты не забывай: ты навсегда в ответе за всех, кого приручил. |
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Visual C++/MFC/WTL | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |