Panel als Child-Window

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Panel als Child-Window

    Hallo,

    ich habe eine App welche ein Window auf einem zweiten Monitor anzeigt - das ScoreBoard. Nun will ich einen Timer anzeigen, der von 60 im Sekundentakt runter zählt. Allerdings wird dieser Timer nicht immer benötigt.

    Nun möchte ich den Timer als NSPanel realisieren, das als Child-Window dem ScoreBoard zugeordnet ist.

    Jetzt habe ich damit schon mit NSPanel und Child-Window experimentiert. Nur bekomme ich das Child-Window nicht so platziert, dass es in der rechten unteren Ecke des ScoreBoards angezeigt wird.

    So habe ich es versucht, nur es ist mehr ein Zufalls-Ort an dem das Panel erscheint.

    Quellcode

    1. NSRect windowRect = self.window.frame;
    2. NSRect panelRect = self.timerPanel.frame;
    3. panelRect.origin.x = windowRect.origin.x + (windowRect.size.width - panelRect.size.width);
    4. panelRect.origin.y = windowRect.origin.y;
    5. [self.timerPanel setFrameOrigin:panelRect.origin];
    6. self.timerPanel.floatingPanel = YES;
    7. [self.window addChildWindow:self.timerPanel
    8. ordered:NSWindowAbove];

    So wird das Child-Window sichtbar ...

    Quellcode

    1. [self.timer startWithTime:self.time andEndTime:self.endTime];
    2. [self.timerPanel orderFront:nil];

    und so verschwindet es wieder.

    Quellcode

    1. [self.timerPanel orderOut:nil];
    2. [self.timer stop];
    Wie kann ich das NSPanel exakt platzieren?
    Wenn Du immer nur das tust was du schon kannst - wirst du immer das bleiben, was du heute bist.