Поиск:

Ответ в темуСоздание новой темы Создание опроса
> proptree дерево свойств 
:(
    Опции темы
tonchitos
Дата 11.6.2008, 14:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 447
Регистрация: 24.2.2007

Репутация: 1
Всего: 40



в общем скачала с кодпроекта proptree контрол, и юзаю его..возникла проблема, 


так я создаю в дереве поле

Код

        CPropTreeItemEdit* pEdit;
        pEdit = (CPropTreeItemEdit*)((CMainFrame*)AfxGetMainWnd())->m_wndDialogBar.m_Tree.InsertItem(new CPropTreeItemEdit(), pRoot);
        pEdit->SetLabelText(_T("Defined Type"));
        pEdit->SetInfoText(_T("Edit class name"));
        pEdit->SetItemValue((LPARAM)DefType->getName().c_str());



вот класс:
Код


class PROPTREE_API CPropTreeItemEdit : public CEdit, public CPropTreeItem
{
// Construction
public:
    CPropTreeItemEdit();
    virtual ~CPropTreeItemEdit();

// Attributes
public:


Код


class PROPTREE_API CPropTreeItem
{
// Construction
public:
    CPropTreeItem();
    virtual ~CPropTreeItem();

// Attributes/Operations
public:
    // TreeItem states
    BOOL IsExpanded();
    BOOL IsSelected();
    BOOL IsChecked();
    BOOL IsReadOnly();
    BOOL IsActivated();


Код


void CPropTreeItemEdit::OnActivate()
{
    // Check if the edit control needs creation
    if (!IsWindow(m_hWnd))
    {
        DWORD dwStyle;

        dwStyle = WS_CHILD|ES_AUTOHSCROLL;
        Create(dwStyle, m_rc, m_pProp->GetCtrlParent(), GetCtrlID());
        SendMessage(WM_SETFONT, (WPARAM)m_pProp->GetNormalFont()->m_hObject);
    }


вызывается при редактировании окна, следовательно до этого я не могу задать стиль окна, тк hwnd равно нулю, и на ассерте выкидывает при модифайлстайле...

мне нужно просто сделать поле многострочным....

как быть, я сделала так...


Код

        CPropTreeItemEdit* pEdit;
        pEdit = dynamic_cast<CPropTreeItemEdit*>(((CMainFrame*)AfxGetMainWnd())->m_wndDialogBar.m_Tree.InsertItem(new CPropTreeItemEdit(), pRoot));

        pEdit->OnActivate();
        pEdit->ModifyStyle(0, ES_MULTILINE);


ну и че, ошибки нет, только чет многострочного поля не видать...че за фигня, а?



--------------------
– Люди забыли эту истину, – сказал Лис, – но ты не забывай: ты навсегда в ответе за всех, кого приручил.
PM MAIL   Вверх
Earnest
Дата 11.6.2008, 15:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5962
Регистрация: 17.6.2005
Где: Рязань

Репутация: 87
Всего: 183



А кто тебе мешает в эту строчку:
dwStyle = WS_CHILD|ES_AUTOHSCROLL;
добавить ES_MULTILINE.
Это ведь не библиотека, код которой трогать нельзя...
Просто есть стили, которые можно установить только при создании окна. Возможно, ES_MULTILINE из них...


--------------------
...
PM   Вверх
tonchitos
Дата 11.6.2008, 15:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 447
Регистрация: 24.2.2007

Репутация: 1
Всего: 40



да я уж прочитала об этом в теме 

http://forum.vingrad.ru/forum/topic-211095...ry/0.html#entry

только ни фига, я так и сделала, все равно никакого многострочного текста


--------------------
– Люди забыли эту истину, – сказал Лис, – но ты не забывай: ты навсегда в ответе за всех, кого приручил.
PM MAIL   Вверх
Earnest
Дата 11.6.2008, 16:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5962
Регистрация: 17.6.2005
Где: Рязань

Репутация: 87
Всего: 183



А ES_AUTOSCROLL убрала?
Кроме того, проверь, не переопределяет ли этот Item функцию Create (вдруг он флаги отшибает?)
Ну и посмотри Спаем, какие у эдита получаются стили.... Если Спаем не получится, просто выведи в отладку где-нибудь (но не сразу после создания)...


--------------------
...
PM   Вверх
tonchitos
Дата 11.6.2008, 16:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 447
Регистрация: 24.2.2007

Репутация: 1
Всего: 40



Цитата(Earnest @  11.6.2008,  16:09 Найти цитируемый пост)
А ES_AUTOSCROLL убрала?

огаа... smile 

все равно...


--------------------
– Люди забыли эту истину, – сказал Лис, – но ты не забывай: ты навсегда в ответе за всех, кого приручил.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Visual C++/MFC/WTL | Следующая тема »


 




[ Время генерации скрипта: 0.3602 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.