Форум: "WinAPI";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.04.22;
Скачать: [xml.tar.bz2];




Вниз

ListBox на WinAPI 


Velocity   (2002-02-18 10:12) [0]

Привет всем! Помогите разобраться с такой проблемой - создаю объект ListBox на апи со списокм файлов корня С:\. Потом пытаюсь этот список обычными окнами вывести на экран - и окна вылазят пустые. Количество окон правильное - столько, сколько файлов и директорий в корне, т.е. ListBox вроде заполняется... Но LB_GETTEXT возвращает в item пустую строку. Что я делаю не так?
---собственно весь код---
var
i,res:Cardinal;
buffer:array [0..511] of Char;
item,p:string;
ListBox:HWND;
counter:Word;
t:Byte;
begin
p:="c:\*.*";
ListBox:=CreateWindow "ListBox",nil,LISTBOX,0,0,0,0,0,0,hInstance,nil);
SendMessage(ListBox,LB_RESETCONTENT,0,0);
SendMessage(ListBox,LB_DIR,DDL_DIRECTORY or DDL_ARCHIVE or DDL_HIDDEN or DDL_SYSTEM or DDL_READONLY,Longint(p));
counter:=SendMessage(ListBox,LB_GETCOUNT,0,0);
for t:=0 to counter do begin
item:="";
SendMessage(ListBox,LB_GETTEXT,t,Longint(item));
MessageBox(0,PChar(item),PChar("title"),MB_OK);
end;
DestroyWindow(ListBox);
end;



Velocity   (2002-02-19 05:49) [1]

Неужели никто не знает? Неохота юзать StdCtrls...



Suntechnic   (2002-02-19 06:43) [2]

Последний параметр в SendMessage(ListBox,LB_GETTEXT,t,Longint(item));
это не string а PChar. У тебя вон там какой-то массив Char обьявлен, только что-то не видно где он используется.



Evgeny   (2002-02-19 06:54) [3]

var
CurDir : array[byte] of Char;

...
GetCurrentDirectory(SizeOf(CurDir), CurDir);
DlgDirList(Wnd, CurDir, ListBox, 0, DDL_DIRECTORY);
...
ListBox - идентификатор
Wnd - хэндл окна, содержащего ListBox

Это будет работать.



Velocity   (2002-02-19 11:24) [4]

>All
Большое спасибо, щас попробую...




Форум: "WinAPI";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.04.22;
Скачать: [xml.tar.bz2];




Наверх





Память: 0.72 MB
Время: 0.025 c
4-70058           Alexeyk               2002-02-18 11:22  2002.04.22  
Создание окна средствами WinAPI


1-69835           Lego                  2002-04-11 02:50  2002.04.22  
Как остановить ?


3-69679           Filat                 2002-03-29 11:54  2002.04.22  
Как правильно подключить Access2000 и MS SQL Server 7.0?


1-69821           hooky-mars            2002-04-10 18:38  2002.04.22  
SystemTray&Windows


7-70036           __Dima                2001-10-24 12:30  2002.04.22  
Защита программы