![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как программно кликнуть по заголовку одной из колонок ListView? [D5, XP]
ListViewColumnHeader © (2014-12-09 12:10:00)
TForm1.ListView1ColumnClick(Sender: TObject; Column: TListColumn);;
...
ListView1ColumnClick(self, TListColumn)
а что подставить в качестве TListColumn?
Ясно что не Column.Index, а что не знаю
Спасибо
Ega23 (2014-12-10 11:06:00) [1]
unit Unit18;
interface
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.ComCtrls, Vcl.StdCtrls;
type
TForm18 = class(TForm)
ListView1: TListView;
Button1: TButton;
Button2: TButton;
Button3: TButton;
procedure ListView1ColumnClick(Sender: TObject; Column: TListColumn);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form18: TForm18;
implementation
{$R *.dfm}
procedure TForm18.Button1Click(Sender: TObject);
begin
ListView1ColumnClick(nil, ListView1.Column[0]);
end;
procedure TForm18.Button2Click(Sender: TObject);
begin
ListView1ColumnClick(nil, ListView1.Column[1]);
end;
procedure TForm18.Button3Click(Sender: TObject);
begin
ListView1ColumnClick(nil, ListView1.Column[2]);
end;
procedure TForm18.ListView1ColumnClick(Sender: TObject; Column: TListColumn);
begin
ShowMessage(Column.Caption);
end;
end.
ListViewColumnHeader (2014-12-09 17:56:00) [2]Я вроде нигде не подставлял "русские буквы"
ПодставилListView2ColumnClick(self, ListView2.Columns[0]);
> ListView2ColumnClick(self, 0);
Здесь все просто:
Incompatible Types TListColumns and Integer
Это же почти очевидно
у меня обычный ShowMessage('Example'), то как мне "сымитировать вызов обработчика события"-junglecat © (09.12.14 12:26) [1]
Если не затруднит, подскажите как ...
Andy BitOff (2014-12-09 17:44:00) [3]Ega же тебе сказал. Поставь вместо русских букв в его коде 0 или 1 или 2
ListViewColumnHeader (2014-12-09 17:38:00) [4]> Ega23 © (09.12.14 16:06) [2]
Получаю Invalid class typecast
Программирую относительно недавно. Если предположить, что в
TForm1.ListView1ColumnClick(Sender: TObject; Column: TListColumn);
у меня обычный ShowMessage('Example'), то как мне "сымитировать вызов обработчика события"- junglecat © (09.12.14 12:26) [1]
Если не затруднит, подскажите как ...
Ega23 (2014-12-09 16:06:00) [5]
> а что подставить в качестве TListColumn?
ListView1.Columns[Индекс_колонки_клик_на_которой_имитируется]
Но в целом - см. [1]
junglecat (2014-12-09 12:26:00) [6]> ListView1ColumnClick(self, TListColumn)
это не программно кликнуть, а сымитировать вызов обработчика события.
Лучше то, что в этом обработчике, вынести в отдельный метод и его вызывать.