Geht das auch in Lazarus?
-
- Beiträge: 440
- Registriert: So 10. Dez 2006, 14:59
- OS, Lazarus, FPC: MacOSX Lion 10.7 (L 0.9.31 FPC 2.7.1)
- CPU-Target: 64Bit
- Kontaktdaten:
Geht das auch in Lazarus?
http://www.delphi-forum.de/topic_Form+m ... 63740.html" onclick="window.open(this.href);return false;
weiß jemand ob sowas in lazarus geht?^^
weiß jemand ob sowas in lazarus geht?^^
-
- Beiträge: 6079
- Registriert: Do 21. Sep 2006, 07:51
- OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
- CPU-Target: AVR,ARM,x86(-64)
- Wohnort: Dessau
- Kontaktdaten:
http://magnifier.sourceforge.net/
ist zwar nicht plattformübergreifend gekapselt bisher aber das projekt hier oben macht vor wie das geht
ist zwar nicht plattformübergreifend gekapselt bisher aber das projekt hier oben macht vor wie das geht

W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/
-
- Beiträge: 6079
- Registriert: Do 21. Sep 2006, 07:51
- OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
- CPU-Target: AVR,ARM,x86(-64)
- Wohnort: Dessau
- Kontaktdaten:
OK, vergesst den magnifier ich hab mi den code noch nie angeschaut deshalb auch die frage ob das so schwer ist war duchaus ernst gemeint.
Aber der Programmierstyle ist nicht der beste er hätt genauso nen c compiler nehmen können da werden keinerlei möglichkeiten von pascal ausgenutzt von der lcl ganz zu schweigen...
Also es gibt 2 Möglihkeiten sowas zu lösen die einfachere die auch in dem magnifier verwendet wird ist einen screenshot zu erstellen und aufs eigene fenster zu zeichnen dann das fenster in beliebiger form darüber ...
2. Möglichkeit sind echte fensterformen windows unterstützt sowas tatsächlich über API aufrufe ist aber nicht ganz einfach
Ach ja es gibt auch noch ne 3. Möglichkeit direkt auf den Desktop zu zeichnen ist aber für verschiebbare fenster wohl eher nicht zu empfehlen
Here we go Möglichkeit 1:
sollte eigentlich in allen widgetsets implementiert sein
Möglichkeit2:
ähm muss ich noch n bissle suchen zumal das für jedes widgetset unterschiedlich sein sollte
Möglichkeit3:
Canvas := TCanvas.Create;
Canvas.Handle := GetDC(0);
... so mahle,mahle
Canvas.Free;
Bythe way:
Kann das mal jemand in Delphi ausprobieren ?
TransparentColor der Form auf irgendnefarbe ein Image drauf das diese Farbe an einigen stellen enthält dem auch die TransparentColor verpassen
beide Transparent´s auf True und starten
hab eben gelesen das die vcl dann ein formular über regions erstellen soll was möglichkeit2 zumindest unter delphi natürlich sehr einfach macht ich würde dann anregen und villeicht auch den code dazu liefern das in der lcl auch zu implementieren
Aber der Programmierstyle ist nicht der beste er hätt genauso nen c compiler nehmen können da werden keinerlei möglichkeiten von pascal ausgenutzt von der lcl ganz zu schweigen...
Also es gibt 2 Möglihkeiten sowas zu lösen die einfachere die auch in dem magnifier verwendet wird ist einen screenshot zu erstellen und aufs eigene fenster zu zeichnen dann das fenster in beliebiger form darüber ...
2. Möglichkeit sind echte fensterformen windows unterstützt sowas tatsächlich über API aufrufe ist aber nicht ganz einfach
Ach ja es gibt auch noch ne 3. Möglichkeit direkt auf den Desktop zu zeichnen ist aber für verschiebbare fenster wohl eher nicht zu empfehlen
Here we go Möglichkeit 1:
Code: Alles auswählen
var
ScreenDC: HDC;
Bitmap: TBitmap;
begin
Bitmap := TBitmap.Create;
try
ScreenDC := GetDC(0);
Bitmap.LoadFromDevice(ScreenDC);
ReleaseDC(0, ScreenDC);
Canvas.Draw(0, 0, Bitmap);
finally
Bitmap.Free;
end;
end;
Möglichkeit2:
ähm muss ich noch n bissle suchen zumal das für jedes widgetset unterschiedlich sein sollte
Möglichkeit3:
Canvas := TCanvas.Create;
Canvas.Handle := GetDC(0);
... so mahle,mahle
Canvas.Free;
Bythe way:
Kann das mal jemand in Delphi ausprobieren ?
TransparentColor der Form auf irgendnefarbe ein Image drauf das diese Farbe an einigen stellen enthält dem auch die TransparentColor verpassen
beide Transparent´s auf True und starten
hab eben gelesen das die vcl dann ein formular über regions erstellen soll was möglichkeit2 zumindest unter delphi natürlich sehr einfach macht ich würde dann anregen und villeicht auch den code dazu liefern das in der lcl auch zu implementieren
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/