![]() |
Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.
![]() |
Unconnected |
![]()
Сообщение
#1
|
![]() mea culpa ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 372 Пол: Мужской Реальное имя: Николай Репутация: ![]() ![]() ![]() |
Привет всем.
![]() Сейчас начал переводить одно своё приложение на api, весёлое занятие) С механизмами всё понятно, часть проги портировал, а вот с отображением контролов на окне не очень ясно.. Во-первых - всегда ли обязательно создавать, например, label таким образом (для себя в ф-ю обернул): Procedure createstatic(caption:string;x,y,wid,hei:integer); , или есть какой-то более простой способ внешнего проектирования? Я читал про добавление информации о контролах в ресурсы; это, в принципе, довольно удобно, если сделать быструю компиляцию .rc в .res батником (ну когда нужно быстро что-то изменить там), но вроде как он (способ) нестабильный какой-то.. Во-вторых - где задавать такие параметры static, как шрифт, цвет, размер текста? Плохо, что вся инфа в msdn по api во-первых, на английском, а во-вторых, там сишный синтаксис. Вот в msdn, например, было написано ShowWindow(hwndMain, nCmdShow);, а делфи второй параметр не принимает такой, а принимает CmdShow (хотя в мсдн вроде и было указано, что от платформы зависит). И ещё, вот, допустим, в процессе исполнения надо мне изменить что-то, например цвет формы. Для этого достаточно вызвать функцию с параметрами, или надо в оконной функции описывать обработку сообщения CTL_COLOR, а потом когда надо отправлять это сообщение? Сообщение отредактировано: Unconnected - 28.06.2010 17:22 -------------------- "Знаешь, стыдно - когда не видно, что услышал всё, что слушал.."
|
![]() ![]() |
volvo |
![]()
Сообщение
#2
|
Гость ![]() |
Кстати, завёлся GDI+ и на 2009-ой Дельфи (достаточно было в Project -> Options -> Delphi Compiler -> Conditional Defines добавить COMPILER5_UP, тогда модули GDIPOBJ/GDIPAPI прекрасно компилируются).
И вот это: Procedure myOnPaint(DC: HDC); очень даже рисует JPG-файл на канве формы. Обрати внимание: я не передаю в myOnPaint тот DC, который получен от BeginPaint-а, я передаю хендл канвы формы. Возможно в API-проекте и нужно будет передавать так, как делаешь ты, но мне все еще лень ( ![]() |
![]() ![]() |
![]() |
Текстовая версия | 13.07.2025 19:38 |