Столкнулся с задачей: "Навигация по каталогам и файлам". Выбрал компонент ShellListView. Сделал составной класс, вот код:
unit Unit2;
interface
uses
// system units
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Dialogs,
ExtCtrls, StdCtrls, IniFiles, Buttons,
// additional units
ShellCtrls;
type
TArchiveReports = class(TObject)
private
pnlMain : TPanel;
lvListView : TShellListView;
procedure MesDblClick (var MyMessage : TWMMouse); message wm_LButtonDblClk;
public
constructor Create;
end;
var
ArchiveReports : TArchiveReports;
implementation
uses
unit1;
constructor TArchiveReports.Create;
begin
inherited Create;
pnlMain := TPanel.Create(Form1);
with pnlMain do
begin
Align := alTop;
Height := 250;
BevelWidth := 1;
Font.Name := 'Courier New';
Font.Size := 12;
Font.Style := [fsBold];
Parent := Form1;
Show;
end;
lvListView := TShellListView.Create(pnlMain);
with lvListView do
begin
Width := pnlMain.Width div 2;
Height := pnlMain.Height;
Sorted := True;
ReadOnly := False;
HideSelection := False;
TabOrder := 1;
Parent := pnlMain;
Color := clGray;
end;
end;
procedure TArchiveReports.MesDblClick (var MyMessage : TWMMouse);
begin
ShowMessage ('Хэллоу ворлд');
end;
end.
Я, конечно, писал
lvListView.OnDblClick := MesDblClick;, но меня не устраивает данный обработчик, т.к. он после DblClick вызывает какае то другое сообщение, которое открывает файл. Т.е. мне как бы "перекрыть" надо это сообщение(которое DblClick). Спасибо