2009-06-29 1 views
2

Ich arbeite an einem Projekt, das die Qt/MFC Migration Framework verwendet und ich versuche, einige vorhandene MFC-Steuerelemente in einem Qt-Dialogfeld wieder zu verwenden.MFC-Steuerelement in einem Qt Tab Widget

Weiß jemand, ob es möglich ist, ein MFC-Steuerelement (CDialog oder CWnd) in einem QTabWidget einzufügen. Im Moment machen wir das Gegenteil, wir haben einen MFC-Dialog mit einem Tab-Control, das mit einer Mischung aus MFC-Tabs (CDialog) und Qt-Tabs (QWinWidget) bestückt ist. Dieser Ansatz bereitet mir jedoch Kopfschmerzen, da die QWinWidget-Steuerelemente nicht richtig gezeichnet werden und die Fokus- oder Tastatureingabe nicht korrekt empfangen werden. Ich hoffe, dass die Verwendung eines Qt-Dialogs mit einem QTabWidget besser funktioniert als dieser Ansatz.

Antwort

2

Wenn Sie QWinWidget verwenden, müssen Sie QWinHost kreuzt haben? Verwenden Sie einfach QWinHost als die Seiten für eine QTabWidget:

HWND w = ...; 
QTabWidget * tw = new QTabWidget; 
QWinHost * wh = new QWinHost; 
wh->setWindow(w); 
tw->addTab(tr("Page with Windows Control"), wh);