Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Fragen zur GDI Programmierung (auch an C-Programmierer)

Frage Entwicklung Assembler

Mitglied: supernicky

supernicky (Level 1) - Jetzt verbinden

05.06.2011 um 13:00 Uhr, 4010 Aufrufe, 1 Kommentar

Hallo,
Ziel: zeichnen in einem DC und blitten auf die Form
Problem: Form bleibt immer leer

Hallo,

ich möchte meine Zeichenfunktionen erst in einer Speicherbitmap ausführen und zum Schluss auf die Form blitten.

hier mal der Code aus dem Paint Ereignis

.if uMsg == WM_DESTROY
invoke PostQuitMessage,NULL
mov eax, 0
ret
.elseif uMsg == WM_PAINT

invoke CreateDC, 0,0,0,0 ;hier liegt wohl ein Fehler im ersten Parameter
mov DC, eax

invoke CreateCompatibleDC, DC
mov cDC,eax

invoke CreateCompatibleBitmap, DC, 400, 400
mov cBM, eax
;
xor ebx, ebx
mov bl, 100
mov bh, 100 ;Farbe festlegen für das Pen-Object
shl ebx, 8
mov bl, 100
mov colr, ebx


invoke CreatePen, 0, 1, colr ;Pen erstellen
mov stift, eax

invoke SelectObject, cDC, cBM
invoke BitBlt, cDC, 0, 0, 400, 400, DC, 0, 0, SRCCOPY


invoke SelectObject, DC, stift
invoke Rectangle, cDC,10,10,100,100


invoke BitBlt, formdc, 0, 0, 400, 400, cDC, 0, 0, SRCCOPY


invoke DeleteObject, DC
invoke DeleteObject, cDC
invoke DeleteObject, cBM
invoke DeleteObject, stift

.endif


Der Code wird fehlerfrei kompiliert, also denke ich mal das es irgendwo an den Parametern hängt.

Mein Vorgehen:

erstellen eines DeviceContext = DC
wie oben schon steht glaube ich das hier schon ein Fehler im ersten Parameter drin ist...

erstellen eines CompatibleDeviceContext = cDC
erstellen einer CompatibleBitmap mit den Maßen 400,400 = cBM

Farbe auf Grau einstellen
Pen Objekt erstellen und ein Rechteck auf dem CompatibleDeviceContext zeichnen (nicht in die CompatibleBitmap oder?)

den CompatibleDeviceContext auf die Form blitten

Objekte löschen

Leider bleibt die Form leer..

Ich hoffe mir kann jemand helfen...
Direkt auf die Form zeichnen klappt super, nur habe ich da diesen Flimmereffekt, den möchte ich damit vermeiden.

Ein paar Stichpunkte würden mir schon helfen was die Reihenfolge zum erstellen der Speicherbitmap angeht.

Danke und Gruß,

Nicky
Mitglied: supernicky
14.06.2011 um 19:27 Uhr
Lösung:

CreateDC wird nicht gebraucht da man den DC der Form nutzen kann..

GetDC, hWnd

Nicky

Was man hier alles selbst machen muss...
Bitte warten ..
Ähnliche Inhalte
C und C++
Wer wird Millionär in C programmieren Frage
Frage von fkildauC und C++3 Kommentare

Hallo, wir sollen im Rahmen unseres Studiums ein kleines Wer wird Millionär Programm schreiben. Bin absoluter Anfänger auf dem ...

C und C++
C++ GUI Programmieren
gelöst Frage von Barti20C und C++5 Kommentare

Hallo Leute, ich hab da mal eine Frage. Ich möchte eine kleine Netzwerktopology GUI programmieren die nicht mehr tut ...

Suche Projektpartner
Excel VBA 2010 Programmierer mit Erfahrung in Diagramm-Programmierung
Frage von evolutionSuche Projektpartner

Hallo, ich suche einen erfahrenen Excel-VBA-Programmierer (2010), für ein Kundenprojekt. Hauptsächlich geht es um Flächenbilanzen und Potentialanalysen die dann ...

Visual Studio
Script Parser für C ähnlichen Code Programmieren
Frage von Herbrich19Visual Studio7 Kommentare

Hallo, Hat jemand eine Grundlegende Idee wie ich C ähnlichen Code parsen kann. Ich arbeite mit Visual Basic aber ...

Neue Wissensbeiträge
Windows 10

Windows 10 Fall Creators Update - Neue Funktion Hyper-V Standardswitch kann ggf. Fehler bei Proxy Configs verursachen

Erfahrungsbericht von rzlbrnft vor 10 StundenWindows 102 Kommentare

Hallo Kollegen, Da wir die Gefahr lieben, haben wir bei einigen Usern nun mittlerweile das Creators Update drauf. Einige ...

Sicherheit

TLS-Zertifikat und privater Schlüssel von Microsofts Dynamics 365 geleakt

Information von Penny.Cilin vor 12 StundenSicherheit

Microsoft hat versehentlich das TLS-Zertifikat inklusive dem privaten Schlüssel seiner Business-Anwendung Dynamics 365 geleakt. TLS-Zertifikat und privater Schlüssel von ...

Viren und Trojaner

Deaktivierter Keylogger in HP Notebooks entdeckt

Information von bitcoin vor 1 TagViren und Trojaner3 Kommentare

Ein Grund mehr warum man Vorinstallationen der Hersteller immer blank bügeln sollte Der deaktivierte Keylogger findet sich im vorinstallierten ...

Router & Routing

Lets Encrypt kommt auf die FritzBox

Information von bitcoin vor 1 TagRouter & Routing

In der neuesten Labor-Version der FB7490 integriert AVM unter anderem einen Let's Encrypt Client für Zugriffe auf das Webinterface ...

Heiß diskutierte Inhalte
Netzwerkmanagement
Firefox Profieles im Roaming
gelöst Frage von Hendrik2586Netzwerkmanagement17 Kommentare

Hallo liebe Leute. :) Ich hab da ein kleines Problem, welches anscheinend nicht unbekannt ist. Wir nutzen hier in ...

Netzwerkmanagement
NAS über zwei weitere Ethernet Anschlüsse verbinden
gelöst Frage von Sibelius001Netzwerkmanagement16 Kommentare

Sorry - ich bin hier wahrscheinlich als kompetter IT Trottel unterwegs. Aber eventuell kann mir jemand ganz einfach helfen: ...

LAN, WAN, Wireless
Häufig Probleme beim Anmelden in WLAN
Frage von mabue88LAN, WAN, Wireless15 Kommentare

Hallo zusammen, in einem Netzwerk gibt es relativ häufig (1-2 mal pro Woche) Probleme mit der WLAN-Verbindung. Zunächst mal ...

Netzwerkgrundlagen
Hi eine blöde frage. xD
Frage von 132954Netzwerkgrundlagen13 Kommentare

Also: Habe 2012 r2 essentials neuinstalliert, allerdings installiert diese version ja gleich diesen gangen AD kram mit, den hab ...