MDI子窗口是DLL封装的
解决方案 »
- QePort打印问题
- DELPHI对WORD的操作
- 各位大哥,小问题一个,百分相赠!!
- 请问在Delphi中制作多文档窗体时如何设置启动窗体?
- 简单问题:在线等待。。。 马上给分
- 如何在打包过程中,使安装程序在安装过程中自动运行其它可执行程序?
- 如何让一个image控件读出SQL2000里一个image字段的图片?
- HOW To 将表中所有字段读出来,再用checkbox列举所有字段名被用户选择??!!
- 有没有人用过DBchart,给个具体的例子好吗?
- 報表制做問題?小弟一定高分答謝!!!
- 如何在MDI窗体一侧制作自动隐藏窗体,效果像MaxThon的侧边栏效果
- 简单问题,请教下,客户端有两个表要向服务端发数据,服务端有一个表有新数据要向客户端发数据。用socket,结构要怎么做啊,?
Application.Initialize;
FrmSplash:=TFrmSplash.Create(Application);
FrmSplash.ShowModal;
Application.ProcessMessages;
Application.CreateForm(TFrmMain, FrmMain);
FrmSplash.Close;
FrmSplash.Free;
Application.Run;请问我在其他窗体中使用Application.MainForm时MainForm是不是就是下面这行代码创建的?
Application.CreateForm(TFrmMain, FrmMain);
TFrmMain(Application.MainForm).StbMain.Panels[5].Text:='操作员:'+Ds.FieldValues['f_zybm']+' '+Ds.FieldValues['f_zymc'];说明这条语句的意愿是:在DLL子窗体修改MDI主窗体的状态栏
Application.CreateForm(TFrmMain, FrmMain);
是的
上面的语句是不是取值可以,赋值不行,是不是这样的?
应该是可以赋值的
Application第一次调用类似语句Application.CreateForm便是主窗口,可以用Application.MainForm调用,上面两条语句取值可以,赋值是不行的,如有赋值,应用程序退出后会有存取异常的错误好了,一切问题都澄清,现在还有一个问题
■如何让MDI子窗体的查询进度条在主窗口显示■
http://community.csdn.net/Expert/topic/3828/3828720.xml?temp=.6812403procedure 子窗体.ExecuteQuery(aTableName:string); //执行查询
var
ProgressBar: TProgressBar;
...
begin
...
ProgressBar:=TProgressBar.Create(nil);
with ProgressBar do
begin
...
Parent:=?;///////////////////////////////这里怎么写?
Visible:=True;
Min:=0;
Max:=Ds.RecordCount;
Step:=1;
end;
...
Parent怎么写成主窗体的栏态栏?最后求救!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!1谢谢
var
SetPosition:procedure(aPos:Integer;aMax:Integer=0;aStep:Integer=100);
begin
@SetPosition:=GetProcAddress(GetModuleHandle(pchar(application.Exename)), 'SetPosition');
...
if Assigned(SetPosition) then SetPosition(0,Ds.RecordCount);
...
While Not Ds.EOF do
begin
if Assigned(SetPosition) then SetPosition(j);
...
Ds.Next;
end;
if Assigned(SetPosition) then SetPosition(0);-----------------------
主窗体
procedure SetPosition(aPos:Integer;aMax:Integer=0;aStep:Integer=100);
begin
FrmMain.FProgressBar.Visible:=True;
FrmMain.StbMain.Panels[4].Style:=psOwnerDraw;
FrmMain.StbMain.Panels[4].Bevel:=pbNone;
FrmMain.FPos:=aPos;
if aMax<>0 then FrmMain.FMax:=aMax;
if (aPos mod aStep)=0 then FrmMain.StbMain.Repaint;
end;exports
SetPosition;