Взял пример из masm32 (C:\masm32\examples\exampl06\listview), упростил его до минимума. И вот что удивительно, ListView не будет виден в окне пока не вставишь процедуру: Код (Text): BrowseForFolder proc ret push hWnd pop bri.hwndOwner mov bri.pidlRoot, 0 mov bri.pszDisplayName, 0 mov eax, offset szSelect mov bri.lpszTitle, eax mov bri.ulFlags, BIF_RETURNONLYFSDIRS or BIF_DONTGOBELOWDOMAIN mov bri.lpfn, 0 mov bri.lParam, 0 mov bri.iImage, 0 INVOKE SHBrowseForFolder, addr bri ret BrowseForFolder endp Причем эта процедура нигде не вызывается и заканчивается первым ret. Почему так?
что за рет в начале ? и ... не может быть этого, что-то нахимичил, BrowseForFolder - после клика по файлу определяет имя файла и вызывает мессажебокс, для создания и инициации листвьева он не нужен
letopisec > как связаны SysListView32 и BrowseForFolder Последняя обеспечивает инициализацию comctl32.dll. В твоей программе достаточно подключить comctl32.inc и comctl32.lib и разместить (именно разместить, а не вызвать) вызов InitCommonControls.