Richrige Benutzung von IDS



  • In meinem Projekt deklarierte ich alle benutzten Strings am Anfang des Sources (main.cpp) per IDS wie z.B.

    #define IDS_Title = "Mein Titel"
        #define IDS_Message = "Meine Nachricht"
    
        MessageBox(hWnd, IDS_Message, IDS_Title, 0);
    

    Leider kann ich diese Strings nicht einfach wie folgt übergeben und ausgeben. Was mache ich falsch,
    bzw. wie würde man es machen, wenn der Code sauber sein soll? (Strings direkt verstreut im Source zu
    schreiben, fände ich etwas unschön)

    #define IDS_MENU_FILE                          = "Datei"
        #define IDS_MENU_FILE_EXIT                     = "Beenden" 
    
    ...
    
    enum
    {
    		IDM_FILE_EXIT,
                    IDM...
    }
    
    ...
    
    void MainWnd_CreateMenu(HWND hwnd)
    {
    	HMENU hMenubar;
    	HMENU hSubMenu;
    
    	// ------------------------------------------------------------       
    
    	hMenubar = CreateMenu();
    
    	// MENU FILE
    
    	hSubMenu = CreatePopupMenu();
    	AppendMenu(hMenubar, MF_STRING | MF_POPUP, hSubMenu, IDS_MENU_FILE)
    		AppendMenu(hSubMenu, MF_STRING, IDM_FILE_EXIT, IDS_MENU_FILE_EXIT)
    		EndMenu()
    }
    

    oder muss ich tatsächlich alles so wie folgt (im code verstreut) schreiben?

    AppendMenu(hSubMenu, MF_STRING, IDM_FILE_EXIT, L"Beenden")
    


  • Wenn Dein Project Unicode verwendet mußt Du Deine Zeichenketten auch als Unicode machen.

    #define IDS_Title = L"Mein Titel"
       #define IDS_Message = L"Meine Nachricht"
    


  • Das = gehört natürlich nicht in den define, so ist es besser

    #define IDS_Title    L"Mein Titel"
      #define IDS_Message  L"Meine Nachricht"
    


  • Super! Vielen Dank für die schnelle Antwort / Lösung! *top*


Anmelden zum Antworten