Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Неактивное окно [WinXP]


kingweb ©   (2004-02-16 16:02:00) 

Хочу создать неактивное окно поверх всех окон, но с возможностью щелкнуть мышкой по кнопке в этом окне???


GrayFace   (2004-02-18 05:45:00) [1]

type
 TForm1 = class(TForm)
   procedure FormCreate(Sender: TObject);
 private
   procedure WMMoving(var Message: TWMMoving);message WM_Moving;

 public
   { Public declarations }
 end;

var
 Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.WMMoving(var Message: TWMMoving);
var a:TRect;
begin
 inherited;
 a:=PRect(message.DragRect)^;
 SetWindowPos(handle,0,a.Left,a.Top,a.Right-a.Left,a.Bottom-a.Top,SWP_NOZORDER);
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
 SetWindowLong(Form1.Handle, GWL_EXSTYLE, GetWindowLong(Form1.Handle, GWL_EXSTYLE) or WS_EX_NOACTIVATE);
end;

end.


KingWeb   (2004-02-17 14:06:00) [2]

А точнее при клике по окошку, но не по кнопке на этом окошке, а если по кнопке то активным опять же остается прежнее окно, но выполняется процедура обработки на кнопке..


kingweb   (2004-02-17 14:04:00) [3]

А если нужно сделать так, чтобы при клике по окошку оно не обращало на это внимание и активным оставалось прежнее окно??? (грубо говоря disable-ное окно с возможностью работы с мышкой, желательно без ловушек)


GrayFace   (2004-02-17 07:05:00) [4]

А точнее SetWindowPos(Handle, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE or SWP_NOSIZE or SWP_NOACTIVATE or SWP_NOOWNERZORDER);


GrayFace   (2004-02-17 07:04:00) [5]

SetWindowPos(handle,HWND_TOPMOST,left,top,width,height,0);


Наверх

Титульная страница Поиск, карта сайта Написать письмо