Легенда:
новое сообщение
закрытая нитка
новое сообщение
в закрытой нитке
старое сообщение
|
- Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
- Новичкам также крайне полезно ознакомиться с данным документом.
| | | |
Почитай про computer-based training (CBT) applications, в часности про WH_CBT. Это самый надёжный способ... 16.05.03 20:25 Число просмотров: 992
Автор: HandleX <Александр М.> Статус: The Elderman
|
|
<programming>
|
[asm, c++, delphi]Окно за которое не спрячешся 13.05.03 11:32
Автор: ASJinx Статус: Незарегистрированный пользователь Отредактировано 13.05.03 11:34 Количество правок: 1
|
Возможно ли сделать окно таким, чтобы другие окна при деактивации не прятались за него, а становились неактивными на его фоне? И если это можно, то как? Так же как десктоп.
|
|
[asm, c++, delphi]Окно за которое не спрячешься 15.05.03 13:22
Автор: Cyril <sc> Статус: Member Отредактировано 15.05.03 13:23 Количество правок: 1
|
> Возможно ли сделать окно таким, чтобы другие окна при > деактивации не прятались за него, а становились неактивными > на его фоне? И если это можно, то как? Так же как десктоп. Да это возможно, для этого необходимо обрабатывать
сообщение WM_MouseActivate
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
ComCtrls;
type
TForm1 = class(TForm)
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
procedure WM_MouseActivateEvent(var Message : TWMMouseActivate); message WM_MouseActivate;
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
{ TForm1 }
procedure TForm1.WM_MouseActivateEvent(var Message: TWMMouseActivate);
begin
Message.Result := MA_NOACTIVATE;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
WindowState := wsMaximized;
BorderStyle := bsNone;
end;
end.
---
|
| |
Спасибо, попробую 15.05.03 14:13
Автор: ASJinx Статус: Незарегистрированный пользователь
|
|
| | |
Попробовал... 15.05.03 16:42
Автор: ASJinx Статус: Незарегистрированный пользователь
|
Все работает, но есть траблы, например при щелчке на к.л. фигатень которая на этом окне такой вариант не проходит. Похоже придется хукериться.
И ещё - это если мышой, а если клавой (alt+tab) например, чтоб эффект был такойже?
|
| | | |
Почитай про computer-based training (CBT) applications, в часности про WH_CBT. Это самый надёжный способ... 16.05.03 20:25
Автор: HandleX <Александр М.> Статус: The Elderman
|
|
| | | |
Попробовал... 16.05.03 16:35
Автор: Cyril <sc> Статус: Member
|
> Все работает, но есть траблы, например при щелчке на к.л. > фигатень которая на этом окне такой вариант не проходит. MA_NOACTIVATE - Does not activate the window, and does not discard the mouse message.
MA_NOACTIVATEANDEAT - Does not activate the window, but discards the mouse message.
Попробуй возвращать в качестве результата MA_NOACTIVATEANDEAT
> Похоже придется хукериться. > И ещё - это если мышой, а если клавой (alt+tab) например, > чтоб эффект был такойже? Сделай так что бы в списке задач твое приложение отсутствовало,
тогда и проблемма отпадет
|
| | | | |
Будем делать, спасибо 19.05.03 10:27
Автор: ASJinx Статус: Незарегистрированный пользователь
|
> Сделай так что бы в списке задач твое приложение отсутствовало, > тогда и проблемма отпадет Оно уже отсутствует (надо было по другой причине).
|
|
|