資源簡介
將Qt控件和窗口封裝進dll中,并使用MFC和Qt應用程序寫出demo來調用該dll。將dll中封裝的Qt窗口嵌入到主程序中,實現窗口渲染和消息傳遞。
代碼片段和文件信息
#include?“DialogManager.h“
#include?“libDialogQt.h“
#include?“libDialogWin.h“
DialogManager::DialogManager()
????:?inited_(false)
?????libDialogPtr_(nullptr)
{
}
DialogManager::~DialogManager()
{
}
bool?DialogManager::Initialize(const?libGlobalParam*?globalParam)
{
????bool?expected?=?false;
????if?(!inited_.compare_exchange_strong(expected?true))
????????return?true;
????if?(!globalParam?||?globalParam->hWindow?==?0)
????????return?false;
????if?(globalParam->appType?==?APPTYPE::MAT_QT?&&?!globalParam->qtApplication)
????????return?false;
????if?(globalParam->appType?==?MAT_QT)
????????libDialogPtr_?=?std::make_shared();
????else?if?(globalParam->appType?==?MAT_WIN)
????????libDialogPtr_?=?std::make_shared();
????return?libDialogPtr_->Initialize(globalParam);
}
void?DialogManager::ShowDialog()
{
????if?(inited_?&&?libDialogPtr_)
????????libDialogPtr_->ShowDialog();
}
bool?DialogManager::GetHandle(HWINDOW&?handle)
{
????if?(!inited_?||?!libDialogPtr_)
????{
????????handle?=?0;
????????return?false;
????}
????
????return?libDialogPtr_->GetHandle(handle);
}
void?DialogManager::Resize(int?width?int?height)
{
????if?(inited_?&&?libDialogPtr_)
????????libDialogPtr_->Resize(width?height);
}
void?DialogManager::HideDialog()
{
????if?(inited_?&&?libDialogPtr_)
????????libDialogPtr_->HideDialog();
}
void?DialogManager::Uninitialize()
{
????bool?expected?=?true;
????if?(!inited_.compare_exchange_strong(expected?false))
????????return;
????if?(libDialogPtr_)
????{
????????libDialogPtr_->UnInitialize();
????}
}
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件?????????50??2020-04-14?13:11??libQtIn\.git\COMMIT_EDITMSG
?????文件????????298??2020-03-02?10:29??libQtIn\.git\config
?????文件?????????73??2020-03-02?10:29??libQtIn\.git\desc
?????文件?????????23??2020-03-02?10:29??libQtIn\.git\HEAD
?????文件????????478??2020-03-02?10:29??libQtIn\.git\hooks\applypatch-msg.sample
?????文件????????896??2020-03-02?10:29??libQtIn\.git\hooks\commit-msg.sample
?????文件???????3327??2020-03-02?10:29??libQtIn\.git\hooks\fsmonitor-watchman.sample
?????文件????????189??2020-03-02?10:29??libQtIn\.git\hooks\post-update.sample
?????文件????????424??2020-03-02?10:29??libQtIn\.git\hooks\pre-applypatch.sample
?????文件???????1638??2020-03-02?10:29??libQtIn\.git\hooks\pre-commit.sample
?????文件???????1348??2020-03-02?10:29??libQtIn\.git\hooks\pre-push.sample
?????文件???????4898??2020-03-02?10:29??libQtIn\.git\hooks\pre-reba
?????文件????????544??2020-03-02?10:29??libQtIn\.git\hooks\pre-receive.sample
?????文件???????1492??2020-03-02?10:29??libQtIn\.git\hooks\prepare-commit-msg.sample
?????文件???????3610??2020-03-02?10:29??libQtIn\.git\hooks\update.sample
?????文件???????7012??2020-04-14?13:11??libQtIn\.git\index
?????文件????????240??2020-03-02?10:29??libQtIn\.git\info\exclude
?????文件???????2087??2020-04-14?13:11??libQtIn\.git\logs\HEAD
?????文件???????2087??2020-04-14?13:11??libQtIn\.git\logs\refs\heads\master
?????文件????????173??2020-03-02?10:29??libQtIn\.git\logs\refs\remotes\origin\HEAD
?????文件????????560??2020-03-05?17:44??libQtIn\.git\logs\refs\remotes\origin\master
?????文件????????155??2020-04-13?17:06??libQtIn\.git\ms-persist.xm
?????文件????????235??2020-03-02?14:38??libQtIn\.git\ob
?????文件????????182??2020-03-02?10:30??libQtIn\.git\ob
?????文件????????553??2020-03-02?14:40??libQtIn\.git\ob
?????文件????????227??2020-04-14?13:08??libQtIn\.git\ob
?????文件????????176??2020-03-05?17:44??libQtIn\.git\ob
?????文件?????100868??2020-04-14?13:08??libQtIn\.git\ob
?????文件????????544??2020-03-02?10:30??libQtIn\.git\ob
?????文件??????28014??2020-03-05?17:44??libQtIn\.git\ob
............此處省略511個文件信息
評論
共有 條評論