statusbar SetText mit 2 IDS texten

ja kompliert ohne porblem aber es ziegt mir jetzt kein Not Connected merh an!

habe nur an ein beispiel gestestet

Code:
//**************************************************************************************
 //  FUNCTION:   -	UpdateConnectionStatus()
 //  RETURNS:	-	
 //  PARAMETERS: -	
 //  COMMENTS:   -	Draws the right stuff on the status bar for connections..
 //**************************************************************************************
 LRESULT CMUTEMFC2Dlg::UpdateConnectionStatus(WPARAM, LPARAM lParam)
 {
 	CString str;	    		    	
 	m_ulLastNumOfConnections = (unsigned long) lParam;
 
 	str.Format( "%d ", m_ulLastNumOfConnections );
 	str += m_ExtStr.LoadString( IDS_TAB_TITLE_CONNECTIONS_TEXT_ENG + g_unStringLanguageIdOffset );		
 	m_oConnectionStatusLabel.SetText( str );
 	
 	if( 0 == m_ulLastNumOfConnections )
 	{	
 		m_oConnectionStatusLabel.SetBkColor( colRed );
 		statusbar.SetIcon(3,connicons[0]);
 		//statusbar.SetText(GetResString(IDS_NOTCONNECTED),3,0);
 		//statusbar.SetText(GetResString(IDS_MUTENET)+":"+ "Not Connected",3,0);
 		CString string=GetResString(IDS_MUTENET);
 		string+=":";
 		
 
 	}
 	else if( 1 == m_ulLastNumOfConnections )
 	{	
 		m_oConnectionStatusLabel.SetBkColor( colYellow2 );
 		statusbar.SetIcon(3,connicons[1]);
 		//statusbar.SetText(GetResString(IDS_CONNECTED),3,0);
 		//statusbar.SetText(GetResString(IDS_MUTENET)+":"+ "Connected",3,0);
 		//CString string=GetResString(IDS_MUTENET)+":"+IDS_CONNECTED,3,0);
 		//statusbar.SetText(string,3,0);
 		
 
 	}
 
 	else
 	{				
 		m_oConnectionStatusLabel.SetBkColor( colGreen );
 		statusbar.SetIcon(3,connicons[2]);
 		//statusbar.SetText(GetResString(IDS_CONNECTED),3,0);
 		//statusbar.SetText(GetResString(IDS_MUTENET)+":"+ "Connected",3,0);
 		//CString string=GetResString(IDS_MUTENET)+":"+IDS_CONNECTED,3,0);
 		//statusbar.SetText(string,3,0);
 		
 
 	}
 	m_oConnectionStatusLabel.Invalidate();
 	return (LRESULT) TRUE;
 }
 
Ja klar, du mußt es ja mit GetResString erst von der Ressource holen.
Sorry, ich mußte mich erst in dein Projekt reinfinden, deshalb die vielen Fehlversuche.
Aber mit meinem letzten Codeschnipsel sollte es eigentlich klappen.

Mfg

langer
 
es geht leider mit dem nicht habes probiert!
der IDS_NOTCONNECTED wird nicht angezeigt!

Code:
//**************************************************************************************
  //  FUNCTION:   -	UpdateConnectionStatus()
  //  RETURNS:	-	
  //  PARAMETERS: -	
  //  COMMENTS:   -	Draws the right stuff on the status bar for connections..
  //**************************************************************************************
  LRESULT CMUTEMFC2Dlg::UpdateConnectionStatus(WPARAM, LPARAM lParam)
  {
 	CString str;	 		 	
  	m_ulLastNumOfConnections = (unsigned long) lParam;
  
  	str.Format( "%d ", m_ulLastNumOfConnections );
 	str += m_ExtStr.LoadString( IDS_TAB_TITLE_CONNECTIONS_TEXT_ENG + g_unStringLanguageIdOffset );		
  	m_oConnectionStatusLabel.SetText( str );
  	
  	if( 0 == m_ulLastNumOfConnections )
  	{	
  		m_oConnectionStatusLabel.SetBkColor( colRed );
  		statusbar.SetIcon(3,connicons[0]);
  		//statusbar.SetText(GetResString(IDS_NOTCONNECTED),3,0);
  		//statusbar.SetText(GetResString(IDS_NOTCONNECTED),3,0);
  		CString string=GetResString(IDS_MUTENET)+":"+GetResString(IDS_NOTCONNECTED);
  		//string+=":";
  		
  
  	}
  	else if( 1 == m_ulLastNumOfConnections )
  	{	
  		m_oConnectionStatusLabel.SetBkColor( colYellow2 );
  		statusbar.SetIcon(3,connicons[1]);
  		//statusbar.SetText(GetResString(IDS_CONNECTED),3,0);
  		//statusbar.SetText(GetResString(IDS_MUTENET)+":"+ "Connected",3,0);
  		//CString string=GetResString(IDS_MUTENET)+":"+IDS_CONNECTED,3,0);
  		//statusbar.SetText(string,3,0);
  		
  
  	}
  
  	else
  	{				
  		m_oConnectionStatusLabel.SetBkColor( colGreen );
  		statusbar.SetIcon(3,connicons[2]);
  		//statusbar.SetText(GetResString(IDS_CONNECTED),3,0);
  		//statusbar.SetText(GetResString(IDS_MUTENET)+":"+ "Connected",3,0);
  		//CString string=GetResString(IDS_MUTENET)+":"+IDS_CONNECTED,3,0);
  		//statusbar.SetText(string,3,0);
  		
  
  	}
  	m_oConnectionStatusLabel.Invalidate();
  	return (LRESULT) TRUE;
  }
 
Dann setze mal einen Haltepunkt auf die Zeile und schau dir den String im Debugger an. Frage am Rande: Ist der Platz in der StatusBar groß genug? Er wird nicht automatisch angepaßt!

Mfg

langer
 
Hm, hast du dir den String mal angeschaut? Was steht denn eigentlich in der Ressource in der ID? Steht da als String auch wirklich "Connected"? Ich meine, die Funktion GetResString() arbeitet ja ordentlich, das sieht man an dem ersten String. Wenn der zweite nicht angezeigt wird, mußt du mal an der Stelle in der String-Formatierung suchen, wo er bleibt. Setze eventuell mal statt IDS_MUTENET IDS-CONNECTED in den ersten Aufruf. Aber erstmal schauen, was in der Ressource steht!

Mfg

langer
 
ja in der ID resource sthet ja auch was drin!

bevor ich mute-net: eigebaut hatte gehts es mit
einer IDS ohne porbleme!
aber bei diesem ohne das mute-net:
mit diesem befehl:
Code:
statusbar.SetText(GetResString(IDS_NOTCONNECTED),3,0);
hier mein Set Statusbar:
Code:
	// set statusbar
    	statusbar.Create(WS_CHILD|WS_VISIBLE|CCS_BOTTOM|SBARS_SIZEGRIP,CRect(0,0,0,0), this, IDC_STATUSBAR) ;
    	statusbar.EnableToolTips(true);
    	CRect rect;
    	statusbar.GetClientRect(&rect);
    	int widths[5] = { rect.right-675, rect.right-440, rect.right-250,rect.right-25, -1 };
    	statusbar.SetParts(5, widths);
    	statusbar.SetIcon(1,usericon);
    	statusbar.SetText(GetResString(IDS_UUSERS)+": 0",1,0);
    	
    	statusbar.SetIcon(3,connicons[0]);
    	statusbar.SetText(GetResString(IDS_MUTENET)+":",3,0);
    
    	statusbar.SetIcon(2,transicons[0]);
    	statusbar.SetText(GetResString(IDS_UPDOWN),2,0);

und mein UpdateConnectionStatus()

Code:
//**************************************************************************************
    //  FUNCTION:   -	UpdateConnectionStatus()
    //  RETURNS:	-	
    //  PARAMETERS: -	
    //  COMMENTS:   -	Draws the right stuff on the status bar for connections..
    //**************************************************************************************
    LRESULT CMUTEMFC2Dlg::UpdateConnectionStatus(WPARAM, LPARAM lParam)
    {
 	CString str;	 		 	
    	m_ulLastNumOfConnections = (unsigned long) lParam;
    
    	str.Format( "%d ", m_ulLastNumOfConnections );
 	str += m_ExtStr.LoadString( IDS_TAB_TITLE_CONNECTIONS_TEXT_ENG + g_unStringLanguageIdOffset );		
    	m_oConnectionStatusLabel.SetText( str );
    	
    	if( 0 == m_ulLastNumOfConnections )
    	{	
    		m_oConnectionStatusLabel.SetBkColor( colRed );
    		statusbar.SetIcon(3,connicons[0]);
    		//statusbar.SetText(GetResString(IDS_NOTCONNECTED),3,0);
    		statusbar.SetText(GetResString(IDS_MUTENET)+":"+ "Not Connected",3,0);
 		//CString string=GetResString(IDS_MUTENET)+":"+GetResString(IDS_NOTCONNECTED);
    		
    		
    
    	}
    	else if( 1 == m_ulLastNumOfConnections )
    	{	
    		m_oConnectionStatusLabel.SetBkColor( colYellow2 );
    		statusbar.SetIcon(3,connicons[1]);
    		//statusbar.SetText(GetResString(IDS_CONNECTED),3,0);
    		statusbar.SetText(GetResString(IDS_MUTENET)+":"+ "Connected",3,0);
    		//CString string=GetResString(IDS_MUTENET)+":"+IDS_CONNECTED,3,0);
    		
    		
    
    	}
    
    	else
    	{				
    		m_oConnectionStatusLabel.SetBkColor( colGreen );
    		statusbar.SetIcon(3,connicons[2]);
    		//statusbar.SetText(GetResString(IDS_CONNECTED),3,0);
    		statusbar.SetText(GetResString(IDS_MUTENET)+":"+ "Connected",3,0);
    		//CString string=GetResString(IDS_MUTENET)+":"+IDS_CONNECTED,3,0);
    		
    		
    
    	}
    	m_oConnectionStatusLabel.Invalidate();
    	return (LRESULT) TRUE;
    }
 
Zuletzt bearbeitet:
Kannst du mir die Stringtable noch mal rüberschicken?
Ansonsten schreibe mal folgendes:
Code:
CString string, string1;
string=GetResString(IDS_MUTENET)+":";         //Das funktioniert schon
string1=GetResString(IDS_NOTCONNECTED);  //Was steht denn hier nun drin?
string+=string1;
statusbar.SetText(string,3,0);
Dann setze einen Haltepunkt auf die erste Zeile und geh die drei Zeilen im Einzelschritt durch. Und schau nach, was erst in string, dann in string1 und danach in string steht.


Mfg


langer
 

Neue Beiträge

Zurück