|
Reservists Of Antichat - Level 6
Регистрация: 12.02.2006
Сообщений: 891
Провел на форуме: 1892597
Репутация:
836
|
|
PHP код:
//Определение колличества пунктов в ListBox
function ListBox_GetItemCount(hListBox: HWND): Integer;
begin
Result := SendMessage(hListBox, LB_GETCOUNT, 0, 0);
end;
//Удаление определенного пункта в ListBox
procedure ListBox_DeleteItem(hListBox: HWND; Index: Integer);
begin
SendMessage(hListBox, LB_DELETESTRING, Index, 0);
end;
//Удаление всех пунктов в ListBox
procedure ListBox_ClearItems(hListBox: HWND);
begin
SendMessage(hListBox, LB_RESETCONTENT, 0, 0);
end;
//Добавление пункта в ListBox
procedure ListBox_AddItem(hListBox: HWND; NewItem: String);
begin
SendMessage(hListBox, LB_ADDSTRING, 0, Integer(NewItem));
end;
//Добавление пункта в определенное место в ListBox
procedure ListBox_InsertItem(hListBox: HWND; Index: Integer; NewItem: String);
begin
SendMessage(hListBox, LB_INSERTSTRING, Index, Integer(NewItem));
end;
//Определение имени выделеного пункта в ListBox
function ListBox_GetSelectedItem(hListBox: HWND): string;
var
Index, len: Integer;
s: string;
buffer: PChar;
begin
Index := SendMessage(hListBox, LB_GETCURSEL, 0, 0);
len := SendMessage(hListBox, LB_GETTEXTLEN, wParam(Index), 0);
GetMem(buffer, len + 1);
SendMessage(hListBox, LB_GETTEXT, wParam(Index), lParam(buffer));
SetString(s, buffer, len);
FreeMem(buffer);
Result := s;
end;
//Определение номера выделеного пункта в ListBox
function ListBox_GetCountSelectedItem(hListBox: HWND): Integer;
var
Index, len: Integer;
s: string;
buffer: PChar;
begin
Index := SendMessage(hListBox, LB_GETCURSEL, 0, 0);
len := SendMessage(hListBox, LB_GETTEXTLEN, wParam(Index), 0);
GetMem(buffer, len + 1);
SendMessage(hListBox, LB_GETTEXT, wParam(Index), lParam(buffer));
SetString(s, buffer, len);
FreeMem(buffer);
Result := Index;
end;
//Определение имени пункта по номеру в ListBox
function ListBox_GetItem(hListBox: HWND; LbItem: Integer): string;
var
l: Integer;
buffer: PChar;
begin
l := SendMessage(hListBox, LB_GETTEXTLEN, LbItem, 0);
GetMem(buffer, l + 1);
SendMessage(hListBox, LB_GETTEXT, LbItem, Integer(buffer));
Result := StrPas(buffer);
FreeMem(buffer);
end;
//Выделение всех пунктов в ListBox
procedure ListBox_SelAllItems(hListBox: HWND);
var
CountItems, i: Integer;
begin
CountItems := SendMessage(hListBox, LB_GETCOUNT, 0, 0);
if CountItems = 0 then exit;
for i := 0 to CountItems do
SendMessage(hListBox, LB_SETSEL, Integer(true), i);
end;
//Выбор пункта
procedure ListBox_SelectedItem(hListBox: HWND; Index: Integer);
begin
SendMessage(hListBox, LB_SETCURSEL, Index, 0);
end;
(c) Lenin_Inc
__________________
*********************************
*Я не волшебник ٩(๏̯͡๏)۶, только учусь...*
*********************************
Программы на заказ
Times to fly...
|