Forms Delphi-Rich编辑不会显示在动态创建的表单上

Forms Delphi-Rich编辑不会显示在动态创建的表单上,forms,object,delphi,dynamic,richedit,Forms,Object,Delphi,Dynamic,Richedit,我已经在我的程序中动态创建了一个表单,它可以完美地工作和显示,但是我动态创建的RichEdit根本不想在表单上显示。如何在表单上显示RichEdit 我正在使用的代码: 程序TfrmPuntehou.lblAbbClickSender:ToObject; 变量 fRMAb:TForm; 红色缩写:TRichEdit; 开始 //打开缩写 frmAbb:=TForm.Createnil; red缩写:=TRichEdit.Createnil; 尝试 用frmAbb做 开始 宽度:=400; 高度:

我已经在我的程序中动态创建了一个表单,它可以完美地工作和显示,但是我动态创建的RichEdit根本不想在表单上显示。如何在表单上显示RichEdit

我正在使用的代码:

程序TfrmPuntehou.lblAbbClickSender:ToObject; 变量 fRMAb:TForm; 红色缩写:TRichEdit; 开始 //打开缩写 frmAbb:=TForm.Createnil; red缩写:=TRichEdit.Createnil; 尝试 用frmAbb做 开始 宽度:=400; 高度:=400; 标题:=‘缩写’; 位置:=poOwnerFormCenter; ShowModal; 终止 用红色缩写做 开始 父项:=frmAbb; 宽度:=300; 高度:=353; red缩写.paragration.TabCount:=2; 红色缩写。段落。制表符[0]:=30; 红色缩略语。段落表[1]:=60; 增加"发展"+9+"="+9+"社会福利署发展";; 行。添加'1660'+9+'='+9+'1660s'; 行。添加'2.1'+9+'='+9+'2.1s'; 行。添加'MIN'+9+'='+9+'Minis'; 行。添加'SR'+9+'='+9+'Stockrods'; 行。添加'PR'+9+'='+9+'Pinkrods'; 行。添加'HR'+9+'='+9+'Hotrods'; 行。添加“HM”+9+“=”+9+“重金属”; 行。添加'V8'+9+'='+9+'V8s'; 行。加上'MA'+9+'='+9+'侏儒A'; 行。添加'MB'+9+'='+9+'midgetb'; 添加'SP'+9+'='+9+'sprint'; 添加'CRO'+9+'='+9+'Crosskarts'; 行。添加'LM'+9+'='+9+'Late Models'; 字体大小:=13; 终止 最后 frmAbb.免费; 终止 终止
你忘了让它可见:

redAbbreviations.Visible := TRUE;
在将属性设置为RichEdit之前,显示表单模式

以下是正确的重新格式化代码:

procedure TForm1.Button1Click(Sender: TObject);
var
    frmAbb           : TForm;
    redAbbreviations : TRichEdit;
begin
    // opens abbreviations
    frmAbb := TForm.Create(nil);
    try
        redAbbreviations := TRichEdit.Create(frmAbb);
        frmAbb.Width                        := 400;
        frmAbb.Height                       := 400;
        frmAbb.Caption                      := 'Abbreviations';
        frmAbb.Position                     := OwnerFormCenter;
        redAbbreviations.Parent             := frmAbb;
        redAbbreviations.Width              := 300;
        redAbbreviations.Height             := 353;
        redAbbreviations.Paragraph.TabCount := 2;
        redAbbreviations.Paragraph.Tab[0]   := 30;
        redAbbreviations.Paragraph.Tab[1]   := 60;
        redAbbreviations.Lines.Add('DEV'+#9+'='+#9+'SWD Development');
        redAbbreviations.Lines.Add('1660'+#9+'='+#9+'1660s');
        redAbbreviations.Lines.Add('2.1'+#9+'='+#9+'2.1s');
        redAbbreviations.Lines.Add('MIN'+#9+'='+#9+'Minis');
        redAbbreviations.Lines.Add('SR'+#9+'='+#9+'Stockrods');
        redAbbreviations.Lines.Add('PR'+#9+'='+#9+'Pinkrods');
        redAbbreviations.Lines.Add('HR'+#9+'='+#9+'Hotrods');
        redAbbreviations.Lines.Add('HM'+#9+'='+#9+'Heavy Metals');
        redAbbreviations.Lines.Add('V8'+#9+'='+#9+'V8s');
        redAbbreviations.Lines.Add('MA'+#9+'='+#9+'Midgets A');
        redAbbreviations.Lines.Add('MB'+#9+'='+#9+'Midgets B');
        redAbbreviations.Lines.Add('SP'+#9+'='+#9+'Sprints');
        redAbbreviations.Lines.Add('CRO'+#9+'='+#9+'Crosskarts');
        redAbbreviations.Lines.Add('LM'+#9+'='+#9+'Late Models');
        redAbbreviations.font.Size :=13;
        redAbbreviations.Visible   := TRUE;
        frmAbb.ShowModal;
    finally
        frmAbb.Free;
    end;
end;

你忘了让它可见:

redAbbreviations.Visible := TRUE;
在将属性设置为RichEdit之前,显示表单模式

以下是正确的重新格式化代码:

procedure TForm1.Button1Click(Sender: TObject);
var
    frmAbb           : TForm;
    redAbbreviations : TRichEdit;
begin
    // opens abbreviations
    frmAbb := TForm.Create(nil);
    try
        redAbbreviations := TRichEdit.Create(frmAbb);
        frmAbb.Width                        := 400;
        frmAbb.Height                       := 400;
        frmAbb.Caption                      := 'Abbreviations';
        frmAbb.Position                     := OwnerFormCenter;
        redAbbreviations.Parent             := frmAbb;
        redAbbreviations.Width              := 300;
        redAbbreviations.Height             := 353;
        redAbbreviations.Paragraph.TabCount := 2;
        redAbbreviations.Paragraph.Tab[0]   := 30;
        redAbbreviations.Paragraph.Tab[1]   := 60;
        redAbbreviations.Lines.Add('DEV'+#9+'='+#9+'SWD Development');
        redAbbreviations.Lines.Add('1660'+#9+'='+#9+'1660s');
        redAbbreviations.Lines.Add('2.1'+#9+'='+#9+'2.1s');
        redAbbreviations.Lines.Add('MIN'+#9+'='+#9+'Minis');
        redAbbreviations.Lines.Add('SR'+#9+'='+#9+'Stockrods');
        redAbbreviations.Lines.Add('PR'+#9+'='+#9+'Pinkrods');
        redAbbreviations.Lines.Add('HR'+#9+'='+#9+'Hotrods');
        redAbbreviations.Lines.Add('HM'+#9+'='+#9+'Heavy Metals');
        redAbbreviations.Lines.Add('V8'+#9+'='+#9+'V8s');
        redAbbreviations.Lines.Add('MA'+#9+'='+#9+'Midgets A');
        redAbbreviations.Lines.Add('MB'+#9+'='+#9+'Midgets B');
        redAbbreviations.Lines.Add('SP'+#9+'='+#9+'Sprints');
        redAbbreviations.Lines.Add('CRO'+#9+'='+#9+'Crosskarts');
        redAbbreviations.Lines.Add('LM'+#9+'='+#9+'Late Models');
        redAbbreviations.font.Size :=13;
        redAbbreviations.Visible   := TRUE;
        frmAbb.ShowModal;
    finally
        frmAbb.Free;
    end;
end;
将showmodel从frmAbb的初始化部分移到代码末尾,就在finally语句之前

程序TForm1.Button1单击发送者:对象; 变量 fRMAb:TForm; 红色缩写:TRichEdit; 开始 //打开缩写 frmAbb:=TForm.Createnil; 尝试 红色缩写:=TRichEdit.CreatefrmAbb; 用frmAbb做 开始 宽度:=400; 高度:=400; 标题:=‘缩写’; 位置:=poOwnerFormCenter; 终止 用红色缩写做 开始 父项:=frmAbb; 宽度:=300; 高度:=353; red缩写.paragration.TabCount:=2; 红色缩写。段落。制表符[0]:=30; 红色缩略语。段落表[1]:=60; 增加"发展"+9+"="+9+"社会福利署发展";; 行。添加'1660'+9+'='+9+'1660s'; 行。添加'2.1'+9+'='+9+'2.1s'; 行。添加'MIN'+9+'='+9+'Minis'; 行。添加'SR'+9+'='+9+'Stockrods'; 行。添加'PR'+9+'='+9+'Pinkrods'; 行。添加'HR'+9+'='+9+'Hotrods'; 行。添加“HM”+9+“=”+9+“重金属”; 行。添加'V8'+9+'='+9+'V8s'; 行。加上'MA'+9+'='+9+'侏儒A'; 行。添加'MB'+9+'='+9+'midgetb'; 添加'SP'+9+'='+9+'sprint'; 添加'CRO'+9+'='+9+'Crosskarts'; 行。添加'LM'+9+'='+9+'Late Models'; 字体大小:=13; 终止 frmAbb.ShowModal; 最后 frmAbb.免费; 终止 终止 将showmodel从frmAbb的初始化部分移到代码末尾,就在finally语句之前

程序TForm1.Button1单击发送者:对象; 变量 fRMAb:TForm; 红色缩写:TRichEdit; 开始 //打开缩写 frmAbb:=TForm.Createnil; 尝试 红色缩写:=TRichEdit.CreatefrmAbb; 用frmAbb做 开始 宽度:=400; 高度:=400; 标题:=‘缩写’; 位置:=poOwnerFormCenter; 终止 用红色缩写做 开始 父项:=frmAbb; 宽度:=300; 高度:=353; red缩写.paragration.TabCount:=2; 红色缩写。段落。制表符[0]:=30; 红色缩略语。段落表[1]:=60; 增加"发展"+9+"="+9+"社会福利署发展";; 行。添加'1660'+9+'='+9+'1660s'; 行。添加'2.1'+9+'='+9+'2.1s'; 行。添加'MIN'+9+'='+9+'Minis'; 行。添加'SR'+9+'='+9+'Stockrods'; 行。添加'PR'+9+'='+9+'Pinkrods'; 行。添加'HR'+9+'='+9+'Hotrods'; 行。添加“HM”+9+“=”+9+“重金属”; 行。添加'V8'+9+'='+9+'V8s'; 行。加上'MA'+9+'='+9+'侏儒A'; 行。添加'MB'+9+'='+9+'midgetb'; 添加'SP'+9+'='+9+'sprint'; 添加'CRO'+9+'='+9+'Crosskarts'; 行。添加'LM'+9+'='+9+'Late Models'; 字体大小:=13; 终止 frmAbb.ShowModal; 最后 frmAbb.免费; 终止 终止
这就是问题所在,我以前也试过,但还是没有显示出来。所以我把它拿走了…你也放错地方了。我用正确的重新格式化代码编辑了我的答案。@f如果表单是RichEdit的所有者,则不需要第二次尝试/最后一次。@RemyLebeau,但我将其设置为零,因为OP将其设置为零。所以试试/最后
必需。@RemyLebeau根据您的评论编辑了我的代码。这就是问题所在,我曾经尝试过,但仍然没有显示出来。所以我把它拿走了…你也放错地方了。我用正确的重新格式化代码编辑了我的答案。@f如果表单是RichEdit的所有者,则不需要第二次尝试/最后一次。@RemyLebeau,但我将其设置为零,因为OP将其设置为零。所以try/finally required.@RemyLebeau根据您的评论编辑了我的代码。