Форум: "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.02 c
14-70022          Alexandr_             2002-03-13 12:35  2002.04.22  
Где-то читал про программу которая exe_шник.....


3-69738           Potok                 2002-04-02 05:43  2002.04.22  
Данные


3-69676           vopros                2002-03-29 15:34  2002.04.22  
Почему русскую букву н не воспринимает Locate?


1-69935           Shreck                2002-04-09 21:27  2002.04.22  
Как проверить существует ли в listbox1.items строка из edit1.text


14-70014          Иван Шихалев          2002-03-17 14:09  2002.04.22  
to Merlin