[MASM32]Как связать форму с listview

Тема в разделе "WASM.BEGINNERS", создана пользователем RomASM, 8 ноя 2007.

  1. RomASM

    RomASM New Member

    Публикаций:
    0
    Регистрация:
    8 ноя 2007
    Сообщения:
    6
    Вообщем мне необходимо сделать некий мини тотал коммандер. На форме должен выбираться каталог и listview должен отображать файлы содержащиеся в этом каталоге. Я написал отдельно форму и listview, но не знаю как их связать друг с другом. Помогите пожалуйста.
    К посту прикрепляю исходник формы и listview а архиве.
     
  2. GMax

    GMax Member

    Публикаций:
    0
    Регистрация:
    3 июл 2006
    Сообщения:
    218
    Посмотри в папке:
    masm32\examples\EXAMPLE7\LISTVIEW\
     
  3. RomASM

    RomASM New Member

    Публикаций:
    0
    Регистрация:
    8 ноя 2007
    Сообщения:
    6
    Ну это просто пример листвью. У меня практически такой же. Мне то его надо с формой связать
     
  4. FatMoon

    FatMoon New Member

    Публикаций:
    0
    Регистрация:
    28 ноя 2002
    Сообщения:
    954
    Адрес:
    Russia
    RomASM
    Либо переносишь все нужное из form.asm в listview (в основном, то, что идет после .ELSEIF uMsg == WM_CREATE, не забывая естественно о соответствующих данных), либо переносишь процедуру InitListView и все, что с ней связано, в form.asm и вызываешь ее после "invoke SendMessage,hwndbutton1,WM_SETFONT,hFontN,1" =)) Ответ же элементарный. Первое проще, на мой взгляд

    Связать, не методом копи-пасте, все равно не получится.
     
  5. RomASM

    RomASM New Member

    Публикаций:
    0
    Регистрация:
    8 ноя 2007
    Сообщения:
    6
    FatMoon, попытался сделать как ты написал. Перенес некоторые франменты из form в listview.Вообщем листинг файлов выводится все рано на весь размер формы. А кнопка Обзор вообще не реагирует на мои клики, а при пролистывании списка нижняя часть кнопки стирается )
    Вот что получилось(исходник и exe-файл):
     
  6. FatMoon

    FatMoon New Member

    Публикаций:
    0
    Регистрация:
    28 ноя 2002
    Сообщения:
    954
    Адрес:
    Russia
    ну естественно! Надо ж еще правильные размеры для листвья указать теперь, чтоб на форме умещалось все и не накладывалось друг на друга. И обработку WM_COMMAND перенести, чтобы кнопка обзор что-то делала. Ну так поправь! [далее следует непереводимая игра слов на местном диалекте] Понятно ж все, раз у тебя кнопка - надо проверять, не нажата ли, если нажата - что-то делать.

    (если ничего не получится с размерами - сделай еще окно static, нужного размера, и создавай листвью в нем, указывая его как родительское)
     
  7. FatMoon

    FatMoon New Member

    Публикаций:
    0
    Регистрация:
    28 ноя 2002
    Сообщения:
    954
    Адрес:
    Russia
    Добавлю:
    размер контрола в данном случае определяется вызовом MoveVindow.

    А static в качестве родительского использовать нельзя :)))))) потому что тогда WM_NOTIFY уходят в стандартную процедуру из класса Static (они родительскому окну посылаются)



    (аттач удален за ненадобностью)
     
  8. RomASM

    RomASM New Member

    Публикаций:
    0
    Регистрация:
    8 ноя 2007
    Сообщения:
    6
    Листинг лист вью с неубиваемым процессом )
     
  9. FatMoon

    FatMoon New Member

    Публикаций:
    0
    Регистрация:
    28 ноя 2002
    Сообщения:
    954
    Адрес:
    Russia
    Неубиваемость как-то связано с оле32 и неправильным использованием shell-интерфейса (вернее, его неиспользованием), мне так кажется.

    Но замена финального 'ret' на 'invoke ExitProcess, eax' должно помочь точно.

    изменения - "убиваемость", кнопки, надпись "DIR!" вместо атрибутов для папок, мессаджбокс эбаут
    :))))