Просмотр полной версии : Вопросы по делфи!
Вот возник вопрос .есть прога в делфи переписываю под вин апи... в обычном VCL коде ListBox1.DeleteSelected;
А под вин апи акк это зделать ?
Так не пашет :confused: :(
if (lParam = Button3) and (HiWord(wParam) = BN_CLICKED) then
begin
ListBox1.DeleteSelected;
end
zl0y, на винапи с листбоксом работают через сообщения, SendMessage
Создаёшь окно получаешь хэндл и шлёшь ему message. Ну ещё листбокс можно прописать в ресурсах.
http://wasm.ru/article.php?article=1001031
гемор вобщем)))
Зажимаешь Ctrl, кликаешь на нужную функцию, смотришь как Делфи сам это делает и выделяешь полезную часть и остального мусора.
Send an LB_GETCURSEL message to retrieve the index of the currently selected item, if any, in a single-selection list box.
LB_GETCURSEL
wParam = 0; // not used; must be zero
lParam = 0; // not used; must be zero
Parameters
This message has no parameters.
Return Values
In a single-selection list box, the return value is the zero-based index of the currently selected item. If there is no selection, the return value is LB_ERR.
An application sends an LB_DELETESTRING message to delete a string in a list box.
LB_DELETESTRING
wParam = (WPARAM) index; // index of string to delete
lParam = 0; // not used; must be zero
Parameters
index
Value of wParam. Specifies the zero-based index of the string to be deleted.
Windows 95: The wParam parameter is limited to 16-bit values. This means list boxes cannot contain more than 32,767 items. Although the number of items is restricted, the total size in bytes of the items in a listbox is limited only by available memory.
Return Values
The return value is a count of the strings remaining in the list. The return value is LB_ERR if the index parameter specifies an index greater than the number of items in the list.
HANDLE hListBox; // handle of listbox
SendMessage( hListBox, LB_DELETESTRING, SendMessage( hListBox, LB_GETCURSEL, 0, 0 ), 0 );
vBulletin® v3.8.14, Copyright ©2000-2026, vBulletin Solutions, Inc. Перевод: zCarot