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

Вниз

Событие для 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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.52 MB
Время: 0.037 c
2-1164713743
Organ
2006-11-28 14:35
2006.12.17
ini-настройки из строки


2-1164816550
dasha
2006-11-29 19:09
2006.12.17
ShellExecute


15-1164646085
ferr
2006-11-27 19:48
2006.12.17
Как много нам открытий чудных...


15-1164462327
TIF
2006-11-25 16:45
2006.12.17
>>>>> Скачать Delphi >>>>>


2-1164607754
vitv
2006-11-27 09:09
2006.12.17
Edit[i].text-возможно ли это?





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский