Поиск:

Ответ в темуСоздание новой темы Создание опроса
> List Box/ MFC проблема, не отображаются даные в листе 
:(
    Опции темы
Sergio
  Дата 9.1.2008, 12:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 843
Регистрация: 28.7.2006
Где: Solar System-> Earth

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



Здраствуйте.
Сделал лист бокс с помошью MFC на апликухе. Но проблема в том что даные не отображаются сразу( Кгда я кликну по полям тогда их видно. Помогите решить проблему.
Заранее спасибо.
PM MAIL ICQ   Вверх
Earnest
Дата 9.1.2008, 15:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Код покажи: как создаешь, как добавляешь строки...


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


Опытный
**


Профиль
Группа: Участник
Сообщений: 843
Регистрация: 28.7.2006
Где: Solar System-> Earth

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



Вот код. Пишу плагин для Адоба:
Код

    ADMRect my_bounds;
    ADMListEntryRef my_entry;
    ADMHierarchyListRef hlist;
    ADMHierarchyListRef my_childList;

    // IDC_LIST is a static text box
    ADMItemRef itemRef = sADMDialog->GetItem( dlg, kmyList );

    // Destroy the static text box and create a hierarchy list box at that position, with the same size.
    sADMItem->GetBoundsRect( itemRef, &my_bounds );

    itemRef = sADMItem->Create( dlg, kADMUniqueItemID, kADMHierarchyListBoxType, 
                                &my_bounds, NULL, NULL, 0 );

    // get hierarchy list from item
    hlist = sADMItem->GetHierarchyList( itemRef );
    

    // Create five List Entries at the root level of the Hierarchy List.
    //In each of these, create one leaf List Entry.
    // Give each List Entry a unique ID and a unique Text.

    for( int index = 0; index < 5; index++ ) {
        char menuText[ 255 ];
//        sprintf( menuText, "Entry %d", index );
        my_entry = sADMHierarchyList->InsertEntry(hlist, index);
        sADMListEntry->SetText( my_entry, "Hello" );
        sADMListEntry->SetID( my_entry, index );
            my_childList = sADMListEntry->CreateChildList(my_entry );
        sADMListEntry->ExpandHierarchy( my_entry, false );
        sADMHierarchyList->SetDivided( my_childList, false );

        my_entry = sADMListEntry->Create( my_childList );
        sADMListEntry->SetText( my_entry, "UpHello" );
        sADMListEntry->SetID( my_entry, index + 1 );
    }
    
    //Set the edit text rectangle for a hierarchy list and its children
        ADMRect srect;
    sADMHierarchyList->GetEntryTextRect(hlist, &rect);
    srect.right += 400;

    sADMHierarchyList->SetEntryTextRectRecursive(hlist, &rect);
    long my_width = sADMHierarchyList->GetEntryWidth( hlist );
    sADMHierarchyList->SetEntryWidthRecursive( hlist, my_width + 500 );
    sADMListEntry->Select(my_entry, 4);
    sADMHierarchyList->Invalidate(hlist);

Проблема в том что лист "не хочет" перерисовыватся smile 
PM MAIL ICQ   Вверх
dizzy1984
Дата 10.1.2008, 12:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

Репутация: 10
Всего: 25



Похоже проблема в том, что окну не приходит сообщение WM_PAINT, ведь invalidate только помечает окно как порченое. Попробуй добавить в конец строку
Код

::SendMessage(/*хэндл лист бокса*/, WM_PAINT, 0, 0);

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


 




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


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

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