![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Несколько вопросов...
Tihas © (2002-10-17 01:17:00)Как на чистом WinApi узнать Rect относительно родительского окна?
И второй вопрос: как менять параметры шрифта созданного CreateFontIndirect, после создания, т.е существует ли функция
по работе с графическими объектами HFont,HPen,HBrush, на подобии
SetWindowLong?
Tihas (2002-10-19 01:43:00) [1]Спасибо за ответы.
Юрий Зотов (2002-10-17 23:49:00) [2]> Как на чистом WinApi узнать Rect относительно родительского окна?
Можно использовать обший прием - MapWindowPoints. Приводит координаты любого массива точек от одного окна к другому. А GetWindowRect и GetClientRect дают координаты и размер любого окна и его клиентской части.
MBo (2002-10-17 22:27:00) [3]>заново посылать сообщение
соответственно для смены шрифта нужно подать устройству команду на это
MBo (2002-10-17 22:25:00) [4]Придется довольствоваться тем, что эти люди сделали.
Если трудно вникнуть в концепцию работы GDI и связанных с этим механизмов, рекомендую представить такую абстракцию:
Canvas (DC, Device Context) - лист бумаги в плоттере (не все видели это устройство, но многие слышали, в принципе печатная машинка с возможностью движения листа вперед и назад дает некоторое представление)
Pen - перо или карандаш. Можно создать (положить в обойму) несколько перьев, но выбирать (SelectObject) только одно, и рисовать им. Результат SelectObject - предыдущее перо.
Brush - кисть для закраски областей. аналогично перу.
Font - набор символов, как ромашка пишущей машинки. Создали - эту железку изменить нельзя, можно только заменить всю ромашку на другую (тоже SelectObject)
Tihas (2002-10-17 21:50:00) [5]А какрас так как вы говорите Игорь Шевченко, сразу сделал ещё до этого вопроса,только меня это принципиально не устраевает, дела в том,что при посылки SendMessage(Handle,WM_SETFONT,HFONT,1)
,я устанавливаю шрифт,а если я его захочу его изменить(только HFONT), то придёться заново посылать сообщение, и так всегда-это очень не удобно.
Мне кажиться должно быть решение иначе люди из мелкософта-извращенцы.
Игорь Шевченко (2002-10-17 09:44:00) [6]Tihas © (17.10.02 01:17)
Ответ на второй вопрос - создать еще один шрифт с нужными параметрами через CreateFontIndirect. Более никак
Evgeny (2002-10-17 05:05:00) [7]GetClientRect