Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » VC++ / MFC » CTabCtrl: Dialogwechsel per Pfeiltaste

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
16.10.2005, 10:56 Uhr
oli2006



Wie bekommt man es hin dass in einem CTabCtrl die Dialoge gewechselt werden wenn man die einzelnen Tabs mit den Pfeiltasten auswählt?
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
16.10.2005, 11:32 Uhr
Uwe
C/C++ Master
(Administrator)


Hallo,
Tabulatoreihenfolge festlegen. Wenn das CTabCtrl den Focus hat sollte die Steuerung über die Pfeiltasten funzen. (Macht's bei meinen Projekten jedenfalls.)
--
"Es ist schwierig, ein Programm wirklich idiotensicher zu machen, weil Idioten so genial sind."

Bis dann...
Uwe
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
16.10.2005, 11:47 Uhr
oli2006



Funktioniert bei mir nicht. Das CTabCtrl befindet sich alleine in einem Dialogfeld und bekommt gar nicht erst den Fokus (ist übrigens VC++ 6) und wenn ich dann den Fokus auf die Register setze kann ich zwar mit Pfeiltasten zwischen den Registern wechseln aber es wird kein anderer Dialog angezeigt
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
16.10.2005, 11:57 Uhr
Uwe
C/C++ Master
(Administrator)


Hallo,
Hm... Wie erzeugst Du die einzelnen Pages?
--
"Es ist schwierig, ein Programm wirklich idiotensicher zu machen, weil Idioten so genial sind."

Bis dann...
Uwe
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
16.10.2005, 12:14 Uhr
Uwe
C/C++ Master
(Administrator)


Nachtrag
natürlich musst Du auch die Seiten auch anzeigen lassen, wenn das Tastaturereignis eintritt. Bsp.:

C++:
void CDeinTabCtrl :: OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags)
{
    CTabCtrl::OnKeyDown(nChar, nRepCnt, nFlags);
    if (::GetKeyState(VK_LEFT) || ::GetKeyState(VK_RIGHT)){
        ..........
        ..........
        }
}

--
"Es ist schwierig, ein Programm wirklich idiotensicher zu machen, weil Idioten so genial sind."

Bis dann...
Uwe

Dieser Post wurde am 16.10.2005 um 12:14 Uhr von Uwe editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
16.10.2005, 12:35 Uhr
oli2006




C++:
void CTestView::OnInitialUpdate()
{
  // TabCtrl

  TC_ITEM tcItem;

  tcItem.mask = TCIF_TEXT;
  tcItem.pszText = _T("Suche");
  tcItem.cchTextMax = (int) strlen(_T("Suche"));
  m_tabMyTabCtrl.InsertItem(0, &tcItem);

  tcItem.mask = TCIF_TEXT;
  tcItem.pszText = _T("Statistik");
  tcItem.cchTextMax = (int) strlen(_T("Statistik"));
  m_tabMyTabCtrl.InsertItem(2, &tcItem);

  m_tabMyTabCtrl.Init();
}

CMyTabCtrl::CMyTabCtrl()
{
  m_tabPages[0]=new CTabSuche;
  m_tabPages[1]=new CTabStatistik;
  
  m_nNumberOfPages=2;
}

CMyTabCtrl::~CMyTabCtrl()
{
  for(int nCount=0; nCount < m_nNumberOfPages; nCount++)
  {
    delete m_tabPages[nCount];
  }
}

void CMyTabCtrl::Init()
{
  m_tabCurrent=0;
  
  m_tabPages[0]->Create(IDD_SUCHE, this);
  m_tabPages[1]->Create(IDD_STATISTIK, this);

  m_tabPages[0]->ShowWindow(SW_SHOW);
  m_tabPages[1]->ShowWindow(SW_HIDE);

}

void CMyTabCtrl::OnLButtonDown(UINT nFlags, CPoint point)
{
  CTabCtrl::OnLButtonDown(nFlags, point);

  if(m_tabCurrent != GetCurFocus())
  {
    m_tabPages[m_tabCurrent]->ShowWindow(SW_HIDE);
    m_tabCurrent=GetCurFocus();
    m_tabPages[m_tabCurrent]->ShowWindow(SW_SHOW);
    m_tabPages[m_tabCurrent]->SetFocus();
  }
}



- in OnInitialUpdate wird das TabCtrl erzeugt
- die Methoden sind in der Klasse CMyTabCtrl, die von CTabCtrl abgeleitet ist

ich hoffe, das hilft um mein Problem besser zu verstehen
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
16.10.2005, 14:32 Uhr
Uwe
C/C++ Master
(Administrator)


Hallo,
wie bereits geschrieben reagierst Du, so wie es aussieht, nur auf das Mausereignis und nicht auf die Tastatur.
--
"Es ist schwierig, ein Programm wirklich idiotensicher zu machen, weil Idioten so genial sind."

Bis dann...
Uwe
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
16.10.2005, 14:37 Uhr
oli2006



Danke. Werde ich gleich probieren zu ändern. Und das Problem das ich beim Start des Programms den Focus auf das TabCtrl nur per Mausklick bekomme und nicht per Tabulator, wüsstest Du da woran das liegen könnte?
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ VC++ / MFC ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: