Eigene Texte für Buttons in MessageBox



  • Hallo zusammen!

    Ich möchte eine MessageBox ausgeben mit der Frage z.B. "Datei vorhanden. Uberschreiben?". Dabei möchte ich 3 Antwort-Möglichkeiten realisieren:
    "Ja", "Nein" und "Ja für alle". Wie kann ich den Text "Ja für alle" auf einen Button der MessageBox unterbringen (und ob es überhaupt geht)? Gibt es eine Standardlösung oder muss man das selber programmieren?

    Danke.



  • Hi,

    ja, das wirst du selber schreiben müssen, da MessageBox keine eigenen Texte auf den Knöpfen zulässt, um mit den Sprachversionen nicht durcheinander zu kommen.

    Ist aber gar nicht so viel schwer:
    1. Im Resourcen Editor deinen Dialog erstellen
    2. Aufrufen so

    INT_PTR hReturn;
    hReturn = DialogBox(hInstance, MAKEINTRESOURCE(IDD_MYDIALOG), NULL, &ConfDlgProc);
    
    if (hReturn == 1) return KNOPF_JA;
    if (hReturn == 2) return KNOPF_ALLE;
    
    return KNOPF_NEIN;
    

    Und die Dialog-Procedure etwa so:

    INT_PTR CALLBACK ConfDlgProc(HWND hWndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
    {
    switch (uMsg) 
    { 
    case WM_INITDIALOG:
    //Knöpfe voreinstellen mit SendDlgItemMessage...
    break;
    
    case WM_COMMAND:  //Knopf gedrückt
    switch (LOWORD(wParam)) 
    { 
    case IDOK:				
      return 1;					
    break;
    
    ... etc. pp.
    }
    
    return FALSE; 
    }
    


  • vielleicht is das hier noch interessant http://www.catch22.net/tuts/msgbox.asp



  • Danke!
    Das ist genau das, was ich gesucht habe!



  • Dafür gibt es bei CodeGuru auch ne Klasse!


Anmelden zum Antworten