问题不死,提问不休! 关于DLL中的非模态对话框

ccnuxjg 2003-11-13 11:22:34
问题:
http://expert.csdn.net/Expert/topic/2401/2401596.xml?temp=.9291956

Dll中的非模态对话框的问题:
不光是ToolTip显示不出来,PretranslateMessage也没执行。Tab键也没反映。

MSDN上一个MVP给的方法
Scenario described by you is precisely where the issue is. You will notice that in your
dialog, tab keys would not work either. The root cause of the problem is that your
dialog's PreTranslateMessage is not getting called. You should be able to fix the Tooltip
problem by using the TTF_SUBCLASS flag which will subclass as needed.

If you want PreTranslateMessage/Idling in your DLL, take a look at example DLLHUSK(??) in
MSDN. There are couple of related samples which show how to pump idling and
pretranslatemessage to a MFC regular DLL.


可是我用TTF_SUBCLASS就是行不通
...全文
170 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
fbmsf 2004-01-13
  • 打赏
  • 举报
回复
那有什么不可以哦,
写在dll,景象到内存还是是代码,一样的可以。
金庆 2004-01-13
  • 打赏
  • 举报
回复
与ID号相重无关,是消息未处理。
在DLL中加个消息循环肯定行。
DoItFreely 2004-01-13
  • 打赏
  • 举报
回复
在DLL开一个线程,在这个线程里面完成对话框的消息循环试一下。
(由于我现在看不了你前面的帖子,如果跟别人的答复有重复请见谅)
kds 2004-01-13
  • 打赏
  • 举报
回复

flyelf 2003-11-13
  • 打赏
  • 举报
回复
gz
fingerfox 2003-11-13
  • 打赏
  • 举报
回复
gz
ccnuxjg 2003-11-13
  • 打赏
  • 举报
回复
up
ccnuxjg 2003-11-13
  • 打赏
  • 举报
回复
谢谢各位的帮忙与关注,试过了一些方法,还是不行。
hardstudylulin 2003-11-13
  • 打赏
  • 举报
回复
关注,学习!
flinming 2003-11-13
  • 打赏
  • 举报
回复
up
leopardsmith 2003-11-13
  • 打赏
  • 举报
回复
向高手学习
bluebohe 2003-11-13
  • 打赏
  • 举报
回复
还有对话框以及字符串的资源ID数字不能重复
bluebohe 2003-11-13
  • 打赏
  • 举报
回复
还有,注意主工程和dll中各个资源的resource.h中的数字定义最好不要重复
bluebohe 2003-11-13
  • 打赏
  • 举报
回复
把你的对话框资源以及用到的所有资源复制一份到主工程中试一下
yintongshun 2003-11-13
  • 打赏
  • 举报
回复
UP,不过建议试试别的有这种情况(有TOOLTIP等)的控件行不,是不是控件的问题
scyangd 2003-11-13
  • 打赏
  • 举报
回复
gz
源码直接下载地址: https://pan.quark.cn/s/628ef8894244 在C语言编程环境,数组被视为一种核心且关键的数据组织形式,其目的是容纳一系列具有相同数据类型的元素。在操作数组的过程,常常会涉及到从数组移除某个特定的元素的需求。本文将详细研究这一功能的实现方法,以“从一个数组移除一个元素”为研究主题,借助给出的代码片段进行深入分析。通过观察代码,我们可以看到一个整型数组`a`被定义,其容量为10个单位,并且利用`for`循环为该数组的各个位置赋值。赋值的表达式`i*3+2`确保了每个索引位置的元素都有一个明确的数值,从而为后续的说明提供了便利。```cint a[10], i, j, x;for (i = 0; i < 10; i++) a[i] = i * 3 + 2;```在接下来的步骤,程序会引导用户输入一个想要移除的数值,并将这个数值保存在变量`x`。```cprintf("input delete number:\n");scanf("%d", &x);```为了从数组移除指定的元素,代码运用了双层嵌套的`for`循环结构。外层的循环负责遍历整个数组,寻找与变量`x`相等的元素。一旦找到匹配的元素,内层的循环就会将这个元素之后的所有元素依次向前移动一个位置,以此来覆盖掉被找到的元素。然而,该段代码存在一个小缺陷:它未能正确地调整数组的实际长度。```cfor (i = 0; i < 10; i++) { if (a[i] == x) { for (j = i + 1; j < 10; j++) a[i] = a[j]; // 存在问题:未正确处理数组长度变化 a[j] = \0; // 此操作尝试向整型数组插入字...
内容概要:本文提出了一种基于改进粒子群算法的含碳捕集微网多时间尺度低碳经济调度方法,旨在实现电力系统低碳化与经济性的协同优化。研究构建了涵盖风光储、常规机组及碳捕集装置的微网系统模型,综合考虑可再生能源出力不确定性、负荷需求响应等因素,建立了日前-日内多时间尺度的调度框架。通过引入改进的粒子群优化算法,有效提升了求解效率与全局寻优能力,解决了高维、线性、多约束的调度优化问题。模型以系统运行成本和碳排放成本为双重优化目标,实现了能源消耗、环境效益与经济成本之间的均衡调度,为含碳捕集技术的微电网低碳运行提供了科学决策支持。; 适合人群:具备一定电力系统、优化算法与Matlab编程基础的科研人员及工程技术人员,尤其适用于从事微电网调度、低碳能源系统、智能优化算法应用等领域研究的硕士、博士研究生及高校教师。; 使用场景及目标:① 掌握多时间尺度微网调度建模方法;② 学习将碳捕集技术融入能源系统优化调度的实现路径;③ 理解改进粒子群算法在复杂电力系统优化问题的应用策略与性能优势;④ 为撰写相关领域学术论文或开展实际项目提供模型与代码参考。; 阅读建议:建议结合Matlab代码深入理解算法实现细节,重点关注目标函数构建、约束条件处理及算法改进策略部分,可通过调整参数或系统结构进行仿真实验,进一步探究模型的适应性与优化效果。

16,551

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Creator Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧