как связаны SysListView32 и BrowseForFolder

Тема в разделе "WASM.WIN32", создана пользователем letopisec, 27 ноя 2008.

  1. letopisec

    letopisec New Member

    Публикаций:
    0
    Регистрация:
    8 авг 2004
    Сообщения:
    228
    Взял пример из masm32 (C:\masm32\examples\exampl06\listview), упростил его до минимума. И вот что удивительно, ListView не будет виден в окне пока не вставишь процедуру:

    Код (Text):
    1. BrowseForFolder  proc
    2.          ret
    3.          push     hWnd
    4.          pop     bri.hwndOwner
    5.          mov     bri.pidlRoot, 0
    6.          mov     bri.pszDisplayName, 0
    7.          mov     eax, offset szSelect
    8.          mov     bri.lpszTitle, eax
    9.          mov     bri.ulFlags, BIF_RETURNONLYFSDIRS or BIF_DONTGOBELOWDOMAIN
    10.          mov     bri.lpfn, 0
    11.          mov     bri.lParam, 0
    12.          mov     bri.iImage, 0
    13.      INVOKE     SHBrowseForFolder, addr bri
    14.          ret
    15. BrowseForFolder  endp
    Причем эта процедура нигде не вызывается и заканчивается первым ret. Почему так?
     
  2. driver

    driver New Member

    Публикаций:
    0
    Регистрация:
    18 июн 2008
    Сообщения:
    302
    что за рет в начале ? и ... не может быть этого, что-то нахимичил, BrowseForFolder - после клика по файлу определяет имя файла и вызывает мессажебокс, для создания и инициации листвьева он не нужен
     
  3. q_q

    q_q New Member

    Публикаций:
    0
    Регистрация:
    5 окт 2003
    Сообщения:
    1.706
    letopisec
    > как связаны SysListView32 и BrowseForFolder
    Последняя обеспечивает инициализацию comctl32.dll. В твоей программе достаточно подключить comctl32.inc и comctl32.lib и разместить (именно разместить, а не вызвать) вызов InitCommonControls.
     
  4. letopisec

    letopisec New Member

    Публикаций:
    0
    Регистрация:
    8 авг 2004
    Сообщения:
    228
    спасибо я уже разобрался )
    http://www.wasm.ru/article.php?article=1001018

     
  5. mc black

    mc black Member

    Публикаций:
    0
    Регистрация:
    19 янв 2005
    Сообщения:
    213
    Адрес:
    Russia, N.Novgorod
    Пример использования listview можешь посмотреть в аттачах к этой теме.