Форум: "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-69809           MystiX                2002-04-09 18:31  2002.04.22  
Help with mouse


1-69875           Rammst                2002-04-09 06:38  2002.04.22  
Размер файла


1-69928           Dimaiv                2002-04-09 20:39  2002.04.22  
Что делает процедура ProcessFile


6-69966           rambo69               2002-02-08 20:32  2002.04.22  
Снова сетевой трафик


3-69725           User_OKA              2002-04-01 09:48  2002.04.22  
ADO