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

Тема в разделе "Delphi - FAQ", создана пользователем Guest, 8 ноя 2004.

Статус темы:
Закрыта.
  1. Guest

    Guest Гость

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

    zubr Гость

    Guest
    Если тебе надо, чтобы твое окно всегда было поверх других окон, переопредели процедуру CreateParams в классе формы:
    Код (Text):
    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.
     
  3. Barmutik

    Barmutik Гость

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

    mind Гость

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

    Guest Гость

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

    Guest Гость

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

    Barmutik Гость

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

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

    zubr Гость

    Guest
    Чтобы окно всегда было активно, попробуй такой вариант:
    Поставь Hook на события мыши и клавиатуры. В обработчике Hook'а сделай примерно следующее:
    Код (Text):
    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;
     
Загрузка...
Статус темы:
Закрыта.

Поделиться этой страницей