Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > full screen mode


Автор: СЭНСЭЙ 2.10.2017, 05:24
Код

VideoMode(800,600,32);
Form1.BorderStyle:=bsNone;
Form1.WindowState:=wsMaximized;
Form1.FormStyle := fsStayOnTop;


все равно панель задач вин 10 остается сверху
если alt+tab прокрутить то пропадает

И еще как сделать что бы при нажатии alt+tab возвращало исходный граф режим?

Автор: СЭНСЭЙ 2.10.2017, 19:25
Ребятки, прошу прощения
нашел как сделать.
Были старые хуки которые убирали фокус с формы. Я это делал для того что бы клавиши перехватывать. Это было до того как стал использовать RegisterHotKey. 
Безумные идеи перехватывать ТАБ. И еще не помню уже какие причины.
Пока Хоткеи не приручил были танцы с бубном.

оставлю тут примеры

Хук перехвата Alt+Tab и сворачивания приложения

http://delphi-kb.blogspot.com.ar/2009/12/minimize-application-by-pressing-alt.html

и смена видео режима 
Код

var
swidth, sheight: integer;
.....

function VideoMode(screenWidth, screenHeight: Word; pixelDepth: Byte): Boolean;
var dmScreenSettings: DEVMODE;
begin
  ZeroMemory(@dmScreenSettings, SizeOf(dmScreenSettings));
  With dmScreenSettings do begin
    dmSize       := SizeOf(dmScreenSettings);
    dmPelsWidth  := screenWidth;
    dmPelsHeight := screenHeight;
    dmBitsPerPel := pixelDepth;
    dmFields     := DM_PELSWIDTH or
                    DM_PELSHEIGHT or
                    DM_BITSPERPEL;
  end;

  if (ChangeDisplaySettings(dmScreenSettings, CDS_FULLSCREEN) =
      DISP_CHANGE_FAILED) then begin
    Result := False;
    Exit;
  end;

  Result := True;
end;

procedure TForm1.OnRestore(Sender: TObject);
begin
Videomode(800,600,32);
  end;

procedure TForm1.OnMinimize(Sender: TObject);
begin
Videomode(swidth,sheight,32);
  end;

procedure TForm1.FormCreate(Sender: TObject);
begin
Application.OnRestore := OnRestore;
Application.OnMinimize := OnMinimize;

swidth:=Screen.Width;
sheight:=Screen.Height;

VideoMode(800,600,32);
Form1.BorderStyle:=bsNone;
Form1.WindowState:=wsMaximized;
Form1.FormStyle := fsStayOnTop;
Application.BringToFront;

end;
 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)