Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.07.03;
Скачать: CL | DM;

Вниз

Помогите получить ListBox.ItemIndex на onMouseMove   Найти похожие ветки 

 
Gogol   (2003-06-23 12:35) [0]

или каким-либо другим способом. Можно дать ссылку, т.е. ткнуть носом. Спасибо


 
Семен Сорокин ©   (2003-06-23 12:37) [1]

TListBox(Sender).ItemIndex


 
Skier ©   (2003-06-23 12:38) [2]

А что Sender и кастинг уже отменили ? :)


 
Gogol   (2003-06-23 12:41) [3]

2 Семен Сорокин © (23.06.03 12:37)
2 Skier © (23.06.03 12:38)
Спасибо


 
Zz_   (2003-06-23 12:44) [4]

LB_ITEMFROMPOINT


 
Palladin ©   (2003-06-23 13:00) [5]


> Zz_

Извините :) я не много не вкурил.
Я понимаю, Вы внимательно ознакомились с предыдущими постами и, при всей Вашей мудрости, обоснованно решили, что ни один из них не отражает реальности! Да же сам вопрошающий в силу своей, с Вашей точки зрения, недальновидности, этого не осознал. Это все прекрасно.
Но все таки позволю себе сделать Вам замечание. API это прекрасно, это позволяет уменьшать программы в размере, это позволяет показывать свой код друзьям и наслаждатся их вопросами и возгласами "Ну ты крут? А что это? А зачем?"... Но многие API функции в условиях написания программ с использованием VCL теряют свой шарм. Ибо очень часто тоже самое можно реализовать и не посылая сообщение. То есть всего лишь вызвать метод ItemAtPos у класса TListBox(TCustomListBox), попробуйте, я уверен Вам понравится, а завидя строчку API с опросом ListBox у товарища, Вы сможете честно его опустить, указав ему, что делается это гораздо проще и приятней, не нарушая традиций VCL.


 
Zz_   (2003-06-23 13:04) [6]

>>Palladin © (23.06.03 13:00)

Гы


 
Gogol   (2003-06-23 13:56) [7]

Видимо Palladin © (23.06.03 13:00)слишком прав. Я не смог реализовать предложений. Скорее всего чего-то крупно недопонимаю.
Заполните, если это не особо затруднит:

procedure TForm1.ListBox1MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
begin
...
end;


 
VMcL ©   (2003-06-23 14:01) [8]

procedure TForm1.ListBox1MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
begin
> Семен Сорокин © (23.06.03 12:37)<
end;


 
Palladin ©   (2003-06-23 14:01) [9]

:)) а чем тебе ее заполнить то? :))) комментариями чтоли?


 
VMcL ©   (2003-06-23 14:04) [10]

>Gogol (23.06.03 13:56)

VMcL © (23.06.03 14:01) --- Sorry, не то.

procedure TForm1.ListBox1MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
begin
TListBox(Sender).ItemAtPos(Point(X, Y), ...)
end;


 
Gogol   (2003-06-23 14:07) [11]

Прошу извинить, но изначально мне неоходимо получить ItemIndex, на мете расположения мыши в ListBox-е


 
Palladin ©   (2003-06-23 14:13) [12]

ItemIndex - это текущий выделеный элемент, он никак не завист от места расположения

Номер пункта над которым в данный момент находится курсор


procedure TForm1.ListBox1MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
begin
(Sender as TListBox).ItemIndex:=(Sender as TListBox).ItemAtPos(Pointer(x,y),true);
end;



 
Skier ©   (2003-06-23 14:15) [13]

procedure TForm1.ListBox1MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
begin
with Sender as TListBox do ItemIndex := ItemAtPos(Point(x,y), True);
end;




 
Gogol   (2003-06-23 14:32) [14]

Спасибо всем. С текущим выделенным элементом у меня проблем не возникает. Я хотел реализовать соответствующие Hint-ты при движении мыши над любой строкой ListBox. Судя по высказывания м(без выделения строки) реализовать это невозможно, а жаль


 
Palladin ©   (2003-06-23 14:34) [15]

хм, это судя по чьим высказываниям ты так решил?


 
Семен Сорокин ©   (2003-06-23 14:34) [16]

Gogol (23.06.03 14:32)
ты не прав, реализовать можно и без выделения


 
Skier ©   (2003-06-23 14:36) [17]

>Gogol (23.06.03 14:32)
Это Вы, батенька, сильно поторопились...:)


 
Gogol   (2003-06-23 14:47) [18]

По высказыванию "ItemIndex - это текущий выделеный элемент"


 
Palladin ©   (2003-06-23 14:50) [19]

нет слов... одни эмоции...


 
Skier ©   (2003-06-23 14:51) [20]

procedure TForm1.ListBox1MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
begin
with Sender as TListBox do Hint := Items[ItemAtPos(Point(x,y), True)];
end;


 
Palladin ©   (2003-06-23 14:51) [21]

тебе привели две реализации как получить номер пункта при возникновении события OnMouseMove и ты нихрена, извинясь за выражение, не просек тему...



Страницы: 1 вся ветка

Текущий архив: 2003.07.03;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.02 c
3-7333
snake1977
2003-06-10 10:32
2003.07.03
Advantage Database Server


1-7474
Doc
2003-06-20 13:07
2003.07.03
Вопрос по Стэку и все что с ним связано.


1-7458
ASt
2003-06-23 15:01
2003.07.03
Процедура BlockWrite


8-7554
Nesh Briges
2003-03-21 00:54
2003.07.03
Проблема с PlayList!


1-7501
фтщв
2003-06-20 23:34
2003.07.03
Двусторонняя печать