可以供MFC调用的,QT实现的DLL(qtwinmigrate实现)

MFC和QT的消息循环机制不同,所以,要让QT写的DLL可以供MFC调用,要做一点特殊的处理


#include <qmfcapp.h>
#include <qwinwidget.h>
#include <QtGui>#include <QtGui/QMessageBox>
#include <windows.h>
#include <QTextCodec>
#include "widget.h"BOOL WINAPI DllMain( HINSTANCE hInstance, DWORD dwReason, LPVOID /*lpvReserved*/ )
{static bool ownApplication = FALSE;//加入本地语言支持QTextCodec::setCodecForTr(QTextCodec::codecForLocale());QTextCodec::setCodecForCStrings(QTextCodec::codecForLocale());if ( dwReason == DLL_PROCESS_ATTACH ){ownApplication = QMfcApp::pluginInstance( hInstance );}if ( dwReason == DLL_PROCESS_DETACH && ownApplication ){qApp->quit();delete qApp;}return TRUE;
}extern "C" __declspec(dllexport) int ShowDialog( HWND parent)
{QWinWidget win(parent, NULL, Qt::Window);win.showCentered();win.center();QHBoxLayout hbox(&win);Widget *widget = new Widget(&win);widget->setWindowFlags(Qt::Window);hbox.addWidget(widget);win.show();qApp->exec();
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/448185.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

离合器的操作技巧

学车其实不难&#xff0c;学车最基本的几个操作&#xff0c;打方向盘、踩离合、踩刹车、换档位都是学员需要必学的基本操作&#xff0c;在网络驾校上有学员反应&#xff0c;对离合器的操作比较难&#xff0c;经常错误操作造成熄火等现象&#xff0c;现在泸州驾校论坛小编整理了…

Linux 上 安装 nginx、 阿里云服务器上安装 nginx

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 Docker 方式安装见另一文&#xff1a;Docker 方式安装 Nginx 、阿里云服务器上装 Ngnix 1. gcc 安装 安装 nginx 需要先将官网下载的源…

CSDN-markdown编辑器使用说明

欢迎使用Markdown编辑器 你好&#xff01; 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章&#xff0c;了解一下Markdown的基本语法知识。 新的改变 我们对Markdown编辑器进行了一些功能拓展与语法支持&#x…

本地Android源代码库下载源码

1. 安装repo 新建放置repo的bin目录 $ mkdir ~/bin $ echo "export PATH~/bin:\$PATH" >> ~/.bashrc$ source ~/.bashrc 获取repo并赋予可执行权限&#xff08;或者参考google官方网站&#xff09; $ curl https://storage.googleapis.com/git-repo-downloads/…

解决: Spring Boot报错 This application has no explicit mapping ... a fallback

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 启动spring boot然后访问页面的时候&#xff0c;出现如下错误&#xff1a; Whitelabel Error PageThis application has no explicit m…

三种钱非常奥妙 花越多就赚越多

世界上有三种钱非常奥妙&#xff0c;你花得越多就赚得越多。这是学校老师不会教的事&#xff0c;让我们看看&#xff1a; 第一种钱&#xff1a;投资自己&#xff0c;自我成长&#xff0c;学习的钱一定要花&#xff01; 如果我们把世界首富比尔.盖茨从美国抓到非洲&#xff0c…

#pragma once 与 #ifndef比较分析

为了避免同一个文件被include多次&#xff0c;C/C中有两种方式&#xff0c;一种是#ifndef方式&#xff0c;一种是#pragma once方式。在能够支持这两种方式的编译器上&#xff0c;二者并没有太大的区别&#xff0c;但是两者仍然还是有一些细微的区别。 方式一&#xff1a; #ifn…

中医:看脚十秒钟可知身体疾病

中医认为&#xff0c;自测疾病有很多方法&#xff0c;如通过身体部位可自测疾病&#xff0c;还可通过疼痛自测疾病等等。在这里&#xff0c;我们主要讲如何通过脚自测疾病。也许&#xff0c;许多人不太在意自己的脚部&#xff0c;是最不受“照顾”的一个身体部位。然而&#xf…

Springcloud 引导上下文

SpringCloud为我们提供了bootstrap.properties的属性文件&#xff0c;我们可以在该属性文件里做我们的服务配置。可是&#xff0c;我们知道SpringBoot已经为我们提供了做服务配置的属性文件application.properties&#xff0c;那么这两个配置文件有什么区别呢&#xff1f;在Spr…

Springboot 项目中过滤器的使用

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 1. 编写过滤器类&#xff1a; package gentle;import javax.servlet.*; import javax.servlet.annotation.WebFilter; import javax.se…

C++ 中 new 操作符内幕:new operator、operator new、placement new

一、new 操作符&#xff08;new operator&#xff09; 人们有时好像喜欢有意使C语言的术语难以理解。比方说new操作符&#xff08;new operator&#xff09;和operator new的差别。 当你写这种代码&#xff1a; string *ps new string("Memory Management");你使…

Flask-1-05-CookieSession

接下来我会演示一下设置Cookie 读取Cookie 删除Cookie&#xff0c;以及添加Cookie的原理 接下来我们分别定义3个视图为 set_cookie、get_cookie、del_cookie # coding:utf-8from flask import Flask, make_response, requestapp Flask(__name__)app.route("/set_cookie&q…

18个不可不知的有用潜规则

人情世故是我们日常生活中积累的约定俗成的行为规则&#xff0c;属于社会知识的范畴。这些知识大半来源于与不同人群的社会交际&#xff0c;也来源于社会冲突与社会发展。在有专业知识与技能的情况下&#xff0c;人情世故能够帮助我们个人缓和与其他人之间的紧张度&#xff0c;…

解决跨域问题:No ‘Access-Control-Allow-Origin‘ header is present on the requested resource.

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 PS&#xff1a;如果遇到 这个问题 Request header field Content-Type is not allowed by Access-Control-Allow-Headers&#xff0c;解…

错误代码:0xc000007b 解决思路

三维电子沙盘项目&#xff1a; 现场环境部署时&#xff0c;二维平台和模型在实际部署中遇到了0xc000007b的问题&#xff0c;网上很多说是DX的问题&#xff0c;但并不能解决。 之前在编译OpenDDS时也遇到过类似的问题&#xff0c;是在不同版本的OpenDDS的动态库混用时遇到的&a…

上传本地项目到git

1、到需要上传的文件夹下&#xff0c;打开gitbase 2、git init 3、git add . 4、git commit -m init 5、验证权限 首先在Git Bash中输入:ssh-keygen -t rsa -C "youremailxxx.com" 然后一路回车,这个会在当前用户文件夹下&#xff0c;生成.ssh 文件夹&#xff0c;里边…

vue 设置全局变量、指定请求的 baseurl

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 1. 安装 axios&#xff1a; npm install axios --save-dev 2. 新建一个 Base.vue 文件&#xff0c;书写内容如下&#xff1a; <sc…

解决这九种困扰 可以让你每天精神百倍

晚上睡眠是人体最好的休息方式&#xff0c;人体的很多症状都会在充足的睡眠后得到缓解&#xff0c;良好的睡眠比世界上的任何药都灵&#xff0c;而现代社会&#xff0c;“一觉睡到自然醒”已是很多人可望而不可及的了。我经过多年的仔细观察&#xff0c;发现只要是在早晨醒来后…

基于java的数据结构学习——泛型动态数组的封装

public class Array<E> {private E[] data;private int size;// 构造函数public Array(int Capacity){data (E[])new Object[Capacity];size 0;}// 默认构造函数public Array(){this(10);}// 判断数组是否已满public boolean isFull(){return size data.length;}// 判…

POJ1207-The 3n + 1 problem

http://poj.org/problem?id1207 注意输入两个数的大小&#xff0c;水。。。 #include <stdio.h> int main(void) {int a,b,m,count,i,max;while(scanf("%d%d",&a,&b)!EOF){printf("%d %d ",a,b);if(a>b){ma;ab;bm;}max0;for(ia;i<b;i…