Problem mit dem Dialog färben



  • Wo genau?



  • Oh, noch ein Problem, hatte ich ja schon ganz vergessen 🙄

    c:\Dokumente und Einstellungen\D.Derigs\Eigene Dateien\Visual Studio Projects\server\serverDlg.cpp(80) : error C3861: 'SetDialogBkColor': identifier not found, even with argument-dependent lookup
    




  • @SpyServer
    Das bringt mich nicht wirklich weiter

    *HEUL* ICH WILL DOCH NUR EINE LÖSUNG *HEUL*



  • @C++ Core
    lege Dir mal bitte einen anderen "Namen" zu...

    C++ Core schrieb:

    Das bringt mich nicht wirklich weiter
    *HEUL* ICH WILL DOCH NUR EINE LÖSUNG *HEUL*

    da fange ich gleich das Weinen an... schreibt mir Step by Step was ich tun soll... oder wie ???

    ...serverDlg.cpp(80) : error...

    du bist im falschen File... denn in der DialogKlasse wirst du die InitInstance() nicht finden !!! versuche es mal in deiner App-Klasse !!!

    Wo genau?

    oberhalb des DoModal() Aufrufs...

    ciao veganza





  • Ich möchte ja nicht unhöflich sein, aber es geht immer noch nicht!
    (Jetzt weiss ich aber, es liegt an mir)
    server.cpp

    BOOL CserverApp::InitInstance()
    {
    
    	// InitCommonControls() ist für Windows XP erforderlich, wenn ein Anwendungsmanifest
    	// die Verwendung von ComCtl32.dll Version 6 oder höher zum Aktivieren
    	// von visuellen Stilen angibt. Ansonsten treten beim Erstellen von Fenstern Fehler auf.
    	InitCommonControls();
    
    	CWinApp::InitInstance();
    
    	if (!AfxSocketInit())
    	{
    		AfxMessageBox(IDP_SOCKETS_INIT_FAILED);
    		return FALSE;
    	}
    
    	// OLE-Bibliotheken initialisieren
    	if (!AfxOleInit())
    	{
    		AfxMessageBox(IDP_OLE_INIT_FAILED);
    		return FALSE;
    	}
    
    	AfxEnableControlContainer();
    
    	// Standardinitialisierung
    	// Wenn Sie diese Features nicht verwenden und die Größe
    	// der ausführbaren Datei verringern möchten, entfernen Sie
    	// die nicht erforderlichen Initialisierungsroutinen.
    	// Ändern Sie den Registrierungsschlüssel unter dem Ihre Einstellungen gespeichert sind.
    	// TODO: Ändern Sie diese Zeichenfolge entsprechend,
    	// z.B. zum Namen Ihrer Firma oder Organisation.
    	SetRegistryKey(_T("Vom lokalen Anwendungs-Assistenten generierte Anwendungen"));
    	// Befehlszeile für die Automatisierung oder Registrierung bzw. das Aufheben der Registrierung von Optionen verarbeiten.
    	CCommandLineInfo cmdInfo;
    	ParseCommandLine(cmdInfo);
    	// Anwendung wurde mit /Embedding oder /Automation gestartet.
    	// Führen Sie die Anwendung als Automatisierungsserver aus.
    	if (cmdInfo.m_bRunEmbedded || cmdInfo.m_bRunAutomated)
    	{
    		// Klassenfactorys über CoRegisterClassObject() registrieren.
    		COleTemplateServer::RegisterAll();
    	}
    	// Anwendung wurde mit /Unregserver oder /Unregister gestartet. Entfernen
    	// Sie die Einträge aus der Registrierung.
    	else if (cmdInfo.m_nShellCommand == CCommandLineInfo::AppUnregister)
    	{
    		COleObjectFactory::UpdateRegistryAll(FALSE);
    		AfxOleUnregisterTypeLib(_tlid, _wVerMajor, _wVerMinor);
    		return FALSE;
    	}
    	// Anwendung wurde als Standalone oder mit anderen Optionen gestartet (z.B. /Register
    	// oder /Regserver). Aktualisieren Sie die Registrierungseinträge, einschl. der Typenbibliothek.
    	else
    	{
    		COleObjectFactory::UpdateRegistryAll();
    		AfxOleRegisterTypeLib(AfxGetInstanceHandle(), _tlid);
    		if (cmdInfo.m_nShellCommand == CCommandLineInfo::AppRegister)
    			return FALSE;
    	}
    	SetDialogBkColor(RGB(255, 0, 0), RGB(0, 255, 255));                // Die Farbwerte
    	CserverDlg dlg;
    	m_pMainWnd = &dlg;
    	INT_PTR nResponse = dlg.DoModal();
    	if (nResponse == IDOK)
    	{
    		// TODO: Fügen Sie hier Code ein, um das Schließen des
    		//  Dialogfelds über OK zu steuern
    	}
    	else if (nResponse == IDCANCEL)
    	{
    		// TODO: Fügen Sie hier Code ein, um das Schließen des
    		//  Dialogfelds über "Abbrechen" zu steuern
    	}
    
    	// Da das Dialogfeld geschlossen wurde, FALSE zurückliefern, so dass wir die
    	//  Anwendung verlassen, anstatt das Nachrichtensystem der Anwendung zu starten.
    	return FALSE;
    }
    


  • Das geht ganz einfach nicht 😉



  • SetDialogBkColor(RGB(255, 0, 0), RGB(0, 255, 255));

    solltest du weiter oben in die initinstance schreiben. Dort unten ist sie ja schon lange rausgesprungen mit irgendnem return wert.

    (Vermute ich zumindest)

    mfg, TFTS



  • Nein muss er nicht. Wichtig ist das es vor DoMOdal kommt. Sollte schon vorher rausgesprungen werden dann bringt ihm eine andere Farbe auch nichts da das Programm nicht startet.



  • Er hat es doch über DoModal() und es geht ja offensichtlich
    noch immer nicht.



  • Ich versteh das auch nicht!





  • C++ Core schrieb:

    Ich versteh das auch nicht!

    komisch, damit hätte wohl keiner gerechnet... 🙄
    kauf dir mal n buch! 🙂



  • Hat er doch bestimmt


Anmelden zum Antworten