Форум: "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.027 c
1-69920           OrlovSergei           2002-04-09 11:32  2002.04.22  
Как сохранить нарисованное?


14-70010          Nikolay               2002-03-15 12:11  2002.04.22  
Где можно почитать про итерацию?


4-70061           Маслов Толик          2002-02-15 12:47  2002.04.22  
Как отследить запуск других приложений и при необходимости запетить его?


6-69946           knyaz17               2002-02-11 12:33  2002.04.22  
Не работает код из этой конференции!!!


14-70007          lipskiy               2002-03-16 17:07  2002.04.22  
Как это правильно перевисти и что это значит?