如何在DLL中使用对话框

hk 2000-06-21 09:22:00
我在做数据库应用程序时,将列表选择内容写在DLL中,传入ADO连接,显示对话框,但对话框不能显示,请问谁有这方面的例子?
...全文
220 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
hk 2000-06-24
  • 打赏
  • 举报
回复
wwqbj,按你的方法解决了问题,多谢!给你满分.

我又有新问题,请你好人做到底.
我在DLL对话框中使用Controls中的控件时很正常,但使用其它第三方控件(包括ms的)
时对话框则再也不能显示,删除控件则恢复正常,请问是何道理.


zmask 2000-06-23
  • 打赏
  • 举报
回复
使用MFC扩展动态库时,应用afxlaodlib().
literal 2000-06-23
  • 打赏
  • 举报
回复
若用VC调VC的DLL,可将CDIALOG类定义为EXPORT,注意在相应的EXE的REOUSRCE。H中加入CDIALOG的ID__, 即MFC扩展动态库
若该DLL被别的调用需ZPoint的说法.
DingBoy 2000-06-23
  • 打赏
  • 举报
回复
我用ASM写一DLL也遇到这一情况,DialogBoxParamA调用失败。
请问wwqbj, AFX_MANAGE_STATE(AfxGetStaticModuleState());
好象不是winapi,如果改为ASM该怎么写呢?!
wwqbj 2000-06-23
  • 打赏
  • 举报
回复
在调用的DLL 函数中如下处理也许可解决DLL 中资源不能显示问题
假设 A() 是你的DLL 函数。
void A()
{
// 在此处添加如下一行
AFX_MANAGE_STATE(AfxGetStaticMouleState());
....
}
此外还要所用的资源ID 与主程序中的资源ID 没有重复值
wwqbj 2000-06-23
  • 打赏
  • 举报
回复
在调用的DLL 函数中如下处理也许可解决DLL 中资源不能显示问题
假设 A() 是你的DLL 函数。
void A()
{
// 在此处添加如下一行
AFX_MANAGE_STATE(AfxGetStaticModuleState());
....
}
此外还要所用的资源ID 与主程序中的资源ID 没有重复值
wwqbj 2000-06-23
  • 打赏
  • 举报
回复
在调用的DLL 函数中如下处理也许可解决DLL 中资源不能显示问题
假设 A() 是你的DLL 函数。
void A()
{

....
}
Badwood 2000-06-22
  • 打赏
  • 举报
回复
AfxMessageBox("呵呵");
或者MessageBox(NULL,...);
ZPoint 2000-06-22
  • 打赏
  • 举报
回复
MS的通常做法是在DLL中建立CDialog的扩展类,并且不是被EXPORT的。
然后建立一个可以EXPORT的函数,函数中调用该CDialog类。
DLL函数和主程序可以用参数结构指针传递参数值!
BugGo 2000-06-21
  • 打赏
  • 举报
回复
使用MFC扩展动态库!
true_hero 2000-06-21
  • 打赏
  • 举报
回复
这太简单了,你的id号码肯定重复了(主程序和dll)
hk 2000-06-21
  • 打赏
  • 举报
回复
BygGo:
能否给点示例,只要能显示对话框就行,在C ++ Builder 中就非常简单,不知VC中实现是否很复杂?在VC中我试过但调用时就出错.能否给点小例子?

16,466

社区成员

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

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

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