Bildschirmschoner in Lazarus
Bildschirmschoner in Lazarus
Guten Tag liebe Gemeinde,
Ich würde gerne einen Bildschirmschoner in Lazarus erstellen, ich würde diesen dann gerne per Buttonklick öffnen können. Ich weiß leider nicht, was für Code dafür benötigt wird, daher würde ich gerne von euch Hilfe erhalten. Also wenn ihr Hilfe habt oder sogar schon fertige Projekte dieser Art habt, dann lasst sie mir gerne zu kommen. Wäre euch sehr dankbar.
Ich würde gerne einen Bildschirmschoner in Lazarus erstellen, ich würde diesen dann gerne per Buttonklick öffnen können. Ich weiß leider nicht, was für Code dafür benötigt wird, daher würde ich gerne von euch Hilfe erhalten. Also wenn ihr Hilfe habt oder sogar schon fertige Projekte dieser Art habt, dann lasst sie mir gerne zu kommen. Wäre euch sehr dankbar.
- af0815
- Lazarusforum e. V.
- Beiträge: 6782
- Registriert: So 7. Jan 2007, 10:20
- OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
- CPU-Target: 32Bit (64Bit)
- Wohnort: Burgenland
- Kontaktdaten:
Re: Bildschirmschoner in Lazarus
Was für ein Betriebssystem?
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).
-
- Beiträge: 1224
- Registriert: So 20. Mär 2016, 22:14
- OS, Lazarus, FPC: Win7-64bit Laz1.9.0 FPC3.1.1 für Win, RPi, AVR embedded
- CPU-Target: Raspberry Pi 3
Re: Bildschirmschoner in Lazarus
Die Frage ist eher: Was für ein Jahrhundert?
Bildschirmschoner macht man seit TFT nicht mehr.
Fullscreen oder Windowed? Text, Bilder, einfache Grafik oder 3D? Was soll dargestellt werden?Lapiz123 hat geschrieben: Do 14. Jan 2021, 20:52 Ich weiß leider nicht, was für Code dafür benötigt wird, daher würde ich gerne von euch Hilfe erhalten.
- af0815
- Lazarusforum e. V.
- Beiträge: 6782
- Registriert: So 7. Jan 2007, 10:20
- OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
- CPU-Target: 32Bit (64Bit)
- Wohnort: Burgenland
- Kontaktdaten:
Re: Bildschirmschoner in Lazarus
Nachdem es der erste Post des Users war, warten wir mal ab.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).
Re: Bildschirmschoner in Lazarus
Das Betriebssystem ist Windows. Und ich es wäre schön wenn es Fullscreen ist mit Grafik. Zu der Frage, welches Jahrhundert wir haben, gute Frage mein Lehrer ist auch aus dem letzten Jahrtausend ^^ . Danke für eure schnellen AntwortenTimm Thaler hat geschrieben: Do 14. Jan 2021, 22:32Die Frage ist eher: Was für ein Jahrhundert?
Bildschirmschoner macht man seit TFT nicht mehr.
Fullscreen oder Windowed? Text, Bilder, einfache Grafik oder 3D? Was soll dargestellt werden?Lapiz123 hat geschrieben: Do 14. Jan 2021, 20:52 Ich weiß leider nicht, was für Code dafür benötigt wird, daher würde ich gerne von euch Hilfe erhalten.
-
- Beiträge: 2122
- Registriert: Di 23. Sep 2014, 17:46
- OS, Lazarus, FPC: Win10 | Linux
- CPU-Target: x86_64
Re: Bildschirmschoner in Lazarus
Du machst ne form mit der Eigenschaft Borderstyle auf bsNone, Formstyle fsSystemStayOnTop und WindowState auf wsMaximized.
Damit deckt die Form den gesammten bildschirm ab und ist über allen anderen Fenstern. Die grafiken kannst du dann mit nem Canvas zeichnen, OpenGL wenn du ganz motiviert bist, oder die faule variante, einfach ein paar TShapes über die form wandern lassen.
Eine alternative wäre auch, du könntest dir das Canvas handle vom Desktop holen und direkt auf dem bildschirm rumzeichnen:
Damit deckt die Form den gesammten bildschirm ab und ist über allen anderen Fenstern. Die grafiken kannst du dann mit nem Canvas zeichnen, OpenGL wenn du ganz motiviert bist, oder die faule variante, einfach ein paar TShapes über die form wandern lassen.
Eine alternative wäre auch, du könntest dir das Canvas handle vom Desktop holen und direkt auf dem bildschirm rumzeichnen:
Code: Alles auswählen
var
hnd: HDC;
cvs: TCanvas;
begin
hnd := GetDC(0); // uses windows
cvs := TCanvas.Create;
try
cvs.Handle:=hnd;
cvs.FillRect(0,0, Screen.Width, Screen.Height);
finally
cvs.Free;
end;
Re: Bildschirmschoner in Lazarus
Wärst du so nett und könntest mir das komplette Projekt als Zip senden ^^Warf hat geschrieben: Sa 16. Jan 2021, 17:46 Du machst ne form mit der Eigenschaft Borderstyle auf bsNone, Formstyle fsSystemStayOnTop und WindowState auf wsMaximized.
Damit deckt die Form den gesammten bildschirm ab und ist über allen anderen Fenstern. Die grafiken kannst du dann mit nem Canvas zeichnen, OpenGL wenn du ganz motiviert bist, oder die faule variante, einfach ein paar TShapes über die form wandern lassen.
Eine alternative wäre auch, du könntest dir das Canvas handle vom Desktop holen und direkt auf dem bildschirm rumzeichnen:Code: Alles auswählen
var hnd: HDC; cvs: TCanvas; begin hnd := GetDC(0); // uses windows cvs := TCanvas.Create; try cvs.Handle:=hnd; cvs.FillRect(0,0, Screen.Width, Screen.Height); finally cvs.Free; end;
-
- Lazarusforum e. V.
- Beiträge: 3178
- Registriert: Di 22. Jul 2008, 19:27
- OS, Lazarus, FPC: Lazarus: SVN; FPC: svn; Win 10/Linux/Raspbian/openSUSE
- CPU-Target: 32bit x86 armhf
- Wohnort: Köln
- Kontaktdaten:
Re: Bildschirmschoner in Lazarus
Deine Hausaufgaben musst du schon selbst machenLapiz123 hat geschrieben: Sa 16. Jan 2021, 21:54Wärst du so nett und könntest mir das komplette Projekt als Zip senden ^^

Ein anderer Weg war doch: Form maximieren, ohne Fensterdekoration (BorderStyle) und dann die Programmdatei von .exe nach .scr umbenennen. Dann kannst du direkt auf dem Form oder auf einem TImage darauf zeichnen. Für einfache Bilder reicht oder Text reicht das aus - für schnelle Bildwechsel oder 3D-Grafik nicht.
Zumindest war das zu meiner Schulzeit unter Delphi 7 so.
MfG Socke
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein
Re: Bildschirmschoner in Lazarus
Was ist dieses HDC weil bei mir steht "Identifier not found"Socke hat geschrieben: Sa 16. Jan 2021, 22:01Deine Hausaufgaben musst du schon selbst machenLapiz123 hat geschrieben: Sa 16. Jan 2021, 21:54Wärst du so nett und könntest mir das komplette Projekt als Zip senden ^^
Ein anderer Weg war doch: Form maximieren, ohne Fensterdekoration (BorderStyle) und dann die Programmdatei von .exe nach .scr umbenennen. Dann kannst du direkt auf dem Form oder auf einem TImage darauf zeichnen. Für einfache Bilder reicht oder Text reicht das aus - für schnelle Bildwechsel oder 3D-Grafik nicht.
Zumindest war das zu meiner Schulzeit unter Delphi 7 so.
-
- Beiträge: 1224
- Registriert: So 20. Mär 2016, 22:14
- OS, Lazarus, FPC: Win7-64bit Laz1.9.0 FPC3.1.1 für Win, RPi, AVR embedded
- CPU-Target: Raspberry Pi 3
Re: Bildschirmschoner in Lazarus
Es ist leider nicht mehr so einfach wie bei TurboPascal. Es gibt verschiedene Libs die auf unterschiedliche Art Grafik unterstützen.
Schau mal hier durch: https://wiki.freepascal.org/Developing_with_Graphics/de
Was davon für Dich geeignet ist hängt davon ab, was Du machen willst.
Da wir hier weder wissen, was Du in Pascal "drauf hast" noch was Du darstellen willst musst Du entweder konkreter werden oder Dich da durchackern.
Schau mal hier durch: https://wiki.freepascal.org/Developing_with_Graphics/de
Was davon für Dich geeignet ist hängt davon ab, was Du machen willst.
Da wir hier weder wissen, was Du in Pascal "drauf hast" noch was Du darstellen willst musst Du entweder konkreter werden oder Dich da durchackern.
- af0815
- Lazarusforum e. V.
- Beiträge: 6782
- Registriert: So 7. Jan 2007, 10:20
- OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
- CPU-Target: 32Bit (64Bit)
- Wohnort: Burgenland
- Kontaktdaten:
Re: Bildschirmschoner in Lazarus
Dann stell mal deine Hausaufgabe hier ein. Nur Projektsourcen ohne exe, ppu,... dann kann man mal drübersehen und dir Hinweise geben.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).