Форум: "WinAPI";
Текущий архив: 2003.01.13;
Скачать: [xml.tar.bz2];
ВнизКак получить элемент ListBox a??? Найти похожие ветки
← →
Cosmic (2002-11-24 21:58) [0]Как получить текст (в смысле значение) выделенного элемента ListBox"a при его выделении? ListBox создан при пом. CreateWindow. В обработке сообщения пишу так:
var
FoldersListBuffer: array [1..255] of Char;
Folders: integer; // handle listbox"a
...
wm_command :
begin
if (lParam = Folders) then
begin
Selection := SendMessage(Folders,LB_GETCURSEL,0,0);
SendMessage(Folders,LB_GETTEXT,Selection,Integer(@FoldersListBuffer));
MessageBoxA(0,PChar(@FoldersListBuffer),"www",0);
end;
...
Выдает два пустых MessageBox"a. Что я делаю неправильно?
← →
MBo (2002-11-24 22:18) [1]procedure TForm1.LB1Click(Sender: TObject);
var
Buffer: array [0..255] of Char;
Selection:Integer;
begin
Selection := SendMessage(LB1.Handle,LB_GETCURSEL,0,0);
SendMessage(LB1.Handle,LB_GETTEXT,Selection,Integer(@Buffer));
MessageBox(0,Buffer,"www",0);
end;
← →
apay (2002-11-25 00:12) [2](из хелпа!)
An LB_GETTEXTLEN message can be sent before the LB_GETTEXT message to retrieve the length, in characters, of the string.
Return Values
The return value is the length of the string, in characters, excluding the terminating null character. If index does not specify a valid index, the return value is LB_ERR.
Remarks
If you create the list box with an owner-drawn style but without the LBS_HASSTRINGS style, the buffer pointed to by the lpszBuffer parameter will receive the 32-bit value associated with the item (the item data).
если пишешь на WinAPI, внимательней с созданием окошек.
2 MBo © (24.11.02 22:18)
если юзать VCL, зачем вся эта бадья?
← →
MBo (2002-11-25 00:18) [3]>apay
>если юзать VCL, зачем вся эта бадья?
Он неправильно выводил Buffer в MessageBox, поэтому я тестовый пример сделал
Страницы: 1 вся ветка
Форум: "WinAPI";
Текущий архив: 2003.01.13;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.009 c