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

Вниз

Событие для ListBox   Найти похожие ветки 

 
ka1n   (2006-11-23 14:10) [0]

Какое событие отвечает за смену сфокусированного элемента?


 
Elen ©   (2006-11-23 14:17) [1]

попробуй отлови LBN_SELCHANGE


 
clickmaker ©   (2006-11-23 14:18) [2]

LB_SETCARETINDEX


 
Elen ©   (2006-11-23 14:22) [3]

А еще : Для разгона мысли
unit Unit1;

interface

uses
 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
 Dialogs, StdCtrls;

type
 TForm1 = class(TForm)
   ListBox1: TListBox;
 procedure q(var m:TMsg); message  wm_command;
 private
   { Private declarations }
 public
   { Public declarations }
 end;

var
 Form1: TForm1;

implementation

{$R *.dfm}
procedure tform1.q;
begin
 caption:=inttostr(ListBox1.ItemIndex);
end;
end.


 
ka1n   (2006-11-23 14:52) [4]

сенксь, буду пробовать


 
ЮЮ ©   (2006-11-24 02:35) [5]


> clickmaker ©   (23.11.06 14:18) [2]


Тёзку-то знать надо :)

TListBox.OnClick


 
Elen ©   (2006-11-24 07:42) [6]


> Тёзку-то знать надо
TListBox.OnClick

А если мышка бастует?


 
Loginov Dmitry ©   (2006-11-24 07:43) [7]

> А если мышка бастует?


И что?


 
Elen ©   (2006-11-24 08:04) [8]


> И что

OnClick клавиатурное управление не словит


 
ЮЮ ©   (2006-11-24 09:43) [9]


> OnClick клавиатурное управление не словит


Откуда такое мнение?

P/S/ Я прежде чем советовать, не боюсь собрать проект. В этом случае поступил также.


 
Elen ©   (2006-11-24 09:57) [10]


> Откуда такое мнение?
>
> P/S/ Я прежде чем советовать, не боюсь собрать проект. В
> этом случае поступил также

Я тоже так поступаю -  Попробуй собери листбокс и лови передвижения в нем курсора клавой в OnClick.


 
Elen ©   (2006-11-24 09:59) [11]


> 10] Elen

Пардон. ЮЮ - верно. То у меня директива message мешала. [5] правильно!


 
clickmaker ©   (2006-11-24 10:08) [12]


> [5] ЮЮ ©   (24.11.06 02:35)
>
> > clickmaker ©   (23.11.06 14:18) [2]
>
>
> Тёзку-то знать надо :)
>
> TListBox.OnClick

человек слишком витиевато вопрос задал ) я подумал, что он хочет пунктирную рамку, фокус то есть, с одного элемента на другой передвинуть


 
ka1n   (2006-11-24 13:36) [13]


> procedure tform1.q;
> begin
>  caption:=inttostr(ListBox1.ItemIndex);
> end;
> end


простите а какой параметр должен быть у функции tform1.q(???)


 
Anatoly Podgoretsky ©   (2006-11-24 14:04) [14]

> ka1n  (24.11.2006 13:36:13)  [13]

Никакого, пример правильный и это не функция!


 
Leonid Troyanovsky ©   (2006-11-25 12:06) [15]


> ЮЮ ©   (24.11.06 02:35) [5]

> TListBox.OnClick


Выделение может смениться не только юзером,
но и тем же LB_SETCARETINDEX.
Т.е., в общем случае - LBN_SELCHANGE

--
Regards, LVT.


 
Leonid Troyanovsky ©   (2006-11-25 13:49) [16]


> Elen ©   (23.11.06 14:22) [3]

> А еще : Для разгона мысли


inherited;

--
Regards, LVT.


 
ka1n   (2006-11-27 10:28) [17]


> {$R *.dfm}
> procedure tform1.q;
> begin
>  caption:=inttostr(ListBox1.ItemIndex);
> end;
> end.


Простите мою тупость, но я чето не пойму как работает и что делает процедура?


 
Palladin ©   (2006-11-27 10:35) [18]

За метлой, короче...


 
Elen ©   (2006-11-27 10:35) [19]


> как работает и что делает процедура

Процедура срабатывает когда проге приходит сообщение Command и выполняет вывод на капшин позицию выделенного элемента списка. (Это не тупость а любопытство - а я имею плохую привычку неточно писать код, как попало лиш бы работало, посему прошу прощения за непонятки - 1000 извинений)


> Leonid Troyanovsky

Яснышко. Получается OnClick все таки не всегда сработает, но зачастую его бывает с головой достаточно.


 
ЮЮ ©   (2006-11-27 10:37) [20]

Простите мою тупость, но я чето не пойму как работает и что делает процедура?

а она работает? Там даже список параметров не совпадает с объявленным.
по задумке при получении формой сообщения wm_command выводит в заголовок формы индекс текущей строки в  ListBox1.

или
Разгоняет мысль, иб ибо именно так сказано в
Elen ©   (23.11.06 14:22) [3]
А еще : Для разгона мысли


З.Ы. Тебе точно не достаточно стандартного дельфийского обработчика OnClick?


 
Leonid Troyanovsky ©   (2006-11-27 12:24) [21]


> ЮЮ ©   (27.11.06 10:37) [20]

> а она работает? Там даже список параметров не совпадает
> с объявленным.

Object Pascal Language Guide: The implementation section:
..
You can omit parameter lists from public procedure and function headings
when you define them in the implementation section; but if you include a parameter list, it must match the declaration in the interface section exactly.

--
Regards, LVT.


 
ЮЮ ©   (2006-11-28 02:29) [22]


> Leonid Troyanovsky ©   (27.11.06 12:24) [21]


Честно признаюсь - не знал. А, учитывая известную строгость Object Pascal, даже и не предполагал, что такое возможно. На на вооружение вряд ли возьму :)


 
Elen ©   (2006-11-28 09:18) [23]


> Тебе точно не достаточно стандартного дельфийского обработчика
> OnClick?

Достаточно. Просто выкрутасов захотелось. И Мне казалось что если это Click то он должен только на клик реагировать, а оно вон как...

>
> а она работает?

Ато!. ;)


 
ka1n   (2006-12-01 14:50) [24]

простите, но это у меня не работает


 
ka1n   (2006-12-01 14:50) [25]

простите, но это у меня не работает


 
ka1n   (2006-12-01 14:51) [26]

я имею ввиду процедуру Q


 
Elen ©   (2006-12-01 14:52) [27]


> ka1n

Тогда используй OnClick


 
Elen ©   (2006-12-01 14:54) [28]


> простите, но это у меня не работает

Значит чтото кроме этого не так прописано


 
Leonid Troyanovsky ©   (2006-12-02 12:12) [29]


> ka1n   (01.12.06 14:51) [26]

> я имею ввиду процедуру Q


LBN_SELCHANGE отсылается окну парента.
Т.е., если листбокс лежит, скажем, на панели,
то подобная процедура не сработает.

--
Regards, LVT.


 
Leonid Troyanovsky ©   (2006-12-02 12:15) [30]


> Elen ©   (01.12.06 14:54) [28]

> Значит чтото кроме этого не так прописано

Ну, у тебя тоже не все гладко.

Т.е., должно быть что-то вроде:

procedure tform1.q(var msg: TWMCommand);
begin
inherited;
if msg.NotifyCode = LBN_SELCHANGE then
  caption:=inttostr(ListBox1.ItemIndex);
end;

--
Regards, LVT.


 
Leonid Troyanovsky ©   (2006-12-02 12:20) [31]


> Leonid Troyanovsky ©   (25.11.06 12:06) [15]

> Выделение может смениться не только юзером,

Смениться оно, конечно, может.
Но, LBN_SELCHANGE уведомлять об этом не обязан,
sorry.

--
Regards, LVT.



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

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

Наверх




Память: 0.54 MB
Время: 0.049 c
15-1164373587
Сатир
2006-11-24 16:06
2006.12.17
Ваше к этому отношение. Какие будут версии?


2-1164547518
Мишок
2006-11-26 16:25
2006.12.17
автозагрузка


2-1164738540
Hollander
2006-11-28 21:29
2006.12.17
Не могу прочитать файл ;-)


8-1146672134
MegaWolf
2006-05-03 20:02
2006.12.17
WAV-to-GSM конвертор


3-1160466849
Dmitry_Chernov
2006-10-10 11:54
2006.12.17
Аналог периодического реквизита в Delphi