Delphi 如何在KOL表单中设置表单位置和字体大小

Delphi 如何在KOL表单中设置表单位置和字体大小,delphi,properties,kol,Delphi,Properties,Kol,关于科尔,我有两个问题 我有一个主窗体。正如我看到的,它被放置在TForm的位置上。 我想把它放在屏幕中央。 如何访问它的坐标或“SetWindowPos”的句柄 我在表单中有4个标签。对于其中的两个,我想使用较小的字体。但是我没有找到任何字体大小属性。。。那怎么办呢 问题1 在窗体上调用SetPosition和SetSize方法 Form.SetPosition(x,y); Form.SetSize(w,h); 问题2 使用Font.FontHeight MyControl.Font.Fon

关于科尔,我有两个问题

  • 我有一个主窗体。正如我看到的,它被放置在TForm的位置上。 我想把它放在屏幕中央。 如何访问它的坐标或“SetWindowPos”的句柄

  • 我在表单中有4个标签。对于其中的两个,我想使用较小的字体。但是我没有找到任何字体大小属性。。。那怎么办呢


  • 问题1

    在窗体上调用SetPosition和SetSize方法

    Form.SetPosition(x,y);
    Form.SetSize(w,h);
    
    问题2

    使用
    Font.FontHeight

    MyControl.Font.FontHeight := ...;
    
  • 如果要调用SetWindowPos,可以检索调用返回指针的GetWindowHandle方法的句柄

  • 请不要问每个问题超过一个问题

  • 1.1。如何在屏幕上居中显示表单?

    使用
    CenterOnForm
    方法。如描述所述,如果将其应用于表单,则将表单集中在屏幕上:

    Form.CenterOnForm(nil);
    

    1.2。如何获得表单位置?

    就像在Delphi中一样,通过
    属性或例如通过
    位置
    属性。以下伪代码的结果相同:

    ShowMessage('Form pos.: [' +
      Int2Str(Form.Left) + '; ' +
      Int2Str(Form.Top) + ']'
    );
    ShowMessage('Form pos: [' +
      Int2Str(Form.Position.X) + '; ' +
      Int2Str(Form.Position.Y) + ']'
    );
    
    ShowMessage(Int2Str(Form.Handle));
    ShowMessage(Int2Str(Form.GetWindowHandle));
    
    请注意,除非您自己更改表单位置,或者在小程序运行之前,否则这两个属性都返回0。如果未设置表单位置,则在小程序启动时调整表单位置


    1.3。如何获取表单句柄?

    使用
    Handle
    属性或
    GetWindowHandle
    方法。以下伪代码的结果相同:

    ShowMessage('Form pos.: [' +
      Int2Str(Form.Left) + '; ' +
      Int2Str(Form.Top) + ']'
    );
    ShowMessage('Form pos: [' +
      Int2Str(Form.Position.X) + '; ' +
      Int2Str(Form.Position.Y) + ']'
    );
    
    ShowMessage(Int2Str(Form.Handle));
    ShowMessage(Int2Str(Form.GetWindowHandle));
    

    2。如何更改字体大小?

    正如@David在他的帖子中已经提到的,使用
    Font.fontweath
    属性。请注意,创建时的默认字体,例如,该标签设置为
    System
    ,无法更改其大小,因此当无法应用大小更改时,请不要感到惊讶。以下是来源的一句话:

    值0(默认值)表示使用系统默认值,即负值 以“点”表示字体高度,以像素为正。在XCL中 通常使用正值(如果不是0)来创建外观 独立于不同的本地设置

    下面是定位标签创建中显示的示例用法:

    Label1 := NewLabel(Form, 'Label1').SetPosition(8, 8);
    Label1.Font.FontName := 'Tahoma';
    Label1.Font.FontHeight := -11;
    

    3。示例项目


    最好一次只问一个问题,因为如果你使用KOL,那么为什么不使用MCK?MCK应该在设计时指定字体。@durumdara您在这里已经问了66个问题。看一看特拉玛在他出色的回答中付出的努力。你只投了一次票。66个问题,1票。这很糟糕。你应该多参与一些。很抱歉同时问了两个问题。非常感谢您提供的每一条信息!除了说谢谢,请学会投票和接受答案。