Ответ
 
Опции вопроса Поиск в этом вопросе Опции просмотра
  #1  
Старый 28.09.2011, 22:00
Аватар для Guest
Guest
Вопрос
Сообщений: n/a
По умолчанию

Я пытаюсь написать плагин для Total Commander с помощью QT. Плагин это dll, которая обязана реализовать следующую простую функцию:Код:HWND __stdcall ListLoad(HWND parentWin, char* fileToLoad, int ShowFlags);Т.е. мне нужно показать QWidget, который будет потомком (в смысле Windows) для parentWin. parentWin, естественнно, к QT отношения не имеет. Я безуспешно пробовал следующий подход:Код:class ListerWidget : public QWidget{public: ListerWidget(HWND listerWin) { // нужно сохранить и восстановить WindProc, т.к. QT ее затрет, // у окна листера она и так уже есть и QT WindProc ему не к чему LONG oldWinProc = GetWindowLong(listerWin, GWL_WNDPROC); create(listerWin, false, false); SetWindowLong(listerWin, GWL_WNDPROC, oldWinProc); }};Далее где-то внутри ListLoad:Код: ListerWidget *lister = new ListerWidget(parentWin); MyWidget *w = new MyWidget(lister); w->show();Все зашибись работает, кроме того, что MyWidget не показывается в листере. Что не так? Можно ли поступить как-нибудь по-другому?
Ответить с цитированием
Ответ



Похожие вопросы
Тема Автор Раздел Ответов Последний вопрос или ответ
Как создать полоску с левой стороны окна, как в hard die 4? Guest Новые вопросы и ответы 5 0 27.09.2011 19:13
Как создать Окно QWidget дочернее от CWnd или другого ??? Guest Третий архив вопросов и ответов 0 27.09.2011 13:23
Был ли Ной потомком Каина? Есть вообще где-то родословие Ноя? Guest Продолжение архива вопросов 0 04.09.2011 18:09



© www.otvetnemail.ru - Форум вопросов и ответов.