CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Delphi >  VCL组件开发及应用

在Dll中动态生成Frame的问题,不解中......大侠们请帮一把

楼主BlueSoftEye(紫衣侠隐)2004-09-02 22:59:13 在 Delphi / VCL组件开发及应用 提问

工作中需在Dll中动态生成一个窗体,在窗体的OnActivate事件中动态生成一个Frame嵌在其左部(Align=AlLeft),但是系统提示:该Frame没有父窗口!("SupplierStateFrame"   Has   No   Parent   Window),但是,在动态生成Frame的代码中,我指定其父属性了啊!  
  ------------------------------------  
          TmpFrame:=TSupplierStateFrame.CreateParented(AForm.Handle);  
          With   TSupplierStateFrame(TmpFrame)   Do  
          Begin  
              OtherConditionPanel.Push;  
              SearchBtn_M.OnClick   :=   SearchBtn.OnClick;  
              SelfADOQuery:=DMFrm.TmpMainADOQ;  
              GridFrame1.GridInfo.GridADOQ:=SelfADOQuery;  
              TmpFrame:=GridFrame1;  
              TmpMenuItem:=ShowOrHideLeftFramePM;  
              SelfADOQuery.AfterOpen:=TmpMainADOQDataAfterOpen;  
              ShowHideLeftFrameBtn.OnClick:=MySplitterMoved;  
              GetTreeObjectInfo;  
              SetCheckTreeState(True);  
              GetSupplierState_CLB(False);  
              Name:='TmpGridFrame';  
            //   Parent:=Self;  
              Width:=176;  
              Align:=AlLeft;  
              Show;  
              Update;  
          End;  
  ----------------------------------- 问题点数:50、回复次数:8Top

1 楼yinweixian(blackyin)回复于 2004-09-03 08:40:09 得分 15

没有TmpFrame.Parent:=xxxTop

2 楼BlueSoftEye(紫衣侠隐)回复于 2004-09-03 14:16:13 得分 0

还有没有上来看看?Top

3 楼BlueSoftEye(紫衣侠隐)回复于 2004-09-03 16:28:06 得分 0

绝望?Top

4 楼Nozzle(早班火車)回复于 2004-09-03 16:49:16 得分 10

TmpFrame:=TSupplierStateFrame.CreateParented(AForm.Handle);  
          With   TSupplierStateFrame(TmpFrame)   Do  
          Begin  
              OtherConditionPanel.Push;  
              SearchBtn_M.OnClick   :=   SearchBtn.OnClick;  
              SelfADOQuery:=DMFrm.TmpMainADOQ;  
              GridFrame1.GridInfo.GridADOQ:=SelfADOQuery;  
              TmpFrame:=GridFrame1;  
              TmpMenuItem:=ShowOrHideLeftFramePM;  
              SelfADOQuery.AfterOpen:=TmpMainADOQDataAfterOpen;  
              ShowHideLeftFrameBtn.OnClick:=MySplitterMoved;  
              GetTreeObjectInfo;  
              SetCheckTreeState(True);  
              GetSupplierState_CLB(False);  
              Name:='TmpGridFrame';  
              Parent:=AForm;                           ////////////////////  
              Width:=176;  
              Align:=AlLeft;  
              Show;  
              Update;  
          End;  
  -----Top

5 楼budded(All By Myself)回复于 2004-09-03 17:45:25 得分 10

把   Parent:=AForm;   提前试试Top

6 楼Jeff20040819(美丽)回复于 2004-09-03 18:01:43 得分 10

学习,接分Top

7 楼BlueSoftEye(紫衣侠隐)回复于 2004-09-04 11:25:25 得分 0

不行,试过了!  
  何况,出错是在“TmpFrame:=TSupplierStateFrame.CreateParented(AForm.Handle)”  
  这儿出的错,好痛苦哦。  
  用“TmpFrame:=TSupplierStateFrame.Create(AForm.Handle)"也不行。  
  Top

8 楼yifei1900(逸飞)回复于 2004-09-04 15:12:55 得分 5

学习中。。。  
  认为xxx.Parent:=xxxTop

相关问题

  • 生成DLL
  • dll的生成
  • 从DLL生成LIB
  • 生成dll文件?
  • 不解为什么VC.NET生成的东西这样大?
  • 如何生成dll文件?
  • DLL生成的问题
  • Visual fortran生成dll问题
  • 从dll生成lib文件
  • 从dll生成lib文件

关键词

  • tmpframe
  • tsupplierstateframe
  • searchbtn
  • createparented
  • selfadoquery
  • aform
  • 动态生成
  • frame
  • parent
  • handle

得分解答快速导航

  • 帖主:BlueSoftEye
  • yinweixian
  • Nozzle
  • budded
  • Jeff20040819
  • yifei1900

相关链接

  • Delphi类图书
  • Delphi类源码下载
  • Delphi控件下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo