Table of Contents
Description
delphivcl.Shape
represents a geometric shape that can be drawn on a form.
Add a Shape
object to a form to draw a simple geometric shape on the form. TShape
introduces properties to describe the pen used to outline the shape and the brush used to fill it.
If the shape is only part of the image of custom control, use the methods of the control’s canvas instead.
Browse all the properties, methods, and built-in properties of the delphivcl.Shape
using dir()
command:
1 2 3 |
import delphivcl dir(delphivcl.Shape) |
See the responses in our Windows command prompt:
Code example
Here is the working example of the implementation of delphivcl.Shape
to draw a rectangle:
1 2 3 4 |
# Draw a rectangle shpRectangle = Shape(pgOne) shpRectangle.SetProps(Parent=pgOne,Shape = 'stRectangle') shpRectangle.SetBounds(75,15,300,300) |
To see the result, let’s run the complete script:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
from delphivcl import * # Create a Class to build a basic Form class MainForm(Form): def __init__(self, Owner): self.Caption = "Introduction to VCL Components" self.Name = "BaseForm" self.SetBounds(10, 10, 500, 450) # Create a Main Panel component pnlMain = CreateComponent('TPanel',Owner) pnlMain.SetProps(Parent=self, Caption="",align = "alClient", Name = "MainPanel") # Page control creation pgConMain = PageControl(pnlMain) pgConMain.Name = "MyPageControl" pgConMain.Parent = pnlMain pgConMain.Align = "alClient" # Tabsheet one pgOne = TabSheet(pnlMain) pgOne.PageControl = pgConMain pgOne.Caption = "Tab 1" # Draw a rectangle shpRectangle = Shape(pgOne) shpRectangle.SetProps(Parent=pgOne,Shape = 'stRectangle') shpRectangle.SetBounds(75,15,300,300) # Initialize your application def main(): Application.Initialize() Application.Title = "MyDelphiApp" f = MainForm(Application) f.Show() FreeConsole() Application.Run() Application.Destroy() main() |
The result:
Note for beta release users
In practice, the only difference between DelphiVCL4Python release version and the beta version is only in how you write the DelphiVCL
. Here is the example for how you import the library:
- Release version:
1 |
from delphivcl import * |
- Beta version:
1 |
from DelphiVCL import * |
Watch this comprehensive introduction to Python GUI Development with DelphiVCL library video by Jim McKeeth:
Also, watch the following webinar by Ian Barker on How to create a real Windows app step-by-step guide:
Check out DelphiVCL which easily allows you to build GUIs for Windows using Python.
Check out Python4Delphi which easily allows you to build Python GUIs for Windows using Delphi.
References & further readings
[1] Embarcadero DocWiki. (2011).
Vcl.ExtCtrls.TShape
. Embarcadero DocWiki. Embarcadero Technologies. docwiki.embarcadero.com/Libraries/Sydney/en/ Vcl.ExtCtrls.TShape