tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
2
ZUGRIFFE
1694
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Firestormer Firestormer ist offline Rookie
    Registriert seit
    Oct 2003
    Beiträge
    9
    Hallo!

    Ich habe eine dialogfeldbasierende Anwendung, die ein MS Word Dokument startet. Danach ist MS Word im Vordergrund, ich will jedoch mein Dialogfeld im Vordergrund haben!

    Welche Befehle kann ich hier anwenden?
    Wenns geht mit Code-Beispiel!

    mfG
    Firestormer
     

  2. #2
    Registriert seit
    Jul 2003
    Ort
    Duisburg (NRW)
    Beiträge
    1.788
    Ich habe hier einen Schnipsel aus einem Projekt von mir. Der müsste dir weiterhelfen und zeigt das in den Vordergrundbringen des Dialoges mit SetWindowPos(). In meinem Fall wurde der Dialog noch mit ModifyStyleEx() als "Immer im Vordergrund" gekennzeichnet, aber darauf kannst du vielleicht verzichten - worauf es ankommt, ist SetWindowPos() mit den richtigen Parametern.
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    
    void CDebugDlg::ToTop( bool top ) 
    {
      m_bAlwaysOnTop = top;
     
      if ( m_bAlwaysOnTop ) 
      {
        ModifyStyleEx( 0, WS_EX_TOPMOST, SWP_NOSIZE | SWP_NOMOVE ); 
        SetWindowPos( &wndTopMost, 0, 0, 0, 0, SWP_NOSIZE | SWP_NOMOVE );
      }
      else
      {
        ModifyStyleEx( WS_EX_TOPMOST, 0, SWP_NOSIZE | SWP_NOMOVE );     
        SetWindowPos( &wndNoTopMost, 0, 0, 0, 0, SWP_NOSIZE | SWP_NOMOVE );
      }
    }
     
    Chor: "Wir sind der Chor, und wir stimmen zu. Wir stimmen zu, wir stimmen zu, wir stimmen zu."

  3. #3
    santiagopicard santiagopicard ist offline Grünschnabel
    Registriert seit
    Feb 2004
    Beiträge
    2
    Als ich mal Probleme mit dem Focus und Fenster in den Vordergrund bringen hatte, habe ich mir eine eigene setFocus-Methode geschrieben.

    void Bezugsseite::setFocus(int ctrlID)
    {
    // ***********************************************************
    // *** Focus auf ein Control setzen
    // ***********************************************************
    // *** Fenster aktivieren
    this->SetActiveWindow();
    // *** Focus setzen
    GetDlgItem(ctrlID)->SetFocus();
    // *** aktives Control merken
    m_CtrlAktiv_ID = ctrlID;
    }

    Vorschlag:
    Wenn Dein Fenster in der Variablen pWnd steckt, dann versuch es mal mit:
    pWnd->SetActiveWindow();
    und setze anschließend den Focus auf das gewünschte Control:
    GetDlgItem(IDC...)->SetFocus();

    Viel Erfolg
    Santiago
     

Ähnliche Themen

  1. Aus C++ Anwendung Java-RCP-Anwendung aufrufen
    Von Jonny1303 im Forum C/C++
    Antworten: 4
    Letzter Beitrag: 08.02.10, 20:13
  2. aus C++ Anwendung Java-RCP-Anwendung aufrufen
    Von Jonny1303 im Forum Enterprise Java (JEE, J2EE, Spring & Co.)
    Antworten: 0
    Letzter Beitrag: 05.02.10, 16:06
  3. Win32API Anwendung auf MFC-Anwendung portieren
    Von Cappaja im Forum VisualStudio & MFC
    Antworten: 3
    Letzter Beitrag: 10.05.09, 16:42
  4. Prüfen, ob eine Anwendung im Vordergrund ist?
    Von vfl_freak im Forum Swing, Java2D/3D, SWT, JFace
    Antworten: 10
    Letzter Beitrag: 28.01.09, 10:32
  5. [VB6] Laufende Anwendung in den Vordergrund stellen
    Von Mark031969 im Forum Visual Basic 6.0
    Antworten: 4
    Letzter Beitrag: 07.04.05, 21:08