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





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
  • Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
  • Новичкам также крайне полезно ознакомиться с данным документом.
[C++] Как сделать вид типа CListBox? 30.05.01 20:58  
Автор: myrmidon Статус: Незарегистрированный пользователь
<"чистая" ссылка>
Делаю SDI прогу с несколькими видами, разделённые сплиттером
В каждую панель вставляю вид, который описан отдель в классе, так:
splitter.CreateView(0, 0, RUNTIME_CLASS(CView), pContext);
CView сделан от класса CEditView
Хочю сделать так же, но с классом CListBox
Пока ничо не выходит, кто нить знает, как можно это сделать?
[C++] Как сделать вид типа CListBox? 31.05.01 01:30  
Автор: kabanchik Статус: Незарегистрированный пользователь
<"чистая" ссылка>
> Делаю SDI прогу с несколькими видами, разделённые
> сплиттером
> В каждую панель вставляю вид, который описан отдель в
> классе, так:
> splitter.CreateView(0, 0, RUNTIME_CLASS(CView), pContext);
> CView сделан от класса CEditView
> Хочю сделать так же, но с классом CListBox
> Пока ничо не выходит, кто нить знает, как можно это
> сделать?

если с помощью MFC, попробуй:
class CListBoxView : public CCtrlView
{
public:
CListBoxView();
}

CListBoxView::CListBoxView()
: CCtrlView("LISTBOX", LBS_STANDARD & (~WS_BORDER)) // убираем бордер если он есть,
// стиль пропиши на усмотрение или потом поменяй
{
}

ну и все остальное пальчиками набери. вроде должно сработать
[C++] Как сделать вид типа CListBox? 31.05.01 17:31  
Автор: myrmidon Статус: Незарегистрированный пользователь
<"чистая" ссылка>
Окно сделалось, но пустое, че то сам листбокс не создаёца
вроде надо его создавать функцией OnCreate(LPCREATESTRUCT lpCreateStruct)
но как?

есть пример с CListCtrl, там он образован от класса CListView
и в вызове OnCreate(LPCREATESTRUCT lpCreateStruct) пишеца так:
if(CListView::OnCreate(lpCreateStruct) == -1)
{
return -1;
}
CListCtrl & lc = GetListCtrl();
lc.InsertColumn(0, "Col 1", LVCFMT_LEFT, 100);

И ещо, весь вид должен быть образован с помощью вот такой муйни - IMPLEMENT_DYNCREATE
что бы потом запихнуть его в окно используя RUNTIME_CLASS
[C++] Как сделать вид типа CListBox? 31.05.01 18:21  
Автор: kabanchik Статус: Незарегистрированный пользователь
<"чистая" ссылка>
> Окно сделалось, но пустое, че то сам листбокс не создаёца
> вроде надо его создавать функцией OnCreate(LPCREATESTRUCT
> lpCreateStruct)
> но как?

нееее. это тут не причем.
"поиграй" со стилями. не забудь обязательно добавить WS_CHILD | WS_VISIBLE. а GetListBox(), можешь сделать так.
и на всякий, хотя не играет роли, добавь PreCreateWindow()б и надо еше RuntimeClass:

class CListBoxView : public CCtrlView
{

DECLARE_DYNCREATE(CListBoxView)
public:
CListBoxView();
virtual ~CListBoxView();

public:
const CListBox& GetListBox() const;
virtual BOOL PreCreateWindow(CREATESTRUCT& cs);
};

IMPLEMENT_DYNCREATE(CListBoxView, CCtrlView)

CListBoxView::CListBoxView()
: CCtrlView(_T("LISTBOX"), (LBS_STANDART | WS_CHILD | WS_VISIBLE) & (~WS_BORDER))
{
}

CListBoxView::~CListBoxView()
{
}

const CListBox& CListBoxView::GetListBox() const
{
return *((CListBox *) this);
}

BOOL CListBoxView::PreCreateWindow(CREATESTRUCT& cs)
{
return CCtrlView::PreCreateWindow(cs);
}

короче, если что не получится, меняй стили в конструкторе
и еще 31.05.01 18:54  
Автор: kabanchik Статус: Незарегистрированный пользователь
<"чистая" ссылка>
> CListBoxView::CListBoxView()
> : CCtrlView(_T("LISTBOX"), (LBS_STANDART | WS_CHILD |
> WS_VISIBLE) & (~WS_BORDER))
> {
> }
>
вот тут, пусть WS_BORDER - не будет для тебя догмой, его тоже попробуй.
1




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


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