информационная безопасность
без паники и всерьез
 подробно о проекте
За кого нас держат?Все любят медSpanning Tree Protocol: недокументированное применение
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 Вредоносный релиз LiteLLM 
 Мощные индийские ключи 
 Срочные патчи для критических уязвимостей... 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / programming
Имя Пароль
ФОРУМ
если вы видите этот текст, отключите в настройках форума использование JavaScript
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
  • Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
  • Новичкам также крайне полезно ознакомиться с данным документом.
Так и должно быть, весна на дворе ;-) 15.04.03 18:45  Число просмотров: 1236
Автор: 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





Рейтинг@Mail.ru


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