Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2003.07.03;
Скачать: [xml.tar.bz2];

Вниз

Помогите получить 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.01 c
3-7349
Катенок
2003-06-10 09:34
2003.07.03
Delphi 6 база foxpro?


1-7385
Mishenka
2003-06-22 22:22
2003.07.03
Как в TreeView определить событие щелчка мыши над узлом?


1-7409
OlDemon
2003-06-20 08:19
2003.07.03
Появление дочерних окон


7-7742
demonyator
2003-04-14 23:49
2003.07.03
Как в XP спрятаться от ALT+TAB?


3-7289
Stelius
2003-06-07 22:54
2003.07.03
По поводу сортировки





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский