2016-06-14 7 views
0

enter image description hereIst es möglich, CommandLink-Dialogfelder in C++ mit WINAPI oder GDI + zu erstellen?

Das ist das Ergebnis, das ich erreichen möchte. Ich weiß, dass es "CommandLink" heißt und ich habe eine Weile gegoogelt, Sachen nur mit C# gefunden, nichts mit reinem C++. Ich fragte mich, ob es möglich war, etwas zu tun und wenn ja, wie ...

Vielen Dank im Voraus für jede Art von Hilfe!

+0

Ja, es ist möglich, aber Ihre Anfrage ist zu breit und nicht gut für Stack Overflow. –

+0

@CaptainObvlious: Ich habe gemerkt, dass es eigentlich ein schlechtes Format für eine Frage ist, aber du würdest meinen Tag machen, wenn du mich zur richtigen Wahl ansprechen könntest. Vielen Dank! –

+0

... und Sie würden jeden Tag zum Tag machen, wenn Sie sich etwas Zeit nehmen, um Ihren Beitrag zu verbessern. –

Antwort

4

Der Dialog, den Sie betrachten, ist die Task Dialog, die in Vista eingeführt wurde, um MessageBox() zu ersetzen (in der Tat, der Text in diesem Bild sagt so viel!).

Die Funktion TaskDialog() bietet Ihnen die grundlegendsten Funktionen des Dialogfelds, jedoch nicht die Funktionalität, nach der Sie suchen. Dafür benötigen Sie stattdessen TaskDialogIndirect(). Diese Funktion benötigt eine TASKDIALOGCONFIG structure. Die TDF_USE_COMMAND_LINKS Flagge des dwFlags Mitglieds tut, was Sie wollen.

Sie können auch selbst eine Command Link haben; Es ist nur eine standard BUTTON control mit der BS_COMMANDLINK style angewendet. Siehe How to Create a Command Link.

+0

Ich bekomme einen Fehler beim Verknüpfen von ComCtl32.lib, es sagt mir "Die Ordinalzahl 345 konnte nicht in der dynamischen Link-Bibliothek COMCTL32.dll gefunden werden" –

+1

Haben Sie eine Common Controls 6 Manifest? – andlabs

+0

Ich habe eine Manifest-Datei, die ich von hier kopiert: https://msdn.microsoft.com/en-us/library/bb756938.aspx –