Легенда:
новое сообщение
закрытая нитка
новое сообщение
в закрытой нитке
старое сообщение
|
- Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
- Новичкам также крайне полезно ознакомиться с данным документом.
|
[Win32] Что ж тебе неймется то :-) 24.07.08 22:59 Число просмотров: 2315
Автор: amirul <Serge> Статус: The Elderman
|
> Чтобы с ним можно было работать как с обычным окном – > обрабатывать сообщения, отдавать команды, и т.д.
> Например, я хочу такой контрол создать. > Есть ListBox, из десяти строчек. Под ListBox’ом > панель навигатора, состоящая из четырёх кнопок (первый, > последний, следующий, предыдущий) и из поля ввода, где > отображается текущая страница.
> С контролом связан массив данных, например, из 100 > элементов. При нажатии на кнопки осуществляется > пролистывание этих элементов. >
А на фига это в один контрол пихать?
> Как вообще люди свои контролы пишут?
Ну вот так и пишут - создаешь окно, создаешь в нем дочерние окна и пересылаешь им все сообщения которые могут их интересовать.
|
<programming>
|
[Win32] Можно ли создать свой контрол, состоящий из нескольких окон? 24.07.08 17:08
Автор: Vedrus <Serokhvostov Anton> Статус: Member
|
Чтобы с ним можно было работать как с обычным окном – обрабатывать сообщения, отдавать команды, и т.д.
Например, я хочу такой контрол создать.
Есть ListBox, из десяти строчек. Под ListBox’ом панель навигатора, состоящая из четырёх кнопок (первый, последний, следующий, предыдущий) и из поля ввода, где отображается текущая страница.
С контролом связан массив данных, например, из 100 элементов. При нажатии на кнопки осуществляется пролистывание этих элементов.
Как вообще люди свои контролы пишут?
|
|
[Win32] Венда шлёт сообщения не от хорошей жизни, а для того, чтобы максимально облегчить управление своими внутренними элементами управления тебе, программисту «снаружи». 25.07.08 08:29
Автор: HandleX <Александр М.> Статус: The Elderman
|
Т.е. сообщениями венда попыталась обеспечить максимальную гибкость для тебя. А вот тебе, комбинируя эти элементы управления в некий модуль-представитель бизнес логики модели данных, гораздо легче, и нет нужды слать сообщения самому себе, достаточно вызывать свои функции в модуле. Т.е. просто отлавливай нужные в твоём случае сообщения от виндовозных контролов, и формируй на основе этого логику, нужную тебе.
И постарайся чётко отделить мух от котлет — контролы винды, бизнес-логику твоей формы, и модель данный (список в твоём случае), с которым эта логика работает.
Тяжело тебе — далеко не уедешь без ООП, поскольку без него будет просто некая группа функций, отвечающая за создание, инициализацию, работу и уничтожение твоего модуля управления списком. В ООП за это отвечал бы класс, с которым гораждо легче "жить" -))
Почитай что-нибуть про продвинутые парадигмы взаимодействия с пользователем — MVC, MVP и проч.
|
|
[Win32] Что ж тебе неймется то :-) 24.07.08 22:59
Автор: amirul <Serge> Статус: The Elderman
|
> Чтобы с ним можно было работать как с обычным окном – > обрабатывать сообщения, отдавать команды, и т.д.
> Например, я хочу такой контрол создать. > Есть ListBox, из десяти строчек. Под ListBox’ом > панель навигатора, состоящая из четырёх кнопок (первый, > последний, следующий, предыдущий) и из поля ввода, где > отображается текущая страница.
> С контролом связан массив данных, например, из 100 > элементов. При нажатии на кнопки осуществляется > пролистывание этих элементов. >
А на фига это в один контрол пихать?
> Как вообще люди свои контролы пишут?
Ну вот так и пишут - создаешь окно, создаешь в нем дочерние окна и пересылаешь им все сообщения которые могут их интересовать.
|
|
|