static in function



  • hi,

    void CCaptionD::OnSize(UINT nType, int cx, int cy)
    {
      static int t_y=0;
      CWnd::OnSize(nType, cx, cy);
      if (t_y!=cy) 
      {
        //TRACE("CCaptionD::OnSize hwnd:%x ID:%i\n", m_hWnd, ::GetWindowLong(m_hWnd, GWL_ID)); 
        t_y=cy;
    
        ...
      }
    

    ist das korrekt, das die statische variable t_y innerhalb einer funktion von allen instanzen der klassen gleichermaßen benutzt werden ???

    ich wollte das die variable t_y für jede instanz den wert temporär in der funktion speichert.

    gibt es noch eine andere möglichkeit als die variable statisch in die klasse unterzubringen.

    volker

    [ Dieser Beitrag wurde am 11.03.2003 um 12:19 Uhr von vdittrich editiert. ]



  • Ja, einfach als Membervariable.

    Aber in dem Fall brauchst du das doch garnicht da du WM_SIZE nur bekommst wenn sich das Fenster wirklich in der Größe geändert hat.



  • Direkt in die Klasse als Member und nichtstatisch



  • ok,

    Direkt in die Klasse als Member und nichtstatisch.

    ich wollte es mir einfach und übersichtlicher machen, da ich ohnehin schon viele member variablen in der klasse habe.

    ::bei änderung der höhe wird eine umfangreiche berechnung ausgeführt

    danke volker



  • Dann leg doch ne neue Klasse an, von der Du dann CCaptionD ableitest und in der Du die Berechnungen durchführst und die Höhenvariable speicherst ...



  • mm....

    danke volker


Anmelden zum Antworten