Как спрятать свой заголовок активного окна?

  • Автор темы Guest
  • Дата начала
Статус
Закрыто для дальнейших ответов.
G

Guest

#1
Есть такой чат Network Assistant, и в нем можно смотреть заголовок активного окна. Как сделать так чтобы у меня всегда висела активная форма с заголовком, например, "Привет"?
 
Z

zubr

#2
Guest
Если тебе надо, чтобы твое окно всегда было поверх других окон, переопредели процедуру CreateParams в классе формы:
Код:
unit Unit1;

interface

uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs;

type
TForm1 = class(TForm)
private
 { Private declarations }
public
 { Public declarations }
 procedure CreateParams(var Params: TCreateParams); override;
end;

var
Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.CreateParams(var Params: TCreateParams);
begin
inherited CreateParams(Params);
Params.ExStyle := Params.ExStyle or WS_EX_TOPMOST;
end;

end.
 
B

Barmutik

#3
Заголовок активного окна.. какого окна? Твоей программы ? Или активной в текущий момент? Или активной у твоего собеседника?
 
M

mind

#4
Barmutik, активного в текущий момент!
В чате каждый может просмотреть заголовок активного сейчас окна у любого собеседника, так вот человек хочет, чтобы у него постоянно там было написано, например, "Привет, у меня открыто крутое окно", т.е. чтоб никто не видел реально открытого сейчас окна....
 
G

Guest

#5
Нееее, я хочу чтоб этой формы у меня не было видно, и чтоб заголовок оставался...
 
G

Guest

#6
...То есть чтоб она у меня всегда была активна.
 
B

Barmutik

#7
Извиняюсь если я не то ответил .. НО Я НИЧЕГО НЕ ПОНЯЛ!!!!

Товарищ Гость... киньте скрин и напишите что Вы конкретно хотите сделать...
 
Z

zubr

#8
Guest
Чтобы окно всегда было активно, попробуй такой вариант:
Поставь Hook на события мыши и клавиатуры. В обработчике Hook'а сделай примерно следующее:
Код:
function HookProc(Code: integer; wParam: Word;
 lParam: Longint): Longint;
var
 h:cardinal;
begin
  h:=FindWindow(nil, 'Привет');//окно которое должно быть активно
  If h<>0 then
  begin
   SetForegroundWindow(h);//активизируешь окно
   SetWindowPos(h, HWND_BOTTOM, 0, 0, 0, 0, SWP_NOSIZE or SWP_NOMOVE);//чтобы не душило другие окна
  end;
  result := CallNextHookEx(ourHook, Code, wParam, lParam);
end;
 
Статус
Закрыто для дальнейших ответов.