Erstellen von Formularen ohne Verwendung von VCL

7

Ich muss ein Formular erstellen (mit CreateWindow functions) ohne Hilfe von VCL (oder einem visuellen Steuerelement) nur mit der Windows-API.

Dieses Formular wird ein InputBox , ein Button und ein BitMap (wie TImage ) haben.

Ich konnte keine Probe im Internet finden. Kennt jemand einen guten Platz, wo ich neben MSDN eine Probe herunterladen kann?

    
Rafael Colucci 16.04.2012, 19:00
quelle

5 Antworten

15

Dies ist eine Beispiel-App, die nur das WinApi verwendet, um Windows mit einer statischen, bearbeiten und Schaltfläche zu erstellen, ich lasse Ihnen die Anzeige der Bitmap-Anzeige als Übung für Sie.

%Vor%

    
RRUZ 16.04.2012, 19:40
quelle
9
  

Kennt jemand einen guten Platz, wo ich neben MSDN eine Probe herunterladen kann?

Ich habe die folgenden Beispiele mit einer kursiven Websuche gefunden:

Ich bin mir sicher, dass es noch viel mehr gibt, aber diese beiden sollten dich beginnen.

Um jedoch mit einer rohen Win32-GUI überallhin zu kommen, brauchen Sie wirklich ein starkes Verständnis des Windowing-Frameworks. Dafür empfehle ich Programmierfenster von Charles Petzold < Das Buch, von dem alle Old-School-Windows-1.0-Programmierer damals gelernt haben. Ja, es ist alt, aber es deckt die Grundlagen, die Sie brauchen, so gut wie immer.

    
David Heffernan 16.04.2012 19:21
quelle
9

Peter Below hat einen Thread Splashscreen für Delphi geschrieben, der nur Windows-API verwendet.

Sehen Sie, wie es gemacht wird:

%Vor%

Diese Komponente kann ein Bild und eine Nachricht in einer Statusleiste nur mit der Windows-API anzeigen. Ein Hintergrundthread wird verwendet, um das Fenster anzuzeigen, wenn Sie die Methode Show aufrufen. Die einzige Eigenschaft, die danach geändert werden kann, ist das Bild, vorausgesetzt, es hat die gleiche Größe wie das Original.

    
LU RD 16.04.2012 19:44
quelle
3

Wenn Sie ohne VCL auskommen möchten, empfehlen wir Ihnen, die Key Objects Library zu überprüfen, damit Sie leichtgewichtige GUI-Apps erstellen können.

    
whosrdaddy 16.04.2012 20:22
quelle
1

Ich weiß, dass MadExcept gerade WinAPI verwendet, um sein Ausnahmedialogfeld zu erstellen, weil es in der Lage sein muss, es von anderen Threads als dem Hauptdialogfeld anzuzeigen, und die VCL kann das nicht tun. MadExcept ist kostenlos, aber leider ist der Code dazu nicht. Aber es ist auch nicht zu teuer. Das könnte also eine Quellcode sein, um zu studieren, wenn Sie es haben. (Und wenn Sie das nicht tun, sollten Sie zumindest einen Blick darauf werfen. Es ist das nächstbeste, um einen Debugger tatsächlich mit dem System eines Benutzers verbinden zu können, wenn ein Fehler auftritt.)

    
Mason Wheeler 16.04.2012 19:05
quelle

Tags und Links