информационная безопасность
без паники и всерьез
 подробно о проектеRambler's Top100
Spanning Tree Protocol: недокументированное применениеСтрашный баг в Windows
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 Бэкдор в xz/liblzma, предназначенный... 
 Три миллиона электронных замков... 
 Doom на газонокосилках 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / programming
Имя Пароль
ФОРУМ
если вы видите этот текст, отключите в настройках форума использование JavaScript
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
  • Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
  • Новичкам также крайне полезно ознакомиться с данным документом.
Так и должно быть, весна на дворе ;-) 15.04.03 18:45  Число просмотров: 998
Автор: Cyril <sc> Статус: Member
<"чистая" ссылка>
> ...skipped...
> без перехвата никак ...
странно, написал маленький примерчик, все работает
хотелось бы узнать поподробней как создавал объект класса
TShellListView у меня нет( delphi5) поэтому точно проверить не могу
type
  TForm1 = class(TForm)
    procedure FormCreate(Sender: TObject);
  end;

  TMyListBox = class(TCustomListBox)
    procedure DBC(var msg: TWMMouse); message WM_LBUTTONDBLCLK;
  end;
var
  Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.FormCreate(Sender: TObject);
var
  ListBox : TMyListBox;
begin
  ListBox := TMyListBox.Create(self);
  Listbox.Parent := self;
end;

{ MyListBox }

procedure TMyListBox.DBC(var msg: TWMMouse);
begin
  ShowMessage('AAA');
end;


---
<programming>
Простой вопрос, а инфы дома... 14.04.03 13:38  
Автор: ASJinx Статус: Незарегистрированный пользователь
<"чистая" ссылка>
а я на работе ...
Простой пример перехвата сообщения на дельфе, plz
Что даже help не работает? 14.04.03 16:39  
Автор: Cyril <sc> Статус: Member
<"чистая" ссылка>
> а я на работе ...
> Простой пример перехвата сообщения на дельфе, plz

type
TTextBox = class(TCustomControl)
private
procedure WMChar(var Message: TWMChar); message WM_CHAR;
...
end;

implementation
....

procedure TTextBox.WMChar(var Message: TWMChar);
begin
if Chr(Message.CharCode) = #13 then
ProcessEnter
else
inherited;
end;
Похоже у меня лыжи не едут :(((( 15.04.03 11:23  
Автор: ASJinx Статус: Незарегистрированный пользователь
<"чистая" ссылка>
Допусти у меня следующее

...
type
TFignia = class(TShellListView)
protected
procedure DBC(var msg: TWMMouse); message wm_LButtonDblClk;
end;
....
implementation

procedure TFignia.DBC(var msg: TWMMouse);
begin
showmessage('aaaa');
end;

Я так понимаю, что когда я дважды щелкаю по VCL - TShellListView, то должно выскочить 'aaaa'. Но того нет. Меняем TShellListView на ТCustom... эффект тотже.

Если тоже самое сделать в родном классе формы, т.е.
type
TForm1 = class(TForm)
... // всякие компоненты и т.д.
protected
procedure DBC(var msg: TWMMouse); message wm_LButtonDblClk;
end;

...

procedure TForm.DBC(var msg: TWMMouse);
begin
showmessage('aaaa');
end;
...
То все работает, но только если щелкаем по форме.
Мне надо для TShellListView, или вообще для всего, куда нибудь щелкаем и перехват.
На возможный вопрос почему я не юзаю события отвечаю, что например мне надо проверить popup, системный он или нет, а без перехвата никак ...
Так и должно быть, весна на дворе ;-) 15.04.03 18:45  
Автор: Cyril <sc> Статус: Member
<"чистая" ссылка>
> ...skipped...
> без перехвата никак ...
странно, написал маленький примерчик, все работает
хотелось бы узнать поподробней как создавал объект класса
TShellListView у меня нет( delphi5) поэтому точно проверить не могу
type
  TForm1 = class(TForm)
    procedure FormCreate(Sender: TObject);
  end;

  TMyListBox = class(TCustomListBox)
    procedure DBC(var msg: TWMMouse); message WM_LBUTTONDBLCLK;
  end;
var
  Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.FormCreate(Sender: TObject);
var
  ListBox : TMyListBox;
begin
  ListBox := TMyListBox.Create(self);
  Listbox.Parent := self;
end;

{ MyListBox }

procedure TMyListBox.DBC(var msg: TWMMouse);
begin
  ShowMessage('AAA');
end;


---
Так и должно быть, весна на дворе ;-) 16.04.03 10:46  
Автор: ASJinx Статус: Незарегистрированный пользователь
<"чистая" ссылка>
Знаешь, таже самая фигня, но не работает.
По крайней мере с компанентом TShellListView я разобрался. Пришлось править сам компанент, хоть он и борлондовский но так глючно написан. У меня messagи в нем не перехватывались, т.к. они в нем перехватывались раньше, так что я в нем все сделал, что мне надо и перекомпилил (слава богу там демосы есть). Хотя таже самая фигня с ListBox-ом не работает. Может быть Дельфа глючная? У меня 6-я. А TShellListView гдето на панели компанентов в конце валяется, я его там случайно заметил (это чтото вроде рабочего стола, но глюкавое). Есть ли он в 5-ом я не знаю.
[C++] Простой вопрос, а инфы дома... 14.04.03 15:15  
Автор: Tamas Статус: Member
<"чистая" ссылка>
> а я на работе ...
> Простой пример перехвата сообщения на дельфе, plz

а прокакие сообшения собствено идет речь ???
Об обычных виндовозовскиз 14.04.03 16:16  
Автор: ASJinx Статус: Незарегистрированный пользователь
<"чистая" ссылка>
WM сообщения перед вызовом API
1




Rambler's Top100
Рейтинг@Mail.ru


  Copyright © 2001-2024 Dmitry Leonov   Page build time: 0 s   Design: Vadim Derkach