Einzelnen Beitrag anzeigen

Nintendo

Registriert seit: 16. Feb 2009
82 Beiträge
 
#4

AW: Win32 API Verständnisfrage

  Alt 26. Mai 2012, 21:36
Um deine Frage dezüglich der BeginPaint-Prozedur zubeantworten:

Die BeginPaint kann nur bei der Message WM_PAINT ausgeführt werden.
BeginPaint leitet das Zeichnen des Fenster "inneren" ein, d.h. der Bereich, der in den Rändern liegt, also die Fläche, wo du bei der VCL immer die Komponenten reinsetzt. Nach BeginPaint kannst du alle deine Zeichnungs-Befehle ausführen. Wenn du alles hast rufst du EndPaint auf. Wenn du vorhast ein Fenster selber "zuzeichnen", solltest du keine Ränder haben. Der Nachteil ist, du musst diese Windows-Fenster-Bar selber zeichnen und die Buttons sowie die Befehle selber einbinden, z.b. das Minimieren, Schliessen und Maximieren. Die WM_PAINT Message sollte man nur abfangen und selber behandeln, wenn man sein Fenster oder Controls selber gestallten will.
Sorry, das ich erst heute wieder auftauche. Aber ich hatte Arbeit. Danke aber erst mal für Eure Antworten.

Ok, da sind mit Ausnahme von hModule und Hinstance die Handles also interne Nummern, die wahrscheinlich dann intern als Indizes auf die Zeichenfunktionen fungieren. Wie bei einem Array, das dann die richtigen API Funktionen enthält. Der Handle wäre also dann ein Index inb das Array.

Ich nehme an, hInstance zeigt in meinem Hauptprogramm auf die Steartadresse meines Hauptprogrammes und be .dll-s auf die die Ladeadresse derselben. Oder kommt bei .dll-s hModule für die gleiche Aufgabe, Startadresse zu speichern, infrage?

Das mit BeginPaint()/EndPaint() habe ich soweit verstanden. Allerdings, wo wird dann der Fensterrand und der Titelbar eigentlich gezeichnet?

.

Geändert von Nintendo (26. Mai 2012 um 21:39 Uhr)
  Mit Zitat antworten Zitat