Entwickler-Ecke
Sonstiges (Delphi) - Auf dem Bildschirm schreiben
hui1991 - Do 07.09.06 15:54
Titel: Auf dem Bildschirm schreiben
Hallo,
ich hab jetzt keine Ahnung ob das hier hin gehört, aber ich hab da eine Frage.
Also wie kann ich Bilder und Texte auf dem Bilschirm schreiben.
z. B. bei World of Warcraft, das dann die Ehrenpunkte, dann in den Vordergrund sind, so lange eine Taste gedückt wurde.
Ist das irgendwie möglich? World of Warcraft sollte, aber noch offen und ausgewählt sein, da man ja sonst nicht mehr weiterlaufen kann.
Danke schon im Voraus.
MfG
hui1991
galagher - Fr 08.09.06 11:34
galagher hat folgendes geschrieben: |
mit Bildern weiss ich im Moment nicht, wie's geht, |
Mehr hab' ich nicht:
Delphi-Quelltext
1:
| SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, @FName, SPIF_UPDATEINIFILE+SPIF_SENDWININICHANGE); |
uall@ogc - Fr 08.09.06 11:37
Hier mal ein Paar Stichpunkte:
Delphi-Quelltext
1: 2: 3: 4: 5:
| GetDc(0); ReleaseDC BitBlt TextOutA/TexOutW Rectangle |
galagher - Fr 08.09.06 11:47
Irgendwas habe ich in meinem Post gelöscht, was ich nicht wollte, sorry!
Also:
Text:
http://delphi.about.com/cs/adptips2004/a/bltip0104_5.htm
Bilder:
Delphi-Quelltext
1:
| SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, @FName, SPIF_UPDATEINIFILE+SPIF_SENDWININICHANGE); |
uall@ogc - Fr 08.09.06 12:26
Das was du für Bilder hast ist der Desktophintergrund oder nicht?.
BitBlt kann auf einen Canvas kopieren. mit GetDC(0) erhälst den Desktop.
hui1991 - Fr 08.09.06 18:14
Danke für eure Antworten,
Also ich hab das Beispiel von der Seite:
http://delphi.about.com/cs/adptips2004/a/bltip0104_5.htm
So verändert, das es passt ;)
Naja aber Trotzdem ist es für den Zweck den ich wollte es ja auf den Bildschirm anzeigen.
Leider Flimmert das sowas von..
Mal ist es da mal wieder weg.
Warscheinlich, da das Spiel sich immer ändert.
Kann man dagegen was machen?
Vllt. das sich für diese Zeit der Teil der diesen Bereich zudeckt nicht verändern darf, so das es nicht flimmert.
Mit Bildern meine ich nicht, denn Desktop Hintergrund, sondern das BIld in einer BMP datei ;)
Also Bilder auf dem Bildschirm kann man ja so zeichnen:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24:
| procedure DrawBmpOnDesktop(Image: String; PositionX,PositionY: Integer); var Handle: HWND; Dc: HDC; ACanvas: TCanvas; bild : TBitMap; begin Handle := GetDesktopWindow; Dc := GetWindowDC(Handle) ; ACanvas := TCanvas.Create; bild := TBitMap.Create; bild.LoadFromFile(Image); try ACanvas.Handle := DC; BeginPath(ACanvas.Handle) ; SetBkMode(ACanvas.Handle, TRANSPARENT) ; EndPath(ACanvas.Handle) ; ACanvas.Draw(PositionX,PositionY,bild); finally ReleaseDC(Handle, ACanvas.Handle) ; ACanvas.Free; bild.free; end; end; |
Hoffe nur das da kein Fehler ist. ;)
MfG
hui1991
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!