Wir haben eine Legacy-Anwendung in C geschrieben, die WinAPI verwendet. Wir möchten in einigen unserer Dialogfelder die Schaltfläche "Ja zu allen" hinzufügen. Leider erlaubt die vorhandene MessageBox-Funktion keine benutzerdefinierten Schaltflächen oder Schaltflächenbeschriftungen.Wie kann ich einen "Ja zu allen" Button mit WinAPI erstellen?
Was ist der beste Weg, dies zu tun? Gibt es einen raffinierten Hack, um einfach eine benutzerdefinierte Schaltfläche hinzuzufügen? Oder sollten wir unseren eigenen MessageBox-Ersatz erstellen?
Um, erstellen Sie eine Schaltfläche und geben Sie die Beschriftung "Ja zu allen"? Ich denke, Sie müssen etwas genauer sein. –
MessageBox in der WinAPI ermöglicht anscheinend nicht das Erstellen eigener Schaltflächen und das Erstellen von benutzerdefinierten Beschriftungen. Das wäre das Erste gewesen, was ich versucht hätte. – Brown
Sie können MessageBox() anpassen. Verwenden Sie SetWindowsHookEx(), um einen Thread-spezifischen CBT-Hook direkt vor dem Aufrufen von MessageBox() zu installieren. Wenn der Hook ausgelöst wird, haben Sie Zugriff auf das HWND des Dialogs und können alles tun, was Sie möchten (zusätzliche untergeordnete Steuerelemente hinzufügen, Steuerelemente verschieben, Text ändern usw.). –