窗口无法最小化,其他操作正常

runall 2008-12-25 08:12:24
1,建立一个简单的dll工程,只有一个导出函数Test
__stdcall Test()
{
DllApp = Application; // 只要加上此句窗口就无法最小化,或者任何形式使用Application变量都会出现窗体无法最小化
}
2,建立一个普通窗体应用程序,静态链接刚才生成的dll,调用其导出函数Test()
3,编译生成exe,打开窗体,发现该窗体不能最小化。

哪位大侠帮忙解释一下原因并且给出解决方案。100分重谢
...全文
904 24 打赏 收藏 转发到动态 举报
写回复
用AI写文章
24 条回复
切换为时间正序
请发表友善的回复…
发表回复
bluecent 2009-03-10
  • 打赏
  • 举报
回复
不错,又多学了一点......
纯冰糖 2009-03-10
  • 打赏
  • 举报
回复
hoho,接点分滴~~
ydlchina 2009-03-10
  • 打赏
  • 举报
回复
赚分才是硬道理
vkjsimde 2009-03-10
  • 打赏
  • 举报
回复
学习。。。up...
yumikoo 2009-03-10
  • 打赏
  • 举报
回复
听说可以JF?
gxbslizhao 2009-03-10
  • 打赏
  • 举报
回复
今天学习又多会了一招,接分,
autorun_bob 2009-03-09
  • 打赏
  • 举报
回复
学习……
慢两拍 2009-03-09
  • 打赏
  • 举报
回复
学习&&接分
BORLANDSUN 2009-03-09
  • 打赏
  • 举报
回复
难到是在内部有什么全局变量被覆盖了的原因.
cxw2311 2009-03-09
  • 打赏
  • 举报
回复
楼主太强了,这都能发现
oyljerry 2009-03-07
  • 打赏
  • 举报
回复
^_^,多谢分享,jf
runall 2009-03-07
  • 打赏
  • 举报
回复
原因是创建dll工程时把vcl打勾了,我重新建一个dll工程不使用vcl就可以了。CB6怎么能这样呢
痞子酷 2008-12-30
  • 打赏
  • 举报
回复
接分
祝新年快乐
springworker 2008-12-30
  • 打赏
  • 举报
回复
共享下啊
leegun 2008-12-27
  • 打赏
  • 举报
回复
一起学习了
wwwzxl 2008-12-26
  • 打赏
  • 举报
回复
同意 Waiting4you
痞子酷 2008-12-26
  • 打赏
  • 举报
回复
楼上好厉害!!!
Waiting4you 2008-12-26
  • 打赏
  • 举报
回复
你的DLL里的Application应该从宿主程序里得到,改成这样:你的软件调用时把主程序的Application传给它
__stdcall Test(TApplication* papp)
{
Application->Handle = papp->Handle;
DllApp = Application; // 只要加上此句窗口就无法最小化,或者任何形式使用Application变量都会出现窗体无法最小化
}
ssypas 2008-12-26
  • 打赏
  • 举报
回复
对呀,拿出来分享一下呀
runall 2008-12-26
  • 打赏
  • 举报
回复
补充一点是在CB6.0环境下
加载更多回复(4)
不要看6分这么贵,下载后等10分钟评价+5星即可返还你的积分!! 这个模块是楼主花了几年时间积累维护而成,对于操作windows窗口非常方便,让你脱身于一大堆api函数 ,可以非常自如地操作windows窗口。 例如网页自动上传文件自动操作很多人可能会困惑。那个打开的windows对话框,怎样自动写入路径然后 再点打开呢??使用我们的框架可以轻而易举的实现,而且非常精准,即使最小化非焦点窗口也可以执行 。 因为并非使用的按键精灵那样固定位置坐标点击按钮什么的技术,我们的是全api架构操作。 注意下载后评论+五星评价可返还你的分数!!如果觉得实在6分委屈了可以搜楼主发布的初版,版本升级 一个就加一分的,你可以下载V1.1的那个是1分,V1.6的就是6分!! '=================================================================================== '描 述:一个操作windows窗口的类,可对窗口进行很多常用的操作(clsWindow.cls) '使用范例:Dim window As New clsWindow ' window.getWindowHwndByTitle "计算器" ' window.closeWindow '编 程:sysdzw 原创开发,如果有需要对模块扩充或更新的话请邮箱发我一份,共同维护 '发布日期:2013/06/01 '博 客:http://hi.baidu.com/sysdzw 'Email :sysdzw@163.com 'QQ :171977759 '版 本:V1.0 初版 2012/12/03 ' V1.1 修正了几个正则相关的函数,调整了部分类结构 2013/05/28 ' V1.2 增加属性Caption,可以获取或设置当前标题栏 2013/05/29 ' V1.3 增加了方法Focus,可以激活当前窗口 2013/06/01 ' 增加了方法Left,Top,Width,Height,Move,处理窗口位置等 ' V1.4 增加了窗口位置调整的几个函数 2013/06/04 ' 增加了得到应用程序路径的函数AppName ' 增加了得到应用程序启动参数的函数AppCommandLine ' V1.5 增加了窗口最大最小化,隐藏显示正常的几个函数 2013/06/06 ' 增加了获取控件相关函数是否使用正则的参数UseRegExp默认F ' V1.6 将Left,Top函数改为属性,可获得可设置 2013/06/10 '===================================================================================
窗口数目任你调   安装运行AcerGrid,此时,系统托盘区会出现一个显示器状图标,右击它,选择“Grid Configuration→Display 1”,在出现的级联菜单中可看到不同的分割方式,每种方式前都以直观的图示显示出窗格效果,你可以根据需要选择合适的方式(最多支持分成四个区域)。 窗口显示快速达   设置好窗口数后,咱们便可快速地使窗口显示到指定窗格中。有两种方法可快速来完成。   1.一拖而就   缩小要拖入的窗口(不是最小化哦),然后指指针移到其标题栏,按下鼠标左键进行拖动,便可显示窗格,此时将其拖曳到相应的区域中即可。程序会自动调整窗口,使其占满所在的窗格。   小提示:一定不能使窗口处于最大化状态,否则无法进行拖曳操作。 2.快速设置   上面的方法在窗口最大化时不能进行操作,给操作带来一些不方便。在实际操作中,还有一种更为便捷的方法,可将当前运行的窗口快速添加进窗格中,自由性更大。   AcerGrid安装完成后,会在以后打开的窗口右上侧添加三个相应的按钮。需要将当前窗口添加到栅格中时,只要单击“Acer GridVista Extensions”按钮,选择“Send Window to Grid”项,然后选择好要发送的窗格即可,很方便吧? 如果要让该窗口解除栅格状态,除了可以直接单击窗口中的“向下还原”按钮令其还原外,咱们还可单击“Lock to Grid”按钮来解除当前状态。另外,如果你想让当前窗口出现类似于Vista的透明效果的话,可以单击“Acer Vista Extensions”按钮,然后选择“Transparent”即可。 display1菜单中,normal是正常显示模式,double(vertical)窗口分成左右两个,triple窗口分成三个,quad,窗口分成四个,triple和quad左边的小图标就是分屏后的样式。

13,822

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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