Масшабирование в CEdit
От: Jakov M.  
Дата: 17.07.03 16:32
Оценка:
Здравствуйте!
Проблема: поверх CScrollView, который масштабируется при помощи SetWindowExt и SetViewportExt ,лежит CEdit, который должен синхронно масштабироваться. Не получается масштабирование текста — остается прежнего размера(нужно не поменятьразмер шрифта, авывести имеющийся втребуемом масштабе.
Заранее благодарен за помощь.
Re: Масшабирование в CEdit
От: Nata1111 Латвия https://smartprogress.do/user/25453/
Дата: 17.07.03 17:09
Оценка:
Здравствуйте, Jakov M., Вы писали:

JM>Здравствуйте!

JM>Проблема: поверх CScrollView, который масштабируется при помощи SetWindowExt и SetViewportExt ,лежит CEdit, который должен синхронно масштабироваться. Не получается масштабирование текста — остается прежнего размера(нужно не поменятьразмер шрифта, авывести имеющийся втребуемом масштабе.
JM>Заранее благодарен за помощь.

С помощью SetWindowExt и SetViewportExt можно маштабировать только графику в CScrollView, а CEdit — это окно и изменять его размеры нужно соответствующими функциями CWnd::MoveWindow(), CWnd::SetWindowPos()
Re: Масшабирование в CEdit
От: B_A_D Израиль  
Дата: 18.07.03 07:00
Оценка:
Здравствуйте, Jakov M., Вы писали:

JM>Здравствуйте!

JM>Проблема: поверх CScrollView, который масштабируется при помощи SetWindowExt и SetViewportExt ,лежит CEdit, который должен синхронно масштабироваться. Не получается масштабирование текста — остается прежнего размера(нужно не поменятьразмер шрифта, авывести имеющийся втребуемом масштабе.
JM>Заранее благодарен за помощь.


Ничего, кроме изменения размера шрифта этого CEdit, не получится.
Re[2]: Масшабирование в CEdit
От: Jakov M.  
Дата: 18.07.03 08:07
Оценка:
Здравствуйте, Nata1111, Вы писали:

N>С помощью SetWindowExt и SetViewportExt можно маштабировать только графику в CScrollView, а CEdit — это окно и изменять его размеры нужно соответствующими функциями CWnd::MoveWindow(), CWnd::SetWindowPos()


Проблема не в размерах окна, а в масштабировании текста внутри окна.
Re[2]: Масшабирование в CEdit
От: Jakov M.  
Дата: 18.07.03 08:17
Оценка:
Здравствуйте, B_A_D, Вы писали:

B_A>Ничего, кроме изменения размера шрифта этого CEdit, не получится.


Обидно. Просто, я устанавливаю в CtlColor() цвет и прозрачность фона. Думал, что можно как-то и за масштаб зацепиться...
Re: Масшабирование в CEdit
От: Patalog Россия  
Дата: 18.07.03 11:46
Оценка:
Здравствуйте, Jakov M., Вы писали:

[]

Можно попробовать вариант с subclassing edit'а и установки нужного map mode в WM_PAINT.
Почетный кавалер ордена Совка.
Re[2]: Масшабирование в CEdit
От: Jakov M.  
Дата: 18.07.03 13:48
Оценка:
Здравствуйте, Patalog, Вы писали:

P>Можно попробовать вариант с subclassing edit'а и установки нужного map mode в WM_PAINT.


Не годится: надо переписывать весь вывод текста — с позиционированием, переносом строк и т. д., а этого-то и хотелось избежать, CEdit это сам хорошо делает.
Re[3]: Масшабирование в CEdit
От: Patalog Россия  
Дата: 20.07.03 12:16
Оценка:
Здравствуйте, Jakov M., Вы писали:

[]

JM>Не годится: надо переписывать весь вывод текста — с позиционированием, переносом строк и т. д., а этого-то и хотелось избежать, CEdit это сам хорошо делает.


Хм, а зачем? Словить WM_PAINT, установить нужный map mode и отдать все это добро родной процедуре религия не позволяет?
Почетный кавалер ордена Совка.
Re[4]: Масшабирование в CEdit
От: B_A_D Израиль  
Дата: 20.07.03 15:16
Оценка:
Здравствуйте, Patalog, Вы писали:

P>Здравствуйте, Jakov M., Вы писали:


P>[]


JM>>Не годится: надо переписывать весь вывод текста — с позиционированием, переносом строк и т. д., а этого-то и хотелось избежать, CEdit это сам хорошо делает.


P>Хм, а зачем? Словить WM_PAINT, установить нужный map mode и отдать все это добро родной процедуре религия не позволяет?



Не думаю, что Cedit такой дрной и не переустанавливает map mode .
Re[5]: Масшабирование в CEdit
От: Patalog Россия  
Дата: 21.07.03 06:24
Оценка:
Здравствуйте, B_A_D, Вы писали:

[]

B_A>Не думаю, что Cedit такой дрной и не переустанавливает map mode .


А это уже другой вопрос.
Почетный кавалер ордена Совка.
Re: Масшабирование в CEdit
От: KGP http://kornilow.newmail.ru
Дата: 21.07.03 10:49
Оценка:
Здравствуйте, Jakov M., Вы писали:

JM>Здравствуйте!

JM>Проблема: поверх CScrollView, который масштабируется при помощи SetWindowExt и SetViewportExt ,лежит CEdit, который должен синхронно масштабироваться. Не получается масштабирование текста — остается прежнего размера(нужно не поменятьразмер шрифта, авывести имеющийся втребуемом масштабе.
JM>Заранее благодарен за помощь.


Речь идёт о ... ?
The SetWindowExtEx function sets the horizontal and vertical extents of the window for a device context by using the specified values.

BOOL SetWindowExtEx(
HDC hdc, // handle to device context
int nXExtent, // new horizontal window extent
int nYExtent, // new vertical window extent
LPSIZE lpSize // original window extent
);
Parameters
hdc
[in] Handle to the device context.
nXExtent
[in] Specifies the window's horizontal extent in logical units.
nYExtent
[in] Specifies the window's vertical extent in logical units.
lpSize
[out] Pointer to a SIZE structure that receives the previous window extents, in logical units. If lpSize is NULL, this parameter is not used.
Re: Масшабирование в CEdit
От: Jakov M.  
Дата: 23.07.03 11:39
Оценка:
Спасибо всем ответившим!
Re[2]: Масшабирование в CEdit
От: adb Россия  
Дата: 26.08.03 16:07
Оценка:
Здравствуйте, Jakov M., Вы писали:

JM>Спасибо всем ответившим!


Так чем все решилось? Помогло и как именно? Мне просто нужно примерно то же — чтобы текст был пропорционален изменяемому по размерам CEdit. А заморачиваться со шрифтами не хочется.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.