Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   С/С++, C#, Delphi, .NET, Asm (https://forum.antichat.xyz/forumdisplay.php?f=24)
-   -   Вопросы по делфи! (https://forum.antichat.xyz/showthread.php?t=37835)

zl0y 13.04.2007 00:54

Вопросы по делфи!
 
Вот возник вопрос .есть прога в делфи переписываю под вин апи... в обычном VCL коде
Код:

ListBox1.DeleteSelected;
А под вин апи акк это зделать ?
Так не пашет :confused: :(
Код:

if (lParam = Button3) and (HiWord(wParam) = BN_CLICKED) then
  begin
 ListBox1.DeleteSelected;
  end


taha 13.04.2007 09:14

zl0y, на винапи с листбоксом работают через сообщения, SendMessage
Создаёшь окно получаешь хэндл и шлёшь ему message. Ну ещё листбокс можно прописать в ресурсах.

http://wasm.ru/article.php?article=1001031

гемор вобщем)))

hidden 13.04.2007 09:38

Зажимаешь Ctrl, кликаешь на нужную функцию, смотришь как Делфи сам это делает и выделяешь полезную часть и остального мусора.

KEZ 13.04.2007 10:34

Цитата:

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 );


Время: 06:02