`CDialog :: SetWindowPos` сбой - PullRequest
       2

`CDialog :: SetWindowPos` сбой

1 голос
/ 22 марта 2011

Если я вызову CDialog::SetWindow в диалоговом окне, построенном следующим образом: CDialog *tmp=new CDialog(IDD_TEST, theParent);, то произойдет сбой. Если я позвоню, CDialog *tmp=new CDialog(); tmp->Create(IDD_TEST, theParent);, то это не так. Как получилось?

1 Ответ

3 голосов
/ 22 марта 2011

MFC довольно забавно. Создание объекта C ++ не создает соответствующего окна; это двухэтапный процесс. Ваш второй пример делает это точно так, как задумал Microsoft, создав класс C ++ и затем создав окно, которым он должен управлять. Если вы попытаетесь вызвать функцию управления окном до того, как окно появится, произойдут плохие вещи.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...