Zurück   klamm-Forum > Virtual World > Programmierung

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 01.02.2012, 01:11:07   #1 (permalink)
Erfahrener Benutzer
Benutzerbild von NeoGriever

ID: 348575
Lose-Remote

Reg: 24.06.2008
Beiträge: 809
NeoGriever wird schon bald berühmt werden
Ausrufezeichen (VB.NET) Direkt auf bildschirm zeichnen. (Animation) - Hilfe

Hi

Ich verzweifel noch. Google, SelfHTML und VBArchiv haben mir bisher keine lösung geliefert.

Was ich möchte:
Elemente DIREKT auf den Bildschirm zeichnen.

Was ich NICHT möchte:
DirectDraw nutzen, da dies kein Desktop im Hintergrund erlaubt.
GetDC, ReleaseDC und Graphics (in verbindung), da dies keine "Zurücksetzen"-Funktion hat, soweit mir Google das sagt.

Kennt jemand eine Möglichkeit, eine Grafik auf den Bildschirm zu zeichnen, ohne die Desktop-Funktion zu beeinträchtigen (FormBorderStyle.None und Vollbild funktioniert z. b. unter Win7 nicht). Dabei möchte ich die gezeichneten Elemente auch wieder "löschen" können und diese dann so "animieren". (Es soll ein Tamagotchi-Clone werden, welcher jedoch live auf dem Bildschirm rumspringt.)

Falls jemand eine c++, c, basic oder sonstwas dll für mich erstellen kann, der ich z. b. eine grafik übergeben kann, der diese zeichnet und ich mit einer weiteren funktion den desktop wieder zurücksetzen kann. (Region Reset z. b.)

Ich habe mit DirectDraw bereits versucht, das Problem zu lösen. Aber das funktioniert nicht, da ich dafür die Auflösung ändern lassen muss (auch wenns auf die bereits eingestellte auflösung ist) und der bildschirm einfarbig gefüllt wird.

Ich hoffe, da kennt jemand ne Lösung und ich habe mich hier nicht unnötig kompliziert ausgedrückt.

MFG
NeoGriever
NeoGriever ist gerade online   Mit Zitat antworten
Gesponsorte Links
Alt 01.02.2012, 06:55:54   #2 (permalink)
bekämpft die Mächte des Bösen
Benutzerbild von theHacker

ID: 69505
Lose-Remote

theHacker eine Nachricht über ICQ schicken theHacker eine Nachricht über AIM schicken theHacker eine Nachricht über MSN schicken theHacker eine Nachricht über Yahoo! schicken theHacker eine Nachricht über Skype™ schicken
Reg: 20.04.2006
Beiträge: 20.469
theHacker genießt hohes AnsehentheHacker genießt hohes AnsehentheHacker genießt hohes AnsehentheHacker genießt hohes AnsehentheHacker genießt hohes AnsehentheHacker genießt hohes AnsehentheHacker genießt hohes AnsehentheHacker genießt hohes AnsehentheHacker genießt hohes AnsehentheHacker genießt hohes AnsehentheHacker genießt hohes Ansehen
Standard

DirectDraw geht auch ohne Vollbild. (Sicher auch ohne Füllung, das hab ich aber nie gemacht; ich hatte damals Spieleprogrammierung mit Vollbild, wahlweise Fenster gemacht).

Seit Windows 7 hab ich nichts mehr unter Windows programmiert, aber grundsätzlich müsste es doch klappen, ganz normal ein Fenster zu erstellen, dass keinen Rahmen hat und keinen Hintergrund-Brush und das auf WS_EX_TOPMOST zu stellen. Wenn du da dann reinmalst, hast du scheinbar den ganzen Desktop.

Pass aber auf: Dort wo das Fenster is, kannst du nicht "durch-messagen" (außer, du baust das irgendwie sehr komplex nach). Klickt also einer z.B. in das Fenster, weil da der Browser im Hintergrund durchschimmert, so trifft er dein Fenster und nicht den Browser.
Wie man also ein nicht-eckiges Fenster sinnvoll hinkriegt, weiß ich ned. Ich würde da dann den komplexen Weg wählen: Transparenz-Treffer prüfen, Falls im Transparentbereich -> Nachricht abfangen, gucken, wer unter mir liegt, Nachricht weitersenden, als wär nix gewesen.

Vermutlich bietet sich deshalb ein kleines Fenster an, wo deine Grafik reinpasst, die sich zur Not verschiebt, falls das Ding z.B. über den Desktop rennen will.

edit:
Als Alternative den DC des "Bildschirms" (ich glaube, das war der Aufruf mit NULL) geben lassen. Natürlich gibt es kein "Zurücksetzen" - immer diese VB-Leute Das heißt aber nicht, dass es damit nicht geht. Du musst dir merken, was du kaputt machst, dass du es selber zurücksetzen kannst, wenn du fertig bist.
theHacker ist offline   Mit Zitat antworten
Alt 01.02.2012, 11:29:16   #3 (permalink)
Erfahrener Benutzer
Benutzerbild von NeoGriever

ID: 348575
Lose-Remote

Reg: 24.06.2008
Beiträge: 809
NeoGriever wird schon bald berühmt werden
Standard

Hm.

Wie man Messages "weiterleitet" ist mir absolut unbekannt. Haste da beispielcode?

Unter Win7 sind viele Sachen, die GEGEN Programmierer sind. Ich habe mal unter Win7 versucht, mit SharpDevelop was zu programmieren. Nach 2 Stunden Systemeinstellungs-Gefummel habe ich es aufgegeben.

Also könntest du mir vielleicht Beispielcode (C# oder VB ist dabei egal) bieten?
NeoGriever ist gerade online Threadstarter   Mit Zitat antworten
Alt 01.02.2012, 17:02:02   #4 (permalink)
bekämpft die Mächte des Bösen
Benutzerbild von theHacker

ID: 69505
Lose-Remote

theHacker eine Nachricht über ICQ schicken theHacker eine Nachricht über AIM schicken theHacker eine Nachricht über MSN schicken theHacker eine Nachricht über Yahoo! schicken theHacker eine Nachricht über Skype™ schicken
Reg: 20.04.2006
Beiträge: 20.469
theHacker genießt hohes AnsehentheHacker genießt hohes AnsehentheHacker genießt hohes AnsehentheHacker genießt hohes AnsehentheHacker genießt hohes AnsehentheHacker genießt hohes AnsehentheHacker genießt hohes AnsehentheHacker genießt hohes AnsehentheHacker genießt hohes AnsehentheHacker genießt hohes AnsehentheHacker genießt hohes Ansehen
Standard

Zitat:
Zitat von NeoGriever Beitrag anzeigen
Wie man Messages "weiterleitet" ist mir absolut unbekannt. Haste da beispielcode?
Nö. Ich hab nie so was Komisches gemacht.

SendMessage()

Das, was in keinem Manual steht, wo du selber nachdenken musst, is der Mechanismus, welche Nachricht du an welches Fenster schicken musst.
theHacker ist offline   Mit Zitat antworten
Antwort

Gesponsorte Links

Anzeige


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Zeichnen im Browser? maxiw Scripts & Software 4 23.03.2010 05:42:56
[Java] weihnachtsbaum zeichnen kerstinA83 Programmierung 2 05.12.2009 17:46:34
(Animation) Wie wirkt diese Animation auf einer Seite? Shariyma Grafik & Design 13 10.03.2009 20:21:05
[Brazuche Hilfe!!] Notebook Bildschirm plötzlich schwarz Philnetz Hardware 6 24.09.2006 21:18:08


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:46:10 Uhr.