Dialog und externe Daten/Zeiger



  • Hi!

    Ich habe einen Dialog, in den man alle möglichen Daten eingeben muss. Ich möchte, dass mit diesem Dialog eine struktur ausgefüllt ist, die ich aber noch außerhalb der DlgProc verwenden muss. Gibt es eine Möglichkeit, dem Dialog Zusatzdaten zu übergeben, zB die Adresse der auszufüllenden Struktur?



  • Das beste (besser: in allen Situaitonen einsetzbare und flexibelste) ist eine map<HWND, CMyWindowData>.

    Andere Möglichkeit: wenn der Dialog mit CreateDialog(Indirect)Param, oder DialogBox(Indirect)Param erzeugt wird, kannst du ein LPARAM mitgeben, das bei WM_INITDIALOG mitkommt.

    Du kannst dem Dialog auch eine eigene WNDCLASS geben, und noch ein paar extra-Bytes pro Femnsterinstanz (WNDCLASS.cbWndExtra) verpassen, wo du den LPARAM (und anderes) dann speichern kannst (SetWindowLong/GetWindowLong)


Anmelden zum Antworten