2009-08-26 11 views
3

Ich mag GUI-Software schreiben (ich habe keine Erfahrung in der GUI-Programmierung) Ich brauche es, um klein zu sein und schnelle GUI und native Look and Feel in einer eigenständigen exe. nur auf Windows von Windows 2000 zu Windows 7 (oder was auch immer es genannt wird). was wird die beste Wahl sein? win32 api oder wxWidgets?native Win32 GUI-Programmierung in C++ oder wählen Sie WXWidgets?

+0

Welche IDE verwenden Sie? Visual Studio? –

Antwort

1

Sie sollten sich die Windows Template Library (WTL) ansehen.

+0

von was ich es gelesen habe basierend auf atl und ich habe die kostenlose vc-Version so geht es nicht zur Arbeit – user63898

3

Win32, Sie werden WxWidgets in Ihrem Paket nicht benötigen (es wird klein sein). Es ist schwieriger, aber ich denke, es ist besser ..

2

Verwenden Sie WXWidgets. Es ist einfacher im Vergleich zu win32 api .. auch einen Blick auf QT es ist einfacher und reicher.

+1

Gut wie Qt, es wird nicht die OP-Kriterien von "klein" erfüllen, da es einen Stapel von Qt-DLLs oder eine enorme statisch verknüpfte Bibliothek enthalten muss. –

+0

stimmte ich verpasste den "kleinen" Punkt. –

0

Mit Windows 7 ist ein Großteil der GUI-API nicht direkt für Win32-Anwendungen verfügbar. Stattdessen benötigen Sie WPF (Windows Presentation Foundation), um auf einige der neuen GUI-Elemente zuzugreifen, was bedeutet, dass Sie die Anwendung in C# schreiben müssten.

Natürlich, wenn Sie etwas von Windows 2000 Ziel, dann ist WPF nicht in Frage.

+1

Gibt es Beispiele für Windows 7-Funktionen, die nicht über WinAPI verfügbar sind? Ich glaube, dass Sie von WinAPI Zugriff auf alle Windows-Funktionen haben. –

+0

einfache win32 api gui Anwendung funktioniert nicht auf Windows 7? – user63898

+0

Es wird sicherlich auf Windows 7 funktionieren. Einige erweiterte GUI-Funktionen sind jedoch nicht leicht für die Win32-Anwendung verfügbar (insbesondere alle WPF-Steuerelemente, die auf DirectX aufbauen). –

1

Wenn Sie eine nicht freie Version von Visual Studio zur Verfügung haben, sollten Sie wahrscheinlich MFC (Microsoft Foundation Classes) verwenden. Dies ist im Wesentlichen mit der Windows-API, aber auf eine C++ Art und Weise.

+0

Ich habe die kostenlose Version von Visual Studio – user63898

+0

MFC ist schrecklich. Es verwendet überall Hacks, weil es geschrieben wurde, bevor der Microsoft C++ - Compiler Ausnahmesupport hatte. –

2

Ich musste vor zwei Jahren eine ähnliche Entscheidung treffen. Ich habe Win32 API gewählt. Es ist ein gewisser Stolz, die alte Schule zu meistern.

Btw, die Windows-API hat den Ruf, schmutzig und schlecht gestaltet zu sein. Dem stimme ich nicht zu. Ich finde es extrem flexibel und dennoch konsistent (für etwa 90%, da Rückwärtskompatibilitäts-Patches es etwas verschmutzen).

+2

Die API ist alles andere als konsistent. Um beispielsweise eine Zeichenfolge zurückzugeben, gibt es verschiedene Möglichkeiten, die Länge der Zeichenfolge bei Erfolg oder die erforderliche Puffergröße bei einem Fehler zurückzugeben.Es sieht so aus, als hätte jede Entwicklergruppe ihre eigene bevorzugte Art und Weise, dies zu tun, und es war ihnen allen erlaubt, ihren Weg zu finden. – mghie

-1

Ich denke, der einfachste Weg ist delphi: alles in einem Tool mit GUI-Designer, müssen nicht Frameworks bereitstellen, gut für Anfänger.

visual studio und .net ist mehr Perspektive Variante: robust, weit verbreitet, gute Dokumentation, große Gemeinschaft.

Qt und wxWidgets sind plattformübergreifende Lösungen. Aber ich nehme an, es ist raffinierter. Es ist akzeptabel, wenn Sie Ihre Programme auf etwas anderem als Windows ausführen möchten.