Transparente Form
-
- Lazarusforum e. V.
- Beiträge: 7192
- Registriert: So 19. Nov 2006, 12:06
- OS, Lazarus, FPC: Linux Mint 19.3
- CPU-Target: AMD
- Wohnort: Oldenburg(Oldenburg)
Re: Transparente Form
Das wird nicht so leicht werden. Der gesammte Code dürft nur unter GTK2 laufen.... Du müsstest ihn komplett neu schreiben.
MFG
Michael Springwald
Michael Springwald
-
- Beiträge: 250
- Registriert: Di 16. Dez 2008, 20:13
- OS, Lazarus, FPC: aptosid (aptosid.com); Lazarus SVN gtk2+qt4; FPC 2.4.0
- CPU-Target: 32/64Bit
Re: Transparente Form
Eigentlich eine blöde Frage, ich habe das nicht umsonst in "API & Plattformspezifisches ‹ Linux" geschrieben, oder ?Kuster Peter hat geschrieben:Ist ja toll, läuft leider mit Windows nicht. Was muss ich anpassen?

Ich werde das ganze auch für Windoof implementieren, das kann aber noch ein Weilchen dauern, weil ich mein Windoof mal wieder updaten muss.
Das dauert schon mal nen ganzen Tag.
mfg _X_
-
- Lazarusforum e. V.
- Beiträge: 7192
- Registriert: So 19. Nov 2006, 12:06
- OS, Lazarus, FPC: Linux Mint 19.3
- CPU-Target: AMD
- Wohnort: Oldenburg(Oldenburg)
Re: Transparente Form
Es gibt keine Blöde Fragen.... mir ist es z.b. auch nicht aufgefallen, wo du dein Beitrag erstellst hast...Eigentlich eine blöde Frage,
MFG
Michael Springwald
Michael Springwald
-
- Beiträge: 250
- Registriert: Di 16. Dez 2008, 20:13
- OS, Lazarus, FPC: aptosid (aptosid.com); Lazarus SVN gtk2+qt4; FPC 2.4.0
- CPU-Target: 32/64Bit
Re: Transparente Form
Da hast du auch wieder Recht.pluto hat geschrieben:Es gibt keine Blöde Fragen.... mir ist es z.b. auch nicht aufgefallen, wo du dein Beitrag erstellst hast...Eigentlich eine blöde Frage,
mfg _X_
-
- Beiträge: 688
- Registriert: Mi 3. Okt 2007, 21:00
- OS, Lazarus, FPC: Linux (L 0.9.29 FPC 2.4.2)
- CPU-Target: x86_64
Re: Transparente Form
Ich glaube, bei Windoof kann ich aushelfen. Ich habe mal ein Programm namens SimpleGlass geschrieben, welches jedes beliebige Windows in Windoof transparent machen kann. Das Projekt wird bald OSS!
Das ist allerdings Delphi-Code und ich habe grade kein Windows hier, um ihn zu testen. Also, probier's aus!
Das ist allerdings Delphi-Code und ich habe grade kein Windows hier, um ihn zu testen. Also, probier's aus!
Code: Alles auswählen
procedure MakeTransparent(AHandle: THandle; AValue: byte = 0);
var
Info: TOSVersionInfo;
SetLayeredWindowAttributes: TSetLayeredWindowAttributes;
var i: Integer;BValue:Byte;
begin
Info.dwOSVersionInfoSize := SizeOf(Info);
GetVersionEx(Info);
if (Info.dwPlatformId = VER_PLATFORM_WIN32_NT) and
(Info.dwMajorVersion >= 5) then
begin
SetLayeredWindowAttributes := GetProcAddress(GetModulehandle(user32),'SetLayeredWindowAttributes');
if Assigned(SetLayeredWindowAttributes) then
begin
SetWindowLong(AHandle, GWL_EXSTYLE, GetWindowLong(AHandle, GWL_EXSTYLE) or WS_EX_LAYERED);
SetLayeredWindowAttributes(AHandle, 0, AValue, LWA_ALPHA);
end;
end;
end;
end;
-
- Beiträge: 250
- Registriert: Di 16. Dez 2008, 20:13
- OS, Lazarus, FPC: aptosid (aptosid.com); Lazarus SVN gtk2+qt4; FPC 2.4.0
- CPU-Target: 32/64Bit
Re: Transparente Form
Dito. Dann hau ich mir morgen Windoof auf die Platte, und probiers aus.Targion hat geschrieben:Das ist allerdings Delphi-Code und ich habe grade kein Windows hier, um ihn zu testen.
Auf Mac OS sollte mein Code eigentlich laufen.
Dann sollte es das ganze auch bald ins svn schaffen.
mfg _X_
-
- Lazarusforum e. V.
- Beiträge: 7192
- Registriert: So 19. Nov 2006, 12:06
- OS, Lazarus, FPC: Linux Mint 19.3
- CPU-Target: AMD
- Wohnort: Oldenburg(Oldenburg)
Re: Transparente Form
Nein ! Nur wenn der Anwendung auch dort GTk2 Installiert hat, für "Mac OS" ist ein anders Toolkit vorgesehen.Auf Mac OS sollte mein Code eigentlich laufen.
@Targion
Prima, dann könnten wir ja daraus eine Art Klasse / Interface erstellen, die es Automatisch die Richtige Funktion / Methode aufruft je nach Plattform, vielleicht wird das sogar in Lazarus aufgenommen als Standard Funktion.... Oder noch besser: Ein neues From mit dieser Eigenschaft, dürfte eigentlich kein Problem sein.... nur für den Desinger...
MFG
Michael Springwald
Michael Springwald
-
- Beiträge: 359
- Registriert: Mi 27. Mai 2009, 20:54
- OS, Lazarus, FPC: OpenSuse11.4 x86 (Lazarus: 0.9.30 FPC 2.4.2)
- CPU-Target: x86
- Wohnort: Cottbus
Re: Transparente Form
Hi!
Leider funktioniert das immer noch nicht mit KDE3
Ich werde mich mal weiterhin belesen, mal gucken ob ich was raus finde...
Gruß Teekeks
Leider funktioniert das immer noch nicht mit KDE3

Ich werde mich mal weiterhin belesen, mal gucken ob ich was raus finde...
Gruß Teekeks
-
- Beiträge: 250
- Registriert: Di 16. Dez 2008, 20:13
- OS, Lazarus, FPC: aptosid (aptosid.com); Lazarus SVN gtk2+qt4; FPC 2.4.0
- CPU-Target: 32/64Bit
Re: Transparente Form
So weit ich weiß, geht das unter KDE3 nur mit einem alternativen Fenstermanager, also z.B. Compiz-Fusion.
Und ich hab mir auch gleich mal die Mühe gemacht, das zu testen, Ergebnis: mit Compiz-Fusion + KDE3 funktioniert das.
mfg _X_
Und ich hab mir auch gleich mal die Mühe gemacht, das zu testen, Ergebnis: mit Compiz-Fusion + KDE3 funktioniert das.
mfg _X_
Re: Transparente Form
Wer will das eigentlich haben?
Das verwenden doch die Fenstermangager z.T beim Verschieben etc.
Da würde ich nicht reinfummeln.
Das verwenden doch die Fenstermangager z.T beim Verschieben etc.
Da würde ich nicht reinfummeln.
-
- Beiträge: 250
- Registriert: Di 16. Dez 2008, 20:13
- OS, Lazarus, FPC: aptosid (aptosid.com); Lazarus SVN gtk2+qt4; FPC 2.4.0
- CPU-Target: 32/64Bit
Re: Transparente Form
Ich.theo hat geschrieben:Wer will das eigentlich haben?
Ich kenne genug Programme, die machen das auch; Also warum sollte ich es nicht machen?theo hat geschrieben:Das verwenden doch die Fenstermangager z.T beim Verschieben etc.
Da würde ich nicht reinfummeln.
mfg _X_
Re: Transparente Form
Und welchen Zweck erfüllt das? (Ausser zu beweisen, dass man total gut programmieren, und lustige semi-transparente Fenster basteln kann)._X_ hat geschrieben:Ich kenne genug Programme, die machen das auch; Also warum sollte ich es nicht machen?
Für mich ist das - wie Farb- und Fontspiele - abzulehnen. D.h. gehört in die Systemkonfiguration, nicht in die Anwendung.
-
- Beiträge: 250
- Registriert: Di 16. Dez 2008, 20:13
- OS, Lazarus, FPC: aptosid (aptosid.com); Lazarus SVN gtk2+qt4; FPC 2.4.0
- CPU-Target: 32/64Bit
Re: Transparente Form
Ich habe das eigentlich nur gemacht, weils die VCL kann.
mfg _X_
mfg _X_
-
- Lazarusforum e. V.
- Beiträge: 7192
- Registriert: So 19. Nov 2006, 12:06
- OS, Lazarus, FPC: Linux Mint 19.3
- CPU-Target: AMD
- Wohnort: Oldenburg(Oldenburg)
Re: Transparente Form
Also bei mir geht das unter KDE3.5 allerdings mit deiner Funktion leider auch nicht. Ich verwende den Standard Window-MangerSo weit ich weiß, geht das unter KDE3 nur mit einem alternativen Fenstermanager, also z.B. Compiz-Fusion.
Ja, da hast du irgendwie nicht ganz unrecht, aber in vielen Programmen kann man das einstellen. Und ich möchte nicht überall Transparent haben. Im Moment habe ich das bei mir so das es eigentlich stört und man kann einen Text nur sehr schwer lesen wenn diese Funktion eingeschaltet ist, aber zum Glück kann ich mit alt + ScrollRad das einstellen. Auch mit "KDE3.5", aber wie gesagt ohne Lazarus, leider.Und welchen Zweck erfüllt das? (Ausser zu beweisen, dass man total gut programmieren, und lustige semi-transparente Fenster basteln kann).
Für mich ist das - wie Farb- und Fontspiele - abzulehnen. D.h. gehört in die Systemkonfiguration, nicht in die Anwendung.
Letztendlich ist das nur eine Spielerei mehr nicht. Eine machbarkeit. und wie _X_ schon sagte: damit wird Lazarus noch Kompatibler zu Delphi *G* das ist doch ein Argument was wir häufig hören *G*.
Allerdings gefällt mir die Funktion nicht 100%ig, mir fehlen gewisse Einstellungens Möglichkeiten. Z.B. meine ich das der Inhalt vom Aktiven Fenster auch stark beeinflusst wird, oder das es abschaltbar ist, dass auch die Fenster die unter einem anderen Fenster liegen durchschimmern. Schöner währe das wenn man das einstellen könnte.
Kann man das bei Compiz ?
MFG
Michael Springwald
Michael Springwald
-
- Beiträge: 205
- Registriert: So 2. Dez 2007, 20:47
- OS, Lazarus, FPC: Windows XP Lazarus immer neueste Version
- CPU-Target: xxBit
- Wohnort: Schweiz
Re: Transparente Form
Ich habe Windows und der Compiler reklamiert schon bei folender Zeile:
Info: TOSVersionInfo;
Ich habe da so eine verrückte Idee: Ein Programm von dem man nur die Lables, die Datenbankfelder und die Buttons sieht, der rest ist transparent.
Peter
Info: TOSVersionInfo;
Ich habe da so eine verrückte Idee: Ein Programm von dem man nur die Lables, die Datenbankfelder und die Buttons sieht, der rest ist transparent.
Peter