Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

Chase

Alter Hase

  • »Chase« ist der Autor dieses Themas

Beiträge: 753

Wohnort: Nagaoka / Darmstadt / Düsseldorf

Beruf: fauler Studi

  • Private Nachricht senden

1

03.09.2006, 20:12

Welche WinAPI-Alternativen gibt es?

Ich bin ja eigentlich recht zufrieden damit alles per WinAPI und "von Hand" zu machen, aber ich frage mich schon ob es nich einfacher geht.

Als erstes hab ich mich auf MFC gestuerzt, aber das Tutorial verwendet eigentlich bloss den VS-Assistenten (der in der Express-Version nicht mal enthalten ist). Bringt es das ueberhaupt die MFCs 'manuell' anzuwenden?

Die naechste Methode die ich kenne ist, Dialoge mit einem Ressourcen-Editor zu erstellen. Ich glaub da gibts nicht viel zu zu sagen, fuer grosse Projekte ziemlich ungeeignet.

Was mir jetzt erst aufgefallen ist, ist der Code der von VS Express erzeugt wird wenn ich eine "Form Application" erstelle. Der sieht dann so aus:

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
using namespace WinForm;

[STAThreadAttribute]
int main(array<System::String ^> ^args)
{

    // Create the main window and run it

    Application::Run(gcnew Form1());
    return 0;
}

Aha, schon mal managed-cpp.. nun gut.
Aber was ist das, womit hier Fenster erzeugt werden ?

C-/C++-Quelltext

1
2
3
4
5
6
7
8
    public ref class Form1 : public System::Windows::Forms::Form
    {
    public:
        Form1(void)
        {
            InitializeComponent();

        }


Was ich eigentlich gesucht hab war eine einfache Uebersicht aller Alternativen um mit C++ Windows-Programme zu schreiben. Vielleicht kann mir da jemand weiterhelfen.
"Have you tried turning it off and on again?"

2

03.09.2006, 20:39

MFC ... nuja ... du hast dich scheinbar nicht informiert ... VC 2005 Express hat des net ... Standard schon ...

Kannst dir auch nen Wrapper schreiben ... MFC ist nix anderes ... gibt noch viele andere ...
Devil Entertainment :: Your education is our inspiration
Der Spieleprogrammierer :: Community Magazin
Merlin - A Legend awakes :: You are a dedicated C++ (DirectX) programmer and you have ability to work in a team? Contact us!
Siedler II.5 RttR :: The old settlers-style is comming back!

Also known as (D)Evil

Chase

Alter Hase

  • »Chase« ist der Autor dieses Themas

Beiträge: 753

Wohnort: Nagaoka / Darmstadt / Düsseldorf

Beruf: fauler Studi

  • Private Nachricht senden

3

03.09.2006, 20:51

Jo is mir schon klar, das MFC auch "nur" die WinAPI benutzt.
Aber auch wenn VS-Express kein MFC-Assistenten hat, kann ich doch - die libs und DLLs vorausgesetz - die Klassen benutzen und MFC-Code schreiben. Von Hand halt.. die Frage ist nur wie viel Sinn das macht.

Zitat von »"Devil"«

Kannst dir auch nen Wrapper schreiben [... ] gibt noch viele andere ...

Und eben die mein ich. Welche gibts da so ?
"Have you tried turning it off and on again?"

4

03.09.2006, 20:58

.NET

Zitat

Aber was ist das, womit hier Fenster erzeugt werden ?

C-/C++-Quelltext

1
2
3
4
5
6
7
8
    public ref class Form1 : public System::Windows::Forms::Form 
    { 
    public: 
        Form1(void) 
        { 
            InitializeComponent(); 

        }

Schau mal in die Methode InitializeComponent, die ist auch in der Class Form1.

MFC
Visual C++ 2005 Express bietet keinen MFC-Support an. Es werden auch nicht die Headerdateien mitgeliefert, und im Platform SDK sind die so weit ich weiß auch nicht drin.
Und direkt MFC zu coden bringt imho auch nicht sonderlich viel, da nimm dann schon lieber direkt die WinAPI.

Chase

Alter Hase

  • »Chase« ist der Autor dieses Themas

Beiträge: 753

Wohnort: Nagaoka / Darmstadt / Düsseldorf

Beruf: fauler Studi

  • Private Nachricht senden

5

03.09.2006, 21:13

Zitat von »"kaid"«


Schau mal in die Methode InitializeComponent, die ist auch in der Class Form1.

Ne, ich frage mich welche Methode das genau ist die hier benutzt wird. Sowas wie System::Windows::Forms::Form sieht schwer nach nem weiteren Win-API-Wrapper aus.

Zitat von »"kaid"«

Und direkt MFC zu coden bringt imho auch nicht sonderlich viel, da nimm dann schon lieber direkt die WinAPI.

Ok danke, das erspart mir jetzt ne Menge Arbeit.. ich hab schon damit angefangen :)
"Have you tried turning it off and on again?"

6

03.09.2006, 21:19

Zitat

Ne, ich frage mich welche Methode das genau ist die hier benutzt wird. Sowas wie System::Windows::Forms::Form sieht schwer nach nem weiteren Win-API-Wrapper aus.

Jop, .NET ist im Großen und Ganzen (Frage an Deutschprofis: Ist das korrekt so? :D) eigentlich nur ein WinAPI-Wrapper.

Chase

Alter Hase

  • »Chase« ist der Autor dieses Themas

Beiträge: 753

Wohnort: Nagaoka / Darmstadt / Düsseldorf

Beruf: fauler Studi

  • Private Nachricht senden

7

03.09.2006, 21:38

Zitat von »"kaid"«

Zitat

Ne, ich frage mich welche Methode das genau ist die hier benutzt wird. Sowas wie System::Windows::Forms::Form sieht schwer nach nem weiteren Win-API-Wrapper aus.

Jop, .NET ist im Großen und Ganzen (Frage an Deutschprofis: Ist das korrekt so? :D) eigentlich nur ein WinAPI-Wrapper.

Aha das ist also .NET.. gut zu wissen :) Ist .NET zwingend an Managed-C++ gebunden?
("im Großen und Ganzen" stimmt so :))
"Have you tried turning it off and on again?"

Sicaine

unregistriert

8

03.09.2006, 21:44

Willst jetzt ne alternative fuer die WinApi(dies nich gibt) oder ne einfache Moeglichkeit fuer widgets? Wenns das 2te is: qt z.b.

Chase

Alter Hase

  • »Chase« ist der Autor dieses Themas

Beiträge: 753

Wohnort: Nagaoka / Darmstadt / Düsseldorf

Beruf: fauler Studi

  • Private Nachricht senden

9

03.09.2006, 21:51

Zitat von »"Sicaine"«

Willst jetzt ne alternative fuer die WinApi(dies nich gibt) oder ne einfache Moeglichkeit fuer widgets? Wenns das 2te is: qt z.b.

Ich hab einen "Wrapper" wie MFC einfach mal als Alternative angesehen und ja genau sowas mein ich. Ich will keine bestimmte benutzen, ich wollt mir viel mehr eine Uebersicht verschaffen was es so alles gibt.
Aber ich schaetze mal sowas wie QT gibts haufenweise.

EDIT:
So hab ich das ganze mal aufgebaut, korriegiert mich wenn ich falsch liege

Quellcode

1
2
3
4
5
6
- direkt mit der WinAPI
   -> Mit WinAPI Wrappern:
        - MFC
        - sonstige nicht-MS Wrapper (QT, etc)
   -> .NET
- Mit Ressourcen (kann das mal jemand erklaeren, Link tuts auch)
"Have you tried turning it off and on again?"

Paul_C.

Frischling

Beiträge: 81

Wohnort: Duisburg

  • Private Nachricht senden

10

03.09.2006, 22:18

Zitat von »"kaid"«

Jop, .NET ist im Großen und Ganzen (Frage an Deutschprofis: Ist das korrekt so? :D) eigentlich nur ein WinAPI-Wrapper.


Das würde ich so nicht stehen lassen.

Werbeanzeige