Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.05.02;
Скачать: CL | DM;

Вниз

Как сделать так чтоб окно было всегда на первом плане   Найти похожие ветки 

 
graY ©   (2004-03-08 09:20) [0]

Функция Formstyly:=onstayonstope не помогает.Вот думаю если    

с таймером поставить какуюнибудь функцию типа апликашион.ресторе но апишную.Подскажите пожайлуста


 
Gero ©   (2004-03-08 09:34) [1]

> Функция Formstyly:=onstayonstope не помогает

И не удивительно. Попробуй FormStyle := fsStayOnTop.


 
graY ©   (2004-03-08 10:18) [2]

речь не про грамотность это я так написал.Все равно не помогает что fsStayOnTop что Fsstayontop если у приложения 2 окна то это почемуто не работает.Один раз щелкнеш на месте второй раз щелкаеш уплывает назад


 
DDA ©   (2004-03-08 12:23) [3]

//-------------------------------
function ForceForegroundWindow(hwnd: THandle): boolean;
const
SPI_GETFOREGROUNDLOCKTIMEOUT = $2000;
SPI_SETFOREGROUNDLOCKTIMEOUT = $2001;
var
ForegroundThreadID: DWORD;
ThisThreadID: DWORD;
timeout: DWORD;
begin
if IsIconic(hwnd) then
  ShowWindow(hwnd, SW_RESTORE);

if GetForegroundWindow = hwnd then
  Result := True
else
begin
  // Windows 98/2000 doesn"t want to foreground a window when some other
  // window has keyboard focus
  if ((Win32Platform = VER_PLATFORM_WIN32_NT) and (Win32MajorVersion > 4))
    or
    ((Win32Platform = VER_PLATFORM_WIN32_WINDOWS) and
    ((Win32MajorVersion > 4) or ((Win32MajorVersion = 4) and
    (Win32MinorVersion > 0)))) then
  begin
    // Code from Karl E. Peterson, www.mvps.org/vb/sample.htm
    // Converted to Delphi by Ray Lischner
    // Published in The Delphi Magazine 55, page 16
    Result := False;
    ForegroundThreadID := GetWindowThreadProcessID(GetForegroundWindow,
      nil);
    ThisThreadID := GetWindowThreadPRocessId(hwnd, nil);
    if AttachThreadInput(ThisThreadID, ForegroundThreadID, True) then
    begin
      BringWindowToTop(hwnd); // IE 5.5 related hack
      SetForegroundWindow(hwnd);
      AttachThreadInput(ThisThreadID, ForegroundThreadID, False);
      Result := (GetForegroundWindow = hwnd);
    end;

    if not Result then
    begin
      // Code by Daniel P. Stasinski
      SystemParametersInfo(SPI_GETFOREGROUNDLOCKTIMEOUT, 0, @timeout, 0);
      SystemParametersInfo(SPI_SETFOREGROUNDLOCKTIMEOUT, 0, TObject(0), SPIF_SENDCHANGE);
      BringWindowToTop(hwnd); // IE 5.5 related hack
      SetForegroundWindow(hWnd);
      SystemParametersInfo(SPI_SETFOREGROUNDLOCKTIMEOUT, 0, TObject(timeout), SPIF_SENDCHANGE);
    end;
  end
  else
  begin
    BringWindowToTop(hwnd); // IE 5.5 related hack
    SetForegroundWindow(hwnd);
  end;

  Result := (GetForegroundWindow = hwnd);
end;
end; { ForceForegroundWindow }
//-----------------------------------------
procedure TForm1.Timer1Timer(Sender: TObject);
begin
 ForceForegroundWindow(Application.Handle);
end;


 
graY ©   (2004-03-08 16:59) [4]

А если посерьёзнее без вирусов


 
NAlexey ©   (2004-03-09 08:46) [5]

>graY ©   (08.03.04 16:59) [4]
Каких таких вирусов?


 
Reindeer Moss Eater ©   (2004-03-09 11:15) [6]

Как сделать так чтоб окно было всегда на первом плане

1. Думаем -  а возможно ли такое?.
2. Допустим, что это возможно.
3. Создаем программу с таким окном.
4. Запускаем её.
5. А потом запускаем вторую копию такой программы.
6. Переходим у п.1



Страницы: 1 вся ветка

Текущий архив: 2004.05.02;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.033 c
7-1078887783
Максим
2004-03-10 06:03
2004.05.02
COM порты


1-1081997359
an-na2002
2004-04-15 06:49
2004.05.02
лишняя пустая строка


3-1081261443
Виталий Панасенко
2004-04-06 18:24
2004.05.02
Два вопроса: MS SQL и PReport


11-1061807748
electric
2003-08-25 14:35
2004.05.02
Как в KOL отправить письмо?


6-1078052415
Esc
2004-02-29 14:00
2004.05.02
Packet driver or ...???