Aus Viw.cpp auf Eigenschaft in MainFrame zugreifen



  • AfxGetMainWnd holt dir nen Pointer aufs MainFrame ... aber das solltest du dafür nicht brauchen ^^



  • Hmmm in meinem Buch steht aber dass die geometrischen Eigenschaften meines Fensters in MainFRame geändert werden müssen, das klappt ja soweit auch aber wie mach ich das zur laufzeit also au sem Code heraus ?

    regards
    ShadowEater



  • Mit AfxGetMainWnd und SetWindowPos (oder einer anderen passenden CWnd Funktion).



  • Hi estardu;)

    Mit AfxGetMainWnd und SetWindowPos

    , das ändert die Fensterposition, aber wenn ich in meinem Menu auf On_File_New gehe, dann soll sich zur Laufzeit die grörre des SDI von cx = 100 auf Cx = 500 vergrößern !

    regards
    ShadowEater



  • Gegenfrage: Was macht cs.cx? Was ist das? Wann "lebt" es?

    Afair lebt es nur kurz ver der Erstellung des Hauptfensters und dient zu dem Zeitpunkt dazu, das Aussehen des Fensters festzulegen.
    Danach (sobald du die Chance hast, einen Menüpunkt überhaupt zu sehen) ist es weg und du musst auf andere Methoden zurückgreifen.



  • cs ist das Ceatestruct der Funktion P

    PreCreateWindow(CREATESTRUCT& cs)
    

    und cx die Ausdehnung des Fensters in x-Richtung.
    Wird vor der eigentlichen Erstellung aufgerufen und definiert das Aussehen also die grösse des Fensters bei seiner Erstellung.

    Situation:
    Mein Fenster ist schon erstellt(sichtbar), darum bringt PRECreate nichts!

    Ich habs schon mit

    CView::OnInitialUpdate();
    

    versucht, klappt aber auch net.

    regards
    ShadowEater



  • Okay, dann sind wir immerhin einer Meinung, fein. 😉
    Und was ist dein Argument gegen SetWindowPos?



  • Argumente dagegen ?
    😉
    garkeine estardu aber

    void CAaahhhrgggView::OnFileNew() 
    {
    	SetWindowPos (NULL,300,300,500,500,NULL);
    }
    

    da tut sich leider gar nix.

    😉
    regards ShadowEater



  • Sry falsch kopiert

    SetWindowPos (&CWnd::wndTop,300,500,500,500,NULL);
    

    klappt aber trotzdem nicht !

    regards
    ShadowEater



  • ShadowEater schrieb:

    Argumente dagegen ?
    😉
    garkeine estardu aber

    void CAaahhhrgggView::OnFileNew() 
    {
    	SetWindowPos (NULL,300,300,500,500,NULL);
    }
    

    da tut sich leider gar nix.

    😉
    regards ShadowEater

    Vom Copyfehler mal abgesehen... lies das nochmal:

    estartu schrieb:

    Mit AfxGetMainWnd und SetWindowPos (oder einer anderen passenden CWnd Funktion).

    Für welches Fenster versuchst du mit deinem Code die Position festzulegen?
    Und welches willst du eigentlich?
    😉



  • 😡 AAAAAAAHHHHHHHHHHHHHHHHRRRRRRRRRRRRRGGGGGGGGGGGGGGGGGGGHHHHHHHHHH 😡

    Ich glaub ich geh jetzt Heim, ich brauch Urlaub oder so Näää ehrlich zu Arg, vieeeelllllll zu arg !
    45 min. an so nem Sch.... !
    Ich halts net aus. Ich will net mehr ! *** heul ***
    Ich mach jetzt schon seit gut 14 Tagen die MFC regelmässig und dann sowas !
    🙄
    👍 Danke estardu dass Du deine Zeit einem üblen Lamer geopfert hast 👍

    CMainFrame *pFrame = (CMainFrame*)AfxGetMainWnd();
            pFrame->SetWindowPos (&CWnd::wndTop,0,0,500,500,SWP_SHOWWINDOW);
    

    so klappts.

    ...resignierend und über Existenz gübelnd...
    ShadowEater



  • Hey, nimm dir nen Kaffee und denk daran, dass dir sowas wohl nicht so schnell wieder passiert. 😉
    Und: Solange du mitarbeitest hab ich so viel Zeit wie möglich. 🙂

    PS: Ich lern grade noch ne andere Sprache... witzig dass man da vor genau solchen Problemen wieder steht. 🙄



  • Stimmt, man lernt aber besser damit umzugehen und findet so schneller die Lösung ! 🙂
    Was für ne Sprache ?
    Gar Assembler 😉

    ShadowEater



  • Neee, Assembler hatte ich in der Schule. 😮
    Es ist Java.

    Teils ist es wesentlich besser zu handhaben als die MFC... und manchmal bricht man sich einen ab. Hab grade 3 Stunden gesucht und gebastelt um das aktuelle Datum im Format TT.MM.JJJJ zu bekommen. 🙄



  • Jo, Java hab ich mal kurz in einer Schulung gestreift, was mich da fasziniert hat war die im Vergleich zu C++ und gerade zu MFC fast gottgleiche kommentierung und Dokumentierung der Sprache, Syntax und Features !

    😉
    ShadowEater


Anmelden zum Antworten