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

Вниз

Перехват сообщения DoubleClick   Найти похожие ветки 

 
Student ©   (2009-08-29 22:50) [0]

Столкнулся с задачей: "Навигация по каталогам и файлам". Выбрал компонент 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). Спасибо


 
Германн ©   (2009-08-30 01:13) [1]

Спам :(


 
Сергей М. ©   (2009-08-31 08:41) [2]


> Student


С какой радости система будет поылать твоему классу сообщение wm_LButtonDblClk ? Окна-то у него нет ..


 
AntiZOG   (2009-09-05 09:35) [3]

Как вариант локальный хук.

Пишется намного проще глобального, так как не нужно межпроцессной коммуникации
Вот пример для установки глобального. Для локального можно большую часть кода выкинуть.
http://www.delphimaster.ru/articles/hooks/index.html



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

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

Наверх




Память: 0.47 MB
Время: 0.008 c
15-1311830801
George
2011-07-28 09:26
2011.11.20
Сравнение текстов


15-1311539404
Юрий
2011-07-25 00:30
2011.11.20
С днем рождения ! 25 июля 2011 понедельник


3-1266392510
Layner9
2010-02-17 10:41
2011.11.20
TPopupDataGridEh > DBLookupComboboxEh


15-1311798599
Юрий
2011-07-28 00:29
2011.11.20
С днем рождения ! 28 июля 2011 четверг


1-1274191918
Fantasy
2010-05-18 18:11
2011.11.20
Регулярные выражения