![]() |
|
Модераторы: Snowy, bartram, MetalFan, bems, Poseidon, Riply |
![]()
|
|
| D7_beginner |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 36 Регистрация: 21.11.2007 Репутация: нет Всего: нет |
Дорогие мастера своего дела. Я начинающий программист. Помогите пожалуйста разобратся с дополнительными парметрами wParam и lParam. Когда надо их использовать?
|
|||
|
||||
| Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 30 Всего: 484 |
Читай справку по конкретному сообщению.
Для каждого сообщения расписано, что туда нужно передавать/принимать. Для разных сообщений играют разную роль. |
|||
|
||||
| Rennigth |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1708 Регистрация: 21.6.2004 Где: Moscow Репутация: 8 Всего: 76 |
дык для какой ф-ии? SendMessage? -------------------- (* Honesta mors turpi vita potior *) |
|||
|
||||
| MetalFan |
|
|||
![]() Аццкий Сотона ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3815 Регистрация: 2.10.2006 Где: Moscow Репутация: 16 Всего: 128 |
дополнительными параметрами чего?
-------------------- There are always someone smarter than you... |
|||
|
||||
| THandle |
|
|||
![]() Хранитель Клуба Награды: 1 Профиль Группа: Админ Сообщений: 3639 Регистрация: 31.7.2007 Где: Moscow, Dubai Репутация: 7 Всего: 372 |
Rennigth, мне кажется что имелось ввиду, что такое вообщем wparam и lparam.
|
|||
|
||||
| Poseidon |
|
|||
![]() Delphi developer ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 5273 Регистрация: 4.2.2005 Где: Гомель, Беларусь Репутация: 10 Всего: 133 |
wParam и lParam - это параметры этих самых сообщений, которые, по сути, и несут в себе информацию. Добавлено через 3 минуты и 46 секунд К примеру, при нажатии клавиши отправляется сообщение WM_KeyDown. При этом в wParam передается код нажатой клавиши -------------------- Если хочешь, что бы что-то работало - используй написанное, если хочешь что-то понять - пиши сам... |
|||
|
||||
| BLACK_KOT |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 305 Регистрация: 20.12.2006 Репутация: нет Всего: -1 |
а как работать с верхними и нижними словами этих параметров к примеру как установить для окна цвет фона и шрифта? там используются lparamhi lparamlo если не ошибаюсь?
-------------------- .. я - демо версия Бога от Microsoft.. |
|||
|
||||
| CodeMonkey |
|
||||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1839 Регистрация: 24.6.2008 Где: Россия, Тверь Репутация: 16 Всего: 89 |
Например, логическими операциями: wParamHi := wParam shr 16; wParamLo := wParam and $FFFF; wParam := (wParamHi shl 16) or wParamLo. Или распаковщиками сообщений:
-------------------- Опытный программист на C++ легко решает любые не существующие в Паскале проблемы. |
||||
|
|||||
| Демо |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1278 Регистрация: 3.11.2005 Репутация: 6 Всего: 50 |
CodeMonkey,
+ LoWord и HiWord -------------------- |
|||
|
||||
| CodeMonkey |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1839 Регистрация: 24.6.2008 Где: Россия, Тверь Репутация: 16 Всего: 89 |
Хотел написать, но в дефолтном проекте LoWord нету, поэтому не пошёл дальше. -------------------- Опытный программист на C++ легко решает любые не существующие в Паскале проблемы. |
|||
|
||||
| VladmirVB |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 1 Регистрация: 15.5.2010 Репутация: нет Всего: нет |
Каждое сообщение Windows содержит два параметра: wParam и lParam. Префиксы w и l означают "Word" и "Long", т.е. первый параметр 16-разрядный, а второй – 32-разрядный. Однако так было только в старых, 16-разрядных версиях Windows. В 32-разрядных версиях оба параметра 32-разрядные, несмотря на названия. Конкретный смысл каждого параметра зависит от сообщения. В некоторых сообщениях один или оба параметра могут вообще не использоваться, в других – наоборот, двух параметров даже не хватает. В этом случае один из параметров (обычно lParam) содержит указатель на дополнительные данные.
|
|||
|
||||
| BLACK_KOT |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 305 Регистрация: 20.12.2006 Репутация: нет Всего: -1 |
немного конкретней:
цитата из DRKB3_Full: Сообщение: wm_CtlColor Дает pодительскому окну или дочеpнему оpгану упpавления возможность изменить цвета фона и текста, котоpыми наpисован дочеpний элемент. Паpаметpы: wParam: Является описателем контекста дисплея для дочеpнего окна. lParamLo: Является описателем дочеpнего окна. lParamHi: Является одной из констант ctlcolor_. Опpеделяет тип дочеpнего окна. См. pаздел "Флаги упpавления цветом (ctlcolor_) в главе 1. Возвpащаемое значение: Не используется. Комментаpии: Стандаpтным действием, выполняемым в функции DefWindowProc, является использование стандаpтных системных цветов. я пишу:
шрифт меняется нормально, хотя хотелось бы узнать как задавать конкретный шрифт: ариал допустим или джорджия. а вот ни цвет фона, ни цвет текста окна не меняется. подскажите что не так. -------------------- .. я - демо версия Бога от Microsoft.. |
|||
|
||||
![]()
|
| Правила форума "Delphi: WinAPI и системное программирование" | |
|
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, bartram, MetalFan, bems, Poseidon, Rrader, Riply. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: WinAPI и системное программирование | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |