информационная безопасность
без паники и всерьез
 подробно о проектеRambler's Top100
Атака на InternetГде водятся OGRыСетевые кракеры и правда о деле Левина
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 Ростелеком заподозрили в попытке... 
 Линуксовый ботнет, распространяющийся... 
 Конец поддержки Internet Explorer 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / programming
Имя Пароль
ФОРУМ
если вы видите этот текст, отключите в настройках форума использование JavaScript
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
  • Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
  • Новичкам также крайне полезно ознакомиться с данным документом.
[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
> элементов. При нажатии на кнопки осуществляется
> пролистывание этих элементов.
>


А на фига это в один контрол пихать?

> Как вообще люди свои контролы пишут?

Ну вот так и пишут - создаешь окно, создаешь в нем дочерние окна и пересылаешь им все сообщения которые могут их интересовать.
1




Rambler's Top100
Рейтинг@Mail.ru


  Copyright © 2001-2022 Dmitry Leonov   Page build time: 0 s   Design: Vadim Derkach