425
523
<element name="TCaption">
426
524
<short>A string type for the caption of a control: may be translated</short>
428
<!-- range type Visibility: default -->
429
<element name="TCursor">
431
<var>TCursor</var> - integer type defining range of values for cursor</short>
433
526
<!-- enumeration type Visibility: default -->
434
527
<element name="TFormStyle">
528
<short>Defines special form behaviour.</short>
439
<!-- enumeration value Visibility: default -->
440
532
<element name="TFormStyle.fsNormal">
533
<short>An ordinary (overlapping) form.</short>
443
<!-- enumeration value Visibility: default -->
444
535
<element name="TFormStyle.fsMDIChild">
536
<short>The form is an MDI child.</short>
447
<!-- enumeration value Visibility: default -->
448
538
<element name="TFormStyle.fsMDIForm">
539
<short>The form is an MDI parent form, containing MDI child forms.</short>
451
<!-- enumeration value Visibility: default -->
452
541
<element name="TFormStyle.fsStayOnTop">
542
<short>The form is in the foreground, on top of all other application forms.</short>
455
<!-- enumeration value Visibility: default -->
456
544
<element name="TFormStyle.fsSplash">
545
<short>A splash form.</short>
546
<notes><note>meaning what?</note>
549
<element name="TFormStyle.fsSystemStayOnTop">
550
<short>The form stays system-wide on top.</short>
551
<notes><note>?</note>
554
<!-- constant Visibility: default -->
555
<element name="fsAllStayOnTop">
556
<short>Set of form styles, which make a form stay on top.</short>
559
<link id="TFormStyle"/>
562
<!-- constant Visibility: default -->
563
<element name="fsAllNonSystemStayOnTop">
564
<short>Set of form styles, except those which make a form stay on top of all other forms of the system</short>
566
<link id="TFormStyle"/>
568
<notes><note>not system-wide?</note>
459
571
<!-- enumeration type Visibility: default -->
460
572
<element name="TFormBorderStyle">
573
<short>Style of a form's border.</short>
465
<!-- enumeration value Visibility: default -->
466
577
<element name="TFormBorderStyle.bsNone">
578
<short>No border at all.</short>
469
<!-- enumeration value Visibility: default -->
470
580
<element name="TFormBorderStyle.bsSingle">
581
<short>Single line border, the form cannot be resized.</short>
473
<!-- enumeration value Visibility: default -->
474
583
<element name="TFormBorderStyle.bsSizeable">
584
<short>The form can be resized (standard).</short>
477
<!-- enumeration value Visibility: default -->
478
586
<element name="TFormBorderStyle.bsDialog">
587
<short>The form is a dialog, cannot be resized.</short>
588
<notes><note>legacy?</note>
481
<!-- enumeration value Visibility: default -->
482
591
<element name="TFormBorderStyle.bsToolWindow">
592
<short>Single line border, small caption, not resizeable.</short>
485
<!-- enumeration value Visibility: default -->
486
594
<element name="TFormBorderStyle.bsSizeToolWin">
595
<short>Small caption, form can be resized.</short>
489
597
<!-- range type Visibility: default -->
490
<element name="TBorderStyle">
491
<short>A subset of TFormBorderStyle, listing only the styles available to a control that is not a form</short>
598
<element link="TFormBorderStyle" name="TBorderStyle">
599
<short>Possible types of borders (with or without border).</short>
601
<notes><note>used where?</note>
493
604
<!-- alias type Visibility: default -->
494
<element name="TControlBorderStyle">
605
<element link="TFormBorderStyle" name="TControlBorderStyle">
606
<short>Possible types of control borders (with or without border).</short>
607
<descr>A subset of TFormBorderStyle, listing only the styles available to a control that is not a form.</descr>
609
<notes><note>used where?</note>
499
612
<!-- enumeration type Visibility: default -->
500
613
<element name="TControlRoleForForm">
614
<short>Possible default actions on special keys.</short>
505
<!-- enumeration value Visibility: default -->
506
618
<element name="TControlRoleForForm.crffDefault">
619
<short>This control is notified when the user presses Return.</short>
509
<!-- enumeration value Visibility: default -->
510
621
<element name="TControlRoleForForm.crffCancel">
622
<short>This control is notified when the user presses Escape.</short>
513
624
<!-- set type Visibility: default -->
514
<element name="TControlRolesForForm">
625
<element link="TControlRoleForForm" name="TControlRolesForForm"/>
519
626
<!-- alias type Visibility: default -->
520
<element name="TBevelCut">
627
<element link="TGraphicsBevelCut" name="TBevelCut"/>
525
628
<!-- enumeration type Visibility: default -->
526
629
<element name="TMouseButton">
527
<short>Type defining the three mouse buttons (left, middle, right)</short>
630
<short>Enumeration of recognized mouse buttons.</short>
632
<p>These are <b>logical</b> buttons, left and right physical buttons can be swapped for left handed users.</p>
529
<!-- enumeration value Visibility: default -->
530
635
<element name="TMouseButton.mbLeft">
636
<short>Represents the left mouse button. It might be physically the right button if the system is configured to act like that, for example for a left handled person.</short>
533
<!-- enumeration value Visibility: default -->
534
638
<element name="TMouseButton.mbRight">
639
<short>Represents the right mouse button. It might be physically the left button if the system is configured to act like that, for example for a left handled person.</short>
537
<!-- enumeration value Visibility: default -->
538
641
<element name="TMouseButton.mbMiddle">
541
<!-- constant Visibility: default -->
542
<element name="fsAllStayOnTop">
547
<!-- constant Visibility: default -->
642
<short>Represents the middle mouse button.</short>
644
<element name="TMouseButton.mbExtra1">
645
<short>Represents the first extra mouse button.</short>
647
<element name="TMouseButton.mbExtra2">
648
<short>Represents the second extra mouse button.</short>
650
<!-- range type Visibility: default -->
651
<element name="TCursor">
653
<var>TCursor</var> - integer type defining range of values for cursor shapes.</short>
655
<p>Allowed values are:</p>
656
<pre>Standard cursors
657
crDefault = TCursor(0); //current cursor unchanged
658
crNone = TCursor(-1); //hide cursor
659
crArrow = TCursor(-2); //normal cursor
660
crCross = TCursor(-3); //graphics cursor, for pixel or rectangle selection
661
crIBeam = TCursor(-4); //text cursor, for setting insertion point
663
crSize = TCursor(-22);
664
crSizeAll = TCursor(-22);
665
crSizeNESW = TCursor(-6); // diagonal north east - south west
666
crSizeNS = TCursor(-7);
667
crSizeNWSE = TCursor(-8);
668
crSizeWE = TCursor(-9);
669
crSizeNW = TCursor(-23);
670
crSizeN = TCursor(-24);
671
crSizeNE = TCursor(-25);
672
crSizeW = TCursor(-26);
673
crSizeE = TCursor(-27);
674
crSizeSW = TCursor(-28);
675
crSizeS = TCursor(-29);
676
crSizeSE = TCursor(-30);
678
crDrag = TCursor(-12); //dragging, drop allowed
679
crNoDrop = TCursor(-13); //dragging, drop disallowed/rejected
680
crMultiDrag = TCursor(-16); //dragging multiple items
683
crHSplit = TCursor(-14);
684
crVSplit = TCursor(-15);
686
crUpArrow = TCursor(-10);
687
crHourGlass = TCursor(-11); //busy
688
crSQLWait = TCursor(-17);
689
crAppStart = TCursor(-19);
690
crHelp = TCursor(-20);
691
crHandPoint = TCursor(-21);
548
695
<element name="crHigh">
549
<short>Highest defined cursor constant.</short>
696
<short>Highest defined cursor constant (0).</short>
551
<!-- constant Visibility: default -->
552
698
<element name="crDefault">
553
<short>Default (parent) cursor constant (0)</short>
699
<short>Indicates that the default cursor from the system should be utilized</short>
555
<!-- constant Visibility: default -->
556
701
<element name="crNone">
557
<short>Invisible cursor constant: no cursor (-1)</short>
702
<short>Indicates that the cursor should be invisible</short>
559
<!-- constant Visibility: default -->
560
704
<element name="crArrow">
561
<short>Arrow cursor constant (-2)</short>
705
<short>The Arrow cursor, which is the most common and the default one in most cases</short>
563
<!-- constant Visibility: default -->
564
707
<element name="crCross">
565
<short>Cross cursor constant (-3)</short>
708
<short>A cursor utilized for graphics, for pixel or rectangle selection, often in the shape of a cross</short>
567
<!-- constant Visibility: default -->
568
710
<element name="crIBeam">
569
<short>I-Beam cursor constant, often used in text editors (-4)</short>
711
<short>A text cursor, for setting insertion point. Often used in text editors</short>
571
<!-- constant Visibility: default -->
572
713
<element name="crSize">
573
<short>Sizing cursor constant (-22), alias for crSizeAll.</short>
714
<short>A generic sizing cursor, to indicate that here one may drag to resize something. Is the same as crSizeAll.</short>
575
<!-- constant Visibility: default -->
576
716
<element name="crSizeNESW">
577
<short>crSizeNESW - cursor constant: runs diagonally from NorthEast to SouthWest (-6)</short>
717
<short>A cursor for resizing which runs diagonally from NorthEast to SouthWest (-6)</short>
581
<!-- constant Visibility: default -->
582
719
<element name="crSizeNS">
583
<short>crSizeNS - cursor constant: cursur runs from North to South (-7)</short>
720
<short>A cursor for resizing which cursor runs from North to South (-7)</short>
587
<!-- constant Visibility: default -->
588
722
<element name="crSizeNWSE">
589
<short>crNWSE - cursor constant: cursor runs from NorthWest to SouthEast</short>
723
<short>A cursor for resizing which cursor runs from NorthWest to SouthEast</short>
593
<!-- constant Visibility: default -->
594
725
<element name="crSizeWE">
595
<short>Horizontal Size cursor constant (-9)</short>
726
<short>A cursor for resizing which has an arrow with two points, one to the left and another to the right, to indicate resizing possibility in both directions.</short>
597
<!-- constant Visibility: default -->
598
728
<element name="crSizeNW">
599
<short>cursor constant</short>
729
<short>A cursor for resizing which has an arrow pointing to the left-top corner, to indicate resizing possibility in this direction</short>
603
<!-- constant Visibility: default -->
604
731
<element name="crSizeN">
605
<short>crSizeN - cursor constant: cursor North (-24)</short>
732
<short>A cursor for resizing which has an arrow pointing upwards, to indicate resizing possibility in this direction</short>
609
<!-- constant Visibility: default -->
610
734
<element name="crSizeNE">
611
<short>crSizeNW - cursor constant: NorthWest (-23)</short>
735
<short>A cursor for resizing which has an arrow pointing to the right-top corner, to indicate resizing possibility in this direction</short>
615
<!-- constant Visibility: default -->
616
737
<element name="crSizeW">
617
<short>cursor constant</short>
738
<short>A cursor for resizing which has an arrow pointing to the left, to indicate resizing possibility in this direction</short>
621
<!-- constant Visibility: default -->
622
740
<element name="crSizeE">
623
<short>Right size cursor constant[?]</short>
741
<short>A cursor for resizing which has an arrow pointing to the right, to indicate resizing possibility in this direction</short>
625
<!-- constant Visibility: default -->
626
743
<element name="crSizeSW">
744
<short>A cursor for resizing which has an arrow pointing to the left-bottom corner, to indicate resizing possibility in this direction</short>
631
<!-- constant Visibility: default -->
632
746
<element name="crSizeS">
747
<short>A cursor for resizing which has an arrow pointing downwards, to indicate resizing possibility in this direction</short>
637
<!-- constant Visibility: default -->
638
749
<element name="crSizeSE">
639
<short>cursor constant</short>
750
<short>A cursor for resizing which has an arrow pointing to the right-bottom corner, to indicate resizing possibility in this direction</short>
643
<!-- constant Visibility: default -->
644
752
<element name="crUpArrow">
645
753
<short>Up Arrow cursor constant (-10)</short>
647
<!-- constant Visibility: default -->
648
755
<element name="crHourGlass">
649
<short>Busy cursor constant (wait while action proceeds) (-11)</short>
756
<short>Busy cursor constant, utilized to indicate that one should wait while an action is done</short>
651
<!-- constant Visibility: default -->
652
758
<element name="crDrag">
653
<short>Dragging cursor constant (-12)</short>
759
<short>A cursor to indicate that one can drop a dragged item in this area</short>
655
<!-- constant Visibility: default -->
656
761
<element name="crNoDrop">
657
<short>No Drop Allowed cursor constant (-13)</short>
762
<short>A cursor to indicate that one cannot drop a dragged item in this area</short>
659
<!-- constant Visibility: default -->
660
764
<element name="crHSplit">
661
765
<short>Horizontal Splitter cursor constant (-14)</short>
663
<!-- constant Visibility: default -->
664
767
<element name="crVSplit">
665
768
<short>Vertical Split cursor constant (-15)</short>
667
<!-- constant Visibility: default -->
668
770
<element name="crMultiDrag">
669
<short>Multiple Object Drag cursor constant (-16)</short>
771
<short>Multiple Object dragging cursor constant (-16)</short>
671
<!-- constant Visibility: default -->
672
773
<element name="crSQLWait">
673
774
<short>Waiting for SQL cursor constant (-17)</short>
675
<!-- constant Visibility: default -->
676
776
<element name="crNo">
677
<short>"No" cursor constant (-18), see also crNoDrop.</short>
777
<short>Shows a negative sign. See also <link id="crNoDrop"/>.
679
<!-- constant Visibility: default -->
680
780
<element name="crAppStart">
781
<short>Application starting cursor.</short>
782
<notes><note>?</note>
685
<!-- constant Visibility: default -->
686
785
<element name="crHelp">
687
786
<short>"What's This" Help cursor constant (-20)</short>
689
<!-- constant Visibility: default -->
690
788
<element name="crHandPoint">
691
789
<short>Pointing hand cursor constant (-21)</short>
693
<!-- constant Visibility: default -->
694
791
<element name="crSizeAll">
695
<short>Size All Directions cursor constant (-22)</short>
792
<short>All Directions sizing cursor constant (-22)</short>
697
<!-- constant Visibility: default -->
698
794
<element name="crLow">
699
<short>Lowest defined cursor constant.</short>
795
<short>Lowest defined cursor constant (-30).</short>
701
797
<!-- procedure type Visibility: default -->
702
798
<element name="TWndMethod">
799
<short>Method type for WindowProc handlers.</short>
707
<!-- argument Visibility: default -->
708
803
<element name="TWndMethod.TheMessage">
711
806
<!-- enumeration type Visibility: default -->
712
807
<element name="TControlStyleType">
713
808
<short>TControlStyleType - enumerated type describing features of the Control</short>
715
<pre>Enumerated type comprising:
716
csAcceptsControls, // can have children in the designer
718
csDesignInteractive, // wants mouse events in design mode
723
csDoubleClicks,// control understands mouse double clicks
724
csTripleClicks,// control understands mouse triple clicks
725
csQuadClicks, // control understands mouse quad clicks
727
csFixedHeight, // control cannot change its height (for example combobox)
736
csNeedsBorderPaint, // not implemented
737
csParentBackground, // not implemented
738
csDesignNoSmoothResize, // no WYSIWYG resizing in designer
739
csDesignFixedBounds, // control can not be moved nor resized in designer
740
csHasDefaultAction, // control implements useful ExecuteDefaultAction
741
csHasCancelAction, // control implements useful ExecuteCancelAction
742
csNoDesignSelectable, // control can not be selected at design time
743
csOwnedChildsSelectable // child controls owned by this control are selectable in the designer</pre>
746
<!-- enumeration value Visibility: default -->
747
810
<element name="TControlStyleType.csAcceptsControls">
811
<short>Indicates that one can add child controls to this control in the form designer.</short>
750
<!-- enumeration value Visibility: default -->
751
813
<element name="TControlStyleType.csCaptureMouse">
815
<notes><note>?</note>
754
<!-- enumeration value Visibility: default -->
755
818
<element name="TControlStyleType.csDesignInteractive">
819
<short>wants mouse events in design mode</short>
758
<!-- enumeration value Visibility: default -->
759
821
<element name="TControlStyleType.csClickEvents">
823
<notes><note>?</note>
762
<!-- enumeration value Visibility: default -->
763
826
<element name="TControlStyleType.csFramed">
828
<notes><note>?</note>
766
<!-- enumeration value Visibility: default -->
767
831
<element name="TControlStyleType.csSetCaption">
768
<short>As long as Name=Text, changing the Name will set the Caption</short>
832
<short>As long as Name=Text, changing the Name will set the Caption.</short>
769
833
<descr>When for example a button's Name and Caption have the value 'Button1' and the Name is changed to 'Button2' then the Caption is changed as well. When Name and Caption differs this flag has no effect. This flag has no effect during loading.</descr>
771
<!-- enumeration value Visibility: default -->
772
835
<element name="TControlStyleType.csOpaque">
837
<notes><note>?</note>
775
<!-- enumeration value Visibility: default -->
776
840
<element name="TControlStyleType.csDoubleClicks">
841
<short>Indicates that the control understands mouse double clicks</short>
779
<!-- enumeration value Visibility: default -->
780
843
<element name="TControlStyleType.csTripleClicks">
844
<short>Indicates that the control understands mouse triple clicks</short>
783
<!-- enumeration value Visibility: default -->
784
846
<element name="TControlStyleType.csQuadClicks">
847
<short>Indicates that the control understands mouse quadruple clicks</short>
787
<!-- enumeration value Visibility: default -->
788
849
<element name="TControlStyleType.csFixedWidth">
850
<short>Indicates that the control cannot change its width</short>
791
<!-- enumeration value Visibility: default -->
792
852
<element name="TControlStyleType.csFixedHeight">
853
<short>Indicates that the control cannot change its height (e.g. combobox)</short>
795
<!-- enumeration value Visibility: default -->
796
855
<element name="TControlStyleType.csNoDesignVisible">
856
<short>Indicates that the control is invisible in the form designer</short>
799
<!-- enumeration value Visibility: default -->
800
858
<element name="TControlStyleType.csReplicatable">
860
<notes><note>?</note>
803
<!-- enumeration value Visibility: default -->
804
863
<element name="TControlStyleType.csNoStdEvents">
865
<notes><note>?</note>
807
<!-- enumeration value Visibility: default -->
808
868
<element name="TControlStyleType.csDisplayDragImage">
869
<short>display images from dragimagelist during drag operation over control</short>
811
<!-- enumeration value Visibility: default -->
812
871
<element name="TControlStyleType.csReflector">
873
<notes><note>?</note>
815
<!-- enumeration value Visibility: default -->
816
876
<element name="TControlStyleType.csActionClient">
878
<notes><note>?</note>
819
<!-- enumeration value Visibility: default -->
820
881
<element name="TControlStyleType.csMenuEvents">
883
<notes><note>?</note>
823
<!-- enumeration value Visibility: default -->
824
886
<element name="TControlStyleType.csNoFocus">
887
<short>Indicates that the control cannot receive focus</short>
888
<notes><note>?</note>
827
<!-- enumeration value Visibility: default -->
828
891
<element name="TControlStyleType.csNeedsBorderPaint">
892
<short>[not implemented]</short>
831
<!-- enumeration value Visibility: default -->
832
894
<element name="TControlStyleType.csParentBackground">
895
<short>[not implemented]</short>
835
<!-- enumeration value Visibility: default -->
836
897
<element name="TControlStyleType.csDesignNoSmoothResize">
898
<short>no WYSIWYG resizing in designer</short>
839
<!-- enumeration value Visibility: default -->
840
900
<element name="TControlStyleType.csDesignFixedBounds">
901
<short>control can not be moved nor resized in designer</short>
843
<!-- enumeration value Visibility: default -->
844
903
<element name="TControlStyleType.csHasDefaultAction">
904
<short>control implements useful ExecuteDefaultAction</short>
847
<!-- enumeration value Visibility: default -->
848
906
<element name="TControlStyleType.csHasCancelAction">
907
<short>control implements useful ExecuteCancelAction</short>
909
<element name="TControlStyleType.csNoDesignSelectable">
910
<short>control can not be selected at design time</short>
912
<element name="TControlStyleType.csOwnedChildrenNotSelectable">
913
<short>child controls owned by this control are NOT selectable in the designer</short>
915
<element name="TControlStyleType.csAutoSize0x0">
916
<short>if the preferred size is 0x0 then control is shrinked to 0x0</short>
918
<element name="TControlStyleType.csAutoSizeKeepChildLeft">
919
<short>when AutoSize=true do not move children horizontally</short>
921
<element name="TControlStyleType.csAutoSizeKeepChildTop">
922
<short>when AutoSize=true do not move children vertically</short>
924
<element name="TControlStyleType.csRequiresKeyboardInput">
925
<short>Indicates that a control requires keyboard input to be utilized by the user. This information is utilized in Android and other platforms so that the virtual keyboard is activated when the control receives focus and the device has no hardware keyboard</short>
851
927
<!-- set type Visibility: default -->
852
<element name="TControlStyle">
853
<short>Set of permissible control styles</short>
928
<element link="TControlStyleType" name="TControlStyle">
929
<short>Set of control styles.</short>
855
931
<!-- constant Visibility: default -->
856
932
<element name="csMultiClicks">
933
<short>Set of styles which require/provide multiple clicks on a control.</short>
861
935
<!-- enumeration type Visibility: default -->
862
936
<element name="TControlStateType">
863
<short>TControlStateType - an enumerated type listing the possible states (status) of Control</short>
937
<short>State flags of a Control</short>
865
939
<p>Enumerated type comprising</p>
866
940
<pre>csLButtonDown,
1280
<!-- enumeration value Visibility: default -->
1281
1426
<element name="TDragMessage.dmDragEnter">
1427
<short>mouse enters control</short>
1284
<!-- enumeration value Visibility: default -->
1285
1429
<element name="TDragMessage.dmDragLeave">
1430
<short>mouse leaves control</short>
1288
<!-- enumeration value Visibility: default -->
1289
1432
<element name="TDragMessage.dmDragMove">
1433
<short>mouse moves over control (after dmDragEnter)</short>
1292
<!-- enumeration value Visibility: default -->
1293
1435
<element name="TDragMessage.dmDragDrop">
1436
<short>control dropped</short>
1296
<!-- enumeration value Visibility: default -->
1297
1438
<element name="TDragMessage.dmDragCancel">
1439
<short>dragging aborted</short>
1300
<!-- enumeration value Visibility: default -->
1301
1441
<element name="TDragMessage.dmFindTarget">
1442
<short>find possible target control under the mouse</short>
1304
1444
<!-- procedure type Visibility: default -->
1305
1445
<element name="TDragOverEvent">
1446
<short>The type of an OnDragOver handler.</short>
1448
<p>An OnDragOver event is sent by a control, when an object is dragged over it.
1449
The handler can specify whether a drop will be accepted or rejected.</p>
1451
<var>Source</var> is polymorphic, can be either the DragObject or the dragged control!
1452
This depends on DragObject.AutoCreated, for no sane reason :-(
1456
<link id="TDockOverEvent"/>
1310
<!-- argument Visibility: default -->
1311
1459
<element name="TDragOverEvent.Sender">
1460
<short>The possible drop target (control).</short>
1314
<!-- argument Visibility: default -->
1315
1462
<element name="TDragOverEvent.Source">
1463
<short>The object (TDragObject or TControl) being dragged.</short>
1318
<!-- argument Visibility: default -->
1319
1465
<element name="TDragOverEvent.X">
1466
<short>X coordinate of the mouse on screen.</short>
1322
<!-- argument Visibility: default -->
1323
1468
<element name="TDragOverEvent.Y">
1469
<short>Y coordinate of the mouse on screen.</short>
1326
<!-- argument Visibility: default -->
1327
1471
<element name="TDragOverEvent.State">
1472
<short>The current DragState (entering, leaving or moving over the target).</short>
1330
<!-- argument Visibility: default -->
1331
1474
<element name="TDragOverEvent.Accept">
1475
<short>Set Accept to False to reject an drop (default is True).</short>
1334
1477
<!-- procedure type Visibility: default -->
1335
1478
<element name="TDragDropEvent">
1479
<short>The type of an OnDragDrop notification handler.</short>
1480
<descr>An OnDragDrop event is generated by the target control, on the drop of a dragged object.
1483
<link id="TDockDropEvent"/>
1484
<link id="TEndDragEvent"/>
1485
<link id="TControl.OnDragDrop"/>
1340
<!-- argument Visibility: default -->
1341
1488
<element name="TDragDropEvent.Sender">
1344
<!-- argument Visibility: default -->
1345
<element name="TDragDropEvent.Source">
1348
<!-- argument Visibility: default -->
1489
<short>The target control of the drop.</short>
1491
<element link="TDragOverEvent.Source" name="TDragDropEvent.Source">
1492
<short>The dragged control.</short>
1349
1494
<element name="TDragDropEvent.X">
1495
<short>The <b>client</b> coordinates of the drop.</short>
1352
<!-- argument Visibility: default -->
1353
1497
<element name="TDragDropEvent.Y">
1498
<short>The <b>client</b> coordinates of the drop.</short>
1356
1500
<!-- procedure type Visibility: default -->
1357
1501
<element name="TStartDragEvent">
1502
<short>The type of an OnStartDrag handler.</short>
1503
<descr>An OnStartDrag event is generated by a control when it shall be dragged and its DragKind is dkDrag.
1504
The handler can provide a specific DragDrop object, else a standard TDragDropObjectEx is automatically created by the DragManager.
1507
<link id="TStartDragEvent"/>
1362
<!-- argument Visibility: default -->
1363
1510
<element name="TStartDragEvent.Sender">
1511
<short>The control to be dragged.</short>
1366
<!-- argument Visibility: default -->
1367
1513
<element name="TStartDragEvent.DragObject">
1514
<short>Supply your own DragObject, or leave it Nil for automatic creation.</short>
1370
1516
<!-- procedure type Visibility: default -->
1371
1517
<element name="TEndDragEvent">
1518
<short>The type of an OnEndDrag handler.</short>
1520
<p>An OnEndDrag event is sent by a dragged control, when dragging is finished.
1521
This happens regardless of whether the operation was drag-drop or drag-dock,
1522
and whether the operation ended with a drop or was cancel'd.
1524
<p>Check Target=Nil to distinguish between a drop and a cancel'd operation (Nil).</p>
1527
<link id="TDragDropEvent"/>
1528
<link id="TDockDropEvent"/>
1376
<!-- argument Visibility: default -->
1377
1531
<element name="TEndDragEvent.Sender">
1532
<short>The dragged control</short>
1533
<notes><note>or DragObject?</note>
1380
<!-- argument Visibility: default -->
1381
1536
<element name="TEndDragEvent.Target">
1384
<!-- argument Visibility: default -->
1385
<element name="TEndDragEvent.X">
1388
<!-- argument Visibility: default -->
1389
<element name="TEndDragEvent.Y">
1392
<!-- pointer type Visibility: default -->
1393
<element name="PDragRec">
1398
<!-- record type Visibility: default -->
1399
<element name="TDragRec">
1404
<!-- variable Visibility: default -->
1405
<element name="TDragRec.Pos">
1410
<!-- variable Visibility: default -->
1411
<element name="TDragRec.Source">
1416
<!-- variable Visibility: default -->
1417
<element name="TDragRec.Target">
1422
<!-- variable Visibility: default -->
1423
<element name="TDragRec.Docking">
1428
<!-- record type Visibility: default -->
1429
<element name="TCMDrag">
1434
<!-- variable Visibility: default -->
1435
<element name="TCMDrag.Msg">
1440
<!-- variable Visibility: default -->
1441
<element name="TCMDrag.DragMessage">
1446
<!-- variable Visibility: default -->
1447
<element name="TCMDrag.Reserved1">
1452
<!-- variable Visibility: default -->
1453
<element name="TCMDrag.Reserved2">
1458
<!-- variable Visibility: default -->
1459
<element name="TCMDrag.DragRec">
1464
<!-- variable Visibility: default -->
1465
<element name="TCMDrag.Result">
1537
<short>The drop target (control), or Nil if cancel'd.</short>
1539
<element link="TDragOverEvent.X" name="TEndDragEvent.X">
1540
<short>The mouse coordinate, in client coordinates if dropped, else in screen coordinates.</short>
1542
<element link="TDragOverEvent.Y" name="TEndDragEvent.Y">
1543
<short>The mouse coordinate, in client coordinates if dropped, else in screen coordinates.</short>
1470
1545
<!-- object Visibility: default -->
1471
1546
<element name="TDragObject">
1472
<short>Base class for managing drag operations and feedback.</short>
1547
<short>Base class for managing drag operations and user feedback.</short>
1474
1549
<p>Every dragging operation has an associated DragObject, holding references to the source and target controls, and other parameters for the customization of the visual user feedback.</p>
1475
<p>A default DragObject is created automatically when a dragging operation starts, and is destroyed when the operation has ended, so that you must not take special care on it. But an application can provide a customized DragObject in the <link id="TControl.OnStartDrag"/> or <link id="TControl.OnStartDock"/> handlers of the source control (being dragged).</p>
1476
<p>TDragObject is the ancestor of an whole tree of dragging objects, with the main branches supporting either drag-drop or dock-drop operations. The type of the operation is determined from the <link id="TControl.DragKind"/> property of the source control. In contrast to the Delphi implementation, Lazarus has moved a couple of methods into the drag performers, so that these are no more available for customization.</p>
1477
<p>A Lazarus DragObject mainly supplies the cursor and images, used in visual user feedback. Drag-drop operations typically signal acceptance of an possible drop by variations of the mouse cursor, and optionally can attach to it shapes of the dragged object(s). Dock-drop operations instead show a docking rectangle, that snaps to possible target locations when the mouse moves over docksites.</p>
1478
<p>[entire review DoDi 2010-02-16]</p>
1550
<p>A default DragObject is created automatically when a dragging operation starts, and is destroyed when the operation has ended, so that you must not take special care on it.
1551
But an application can provide a customized DragObject in the <link id="TControl.OnStartDrag"/> or <link id="TControl.OnStartDock"/> handlers of the source control (being dragged).</p>
1552
<remark>AutoCreated DragObjects imply different behaviour in the DragOver and DragDrop events, where the Source becomes the dragged control, while else the DragObject itself is passed as Source.
1554
<p>TDragObject is the ancestor of an whole tree of dragging objects, with the main branches supporting either drag-drop or drag-dock operations.
1555
The type of the operation is determined from the <link id="TControl.DragKind"/> property of the source control.</p>
1556
<remark>In contrast to the Delphi implementation, Lazarus has moved a couple of methods into the drag performers, so that these are no more available for customization.</remark>
1557
<p>A Lazarus DragObject mainly supplies the cursor and images, used in visual user feedback.
1558
Drag-drop operations typically signal acceptance of an possible drop by variations of the mouse cursor, and optionally can attach to it shapes of the dragged object(s).
1559
Drag-dock operations instead show a docking rectangle, that snaps to possible target locations when the mouse moves over docksites.</p>
1560
<p>[entire review DoDi 2011-09-10]</p>
1481
1563
<link id="TDragControlObject"/>
1482
1564
<link id="TDragDockObject"/>
1485
<!-- variable Visibility: private -->
1486
<element name="TDragObject.FDragTarget">
1491
<!-- variable Visibility: private -->
1492
<element name="TDragObject.FDragHandle">
1497
<!-- variable Visibility: private -->
1498
<element name="TDragObject.FDragPos">
1503
<!-- variable Visibility: private -->
1504
<element name="TDragObject.FDragTargetPos">
1509
<!-- variable Visibility: private -->
1510
<element name="TDragObject.FDropped">
1515
<!-- variable Visibility: private -->
1516
<element name="TDragObject.FMouseDeltaX">
1521
<!-- variable Visibility: private -->
1522
<element name="TDragObject.FMouseDeltaY">
1527
<!-- variable Visibility: private -->
1528
<element name="TDragObject.FCancelling"/>
1567
<element link="TDragObject.DragPos" name="TDragObject.FDragPos"/>
1568
<element link="TDragObject.DragTarget" name="TDragObject.FDragTarget"/>
1569
<element link="TDragObject.DragTargetPos" name="TDragObject.FDragTargetPos"/>
1570
<element link="TDragObject.AutoFree" name="TDragObject.FAutoFree"/>
1571
<element link="TDragObject.AutoCreated" name="TDragObject.FAutoCreated"/>
1572
<element link="TDragObject.Dropped" name="TDragObject.FDropped"/>
1573
<element link="TDragObject.AlwaysShowDragImage" name="TDragObject.FAlwaysShowDragImages"/>
1574
<element link="TDragObject.Control" name="TDragObject.FControl"/>
1575
<element name="TDragObject.MouseDeltaX">
1576
<short>[Delphi compatible - dropped!]</short>
1578
<element name="TDragObject.MouseDeltaY">
1579
<short>[Delphi compatible - dropped!]</short>
1529
1581
<!-- function Visibility: private -->
1530
1582
<element name="TDragObject.Capture">
1583
<short>[Delphi compatible - dropped!]</short>
1584
<notes><note>Delphi compatible - dropped!</note>
1536
<!-- function result Visibility: default -->
1537
1587
<element name="TDragObject.Capture.Result">
1540
1590
<!-- procedure Visibility: protected -->
1541
1591
<element name="TDragObject.Finished">
1592
<short>[Delphi compatible - dropped!]</short>
1596
<notes><note>Delphi compatible - dropped!</note>
1547
<!-- argument Visibility: default -->
1548
1599
<element name="TDragObject.Finished.Target">
1551
<!-- argument Visibility: default -->
1552
1602
<element name="TDragObject.Finished.X">
1555
<!-- argument Visibility: default -->
1556
1605
<element name="TDragObject.Finished.Y">
1559
<!-- argument Visibility: default -->
1560
1608
<element name="TDragObject.Finished.Accepted">
1563
1611
<!-- function Visibility: protected -->
1564
1612
<element name="TDragObject.GetDragCursor">
1565
<short>Returns the dragging cursor type.</short>
1613
<short>Returns the dragging cursor type (shape).</short>
1566
1614
<descr>In drag-drop operations the cursor signals acceptance or rejection of an drop, depending on Accepted.</descr>
1570
<!-- function result Visibility: default -->
1571
1618
<element name="TDragObject.GetDragCursor.Result">
1619
<short>The cursor to show.</short>
1574
<!-- argument Visibility: default -->
1575
1621
<element name="TDragObject.GetDragCursor.Accepted">
1622
<short>Which cursor to return (rejected:crNoDrop or accepted:crDrag).</short>
1578
<!-- argument Visibility: default -->
1579
1624
<element name="TDragObject.GetDragCursor.X">
1626
<notes><note>?</note>
1582
<!-- argument Visibility: default -->
1583
1629
<element name="TDragObject.GetDragCursor.Y">
1631
<notes><note>?</note>
1586
1634
<!-- function Visibility: protected -->
1587
1635
<element name="TDragObject.GetDragImages">
1588
1636
<short>Returns a list of images for dragging.</short>
1589
<descr>The returned <link id="TDragImageList"/> provides methods for the selection and display of an image, shown while dragging.</descr>
1637
<descr>The returned <link id="TDragImageList"/> provides methods for the selection and display of an image, shown while dragging.
1638
This implementation returns Nil, must be overridden (e.g. in TDragControlObject).
1642
<link id="TDragControlObject"/>
1593
<!-- function result Visibility: default -->
1594
1645
<element name="TDragObject.GetDragImages.Result">
1646
<short>The ImageList to use, is Nil by default!</short>
1597
1648
<!-- procedure Visibility: protected -->
1598
1649
<element name="TDragObject.MouseMove">
1650
<short>[Delphi compatible - dropped!]</short>
1654
<notes><note>Delphi compatible - dropped!</note>
1604
<!-- argument Visibility: default -->
1605
1657
<element name="TDragObject.MouseMove.Shift">
1608
<!-- argument Visibility: default -->
1609
1660
<element name="TDragObject.MouseMove.X">
1612
<!-- argument Visibility: default -->
1613
1663
<element name="TDragObject.MouseMove.Y">
1616
1666
<!-- procedure Visibility: protected -->
1617
1667
<element name="TDragObject.MouseDown">
1668
<short>[Delphi compatible - dropped!]</short>
1672
<notes><note>Delphi compatible - dropped!</note>
1623
<!-- argument Visibility: default -->
1624
1675
<element name="TDragObject.MouseDown.Button">
1627
<!-- argument Visibility: default -->
1628
1678
<element name="TDragObject.MouseDown.Shift">
1631
<!-- argument Visibility: default -->
1632
1681
<element name="TDragObject.MouseDown.X">
1635
<!-- argument Visibility: default -->
1636
1684
<element name="TDragObject.MouseDown.Y">
1639
1687
<!-- procedure Visibility: protected -->
1640
1688
<element name="TDragObject.MouseUp">
1689
<short>[Delphi compatible - dropped!]</short>
1693
<notes><note>Delphi compatible - dropped!</note>
1646
<!-- argument Visibility: default -->
1647
1696
<element name="TDragObject.MouseUp.Button">
1650
<!-- argument Visibility: default -->
1651
1699
<element name="TDragObject.MouseUp.Shift">
1654
<!-- argument Visibility: default -->
1655
1702
<element name="TDragObject.MouseUp.X">
1658
<!-- argument Visibility: default -->
1659
1705
<element name="TDragObject.MouseUp.Y">
1662
1708
<!-- procedure Visibility: protected -->
1663
1709
<element name="TDragObject.CaptureChanged">
1710
<short>[Delphi compatible - dropped!]</short>
1714
<notes><note>Delphi compatible - dropped!</note>
1669
<!-- argument Visibility: default -->
1670
1717
<element name="TDragObject.CaptureChanged.OldCaptureControl">
1673
1720
<!-- procedure Visibility: protected -->
1674
1721
<element name="TDragObject.KeyDown">
1722
<short>[Delphi compatible - dropped!]</short>
1726
<notes><note>Delphi compatible - dropped!</note>
1680
<!-- argument Visibility: default -->
1681
1729
<element name="TDragObject.KeyDown.Key">
1684
<!-- argument Visibility: default -->
1685
1732
<element name="TDragObject.KeyDown.Shift">
1688
1735
<!-- procedure Visibility: protected -->
1689
1736
<element name="TDragObject.KeyUp">
1737
<short>[Delphi compatible - dropped!]</short>
1741
<notes><note>Delphi compatible - dropped!</note>
1695
<!-- argument Visibility: default -->
1696
1744
<element name="TDragObject.KeyUp.Key">
1699
<!-- argument Visibility: default -->
1700
1747
<element name="TDragObject.KeyUp.Shift">
1750
<!-- constructor Visibility: public -->
1751
<element name="TDragObject.Create">
1752
<short>Remembers the dragged control.</short>
1756
<link id="#rtl.System.TObject.Create">TObject.Create</link>
1759
<element name="TDragObject.Create.AControl">
1760
<short>The control being dragged.</short>
1762
<element name="TDragObject.AutoCreate">
1763
<short>Special constructor, enforcing the destruction of the object at the end of the dragging operation.</short>
1764
<descr>This constructor sets the AutoCreated and AutoFree flags. AutoFree is tested by the DragManager at the end of the dragging operation.</descr>
1766
<element name="TDragObject.AutoCreate.AControl">
1767
<short>The control being dragged.</short>
1769
<element name="TDragObject.AutoFree">
1770
<short>Indicates whether the object shall be destroyed at the end of the dragging operation.</short>
1771
<descr>This is a Lazarus specific property, introduced to get rid of the special Delphi TDrag...Ex classes.</descr>
1703
1773
<!-- destructor Visibility: public -->
1704
<element name="TDragObject.Destroy">
1705
<short>Destroy this instance of TDragObject</short>
1774
<element name="TDragObject.Destroy"/>
1775
<!-- property Visibility: public -->
1776
<element name="TDragObject.AlwaysShowDragImages">
1777
<short>Should the image of dragged objects always be shown?</short>
1778
<descr>This is another chance for enforcing the display of a drag image, even if a drop is acceptable.</descr>
1780
<notes><note>where to describe the various conditions?</note>
1783
<!-- property Visibility: public -->
1784
<element name="TDragObject.Control">
1785
<short>The control that is dragged (source).</short>
1707
1789
<!-- procedure Visibility: public -->
1708
1790
<element name="TDragObject.Assign">
1709
<short>Assigns a particular source to this drag object</short>
1710
<descr>Finds out a lot of information about the source object, such as its operating-system handle, size, position, how much the mouse is allowed to move before the object is moved, and whether the object is to be kept visible during the drag process.</descr>
1712
<!-- argument Visibility: default -->
1713
<element name="TDragObject.Assign.Source">
1714
<short>The object, with all its properties, that is to be dragged</short>
1791
<short>[Delphi compatible - dropped!] Copy information from another drag object.</short>
1792
<descr>Use <var>Assign</var> to initialize the drag object with your own default values.</descr>
1793
<notes><note>Delphi compatible - dropped!</note>
1796
<element name="TDragObject.Assign.Source"/>
1716
1797
<!-- function Visibility: public -->
1717
1798
<element name="TDragObject.GetName">
1718
<short>Find name of the object for dragging</short>
1799
<short>[Delphi compatible - dropped!] Returns the Name of the drag object.</short>
1800
<descr>This implementation returns the ClassName of the object.
1801
Override as appropriate for your drag management, this method is not called by LCL code.
1803
<notes><note>Delphi compatible - dropped!</note>
1720
<!-- function result Visibility: default -->
1721
1806
<element name="TDragObject.GetName.Result">
1722
<short>The object's name returned as a string</short>
1807
<short>The object's name.</short>
1809
<!-- function Visibility: public -->
1810
<element name="TDragObject.Instance">
1811
<short>[Delphi compatible - dropped!]</short>
1812
<notes><note>Delphi compatible - dropped!</note>
1815
<element name="TDragObject.Instance.Result">
1816
<short>Zero by default.</short>
1724
1818
<!-- procedure Visibility: public -->
1725
1819
<element name="TDragObject.HideDragImage">
1726
<short>Hides the drag image</short>
1820
<short>Asks the image list to hide the drag image.</short>
1728
1822
<link id="#lcl.Controls.TDragObject.ShowDragImage">ShowDragImage</link>
1731
<!-- function Visibility: public -->
1732
<element name="TDragObject.Instance">
1733
<short>// exist only for compatibility</short>
1735
<!-- function result Visibility: default -->
1736
<element name="TDragObject.Instance.Result">
1739
1825
<!-- procedure Visibility: public -->
1740
1826
<element name="TDragObject.ShowDragImage">
1741
<short>Shows the drag image</short>
1827
<short>Asks the image list to show the drag image.</short>
1743
1830
<link id="#lcl.Controls.TDragObject.HideDragImage">HideDragImage</link>
1746
1833
<!-- property Visibility: public -->
1747
1834
<element name="TDragObject.Cancelling">
1748
<short>Is this drag object being cancelled?</short>
1749
<descr>Reads or sets flag to determine whether this drag image is being cancelled. Property has a boolean value, true if cancelling</descr>
1835
<short>[Delphi compatible - dropped!] Is this drag being cancelled?</short>
1836
<descr>Set while this drag is cancelled. Used to prevent endless loops in further processing.</descr>
1837
<notes><note>Delphi compatible - dropped!</note>
1751
1840
<!-- property Visibility: public -->
1752
1841
<element name="TDragObject.DragHandle">
1753
<short>Finds Operating-System handle for this object</short>
1754
<descr>Reads or writes flag for operating-system handle</descr>
1842
<short>[Delphi compatible - dropped!] The Handle of the dragged object.</short>
1844
<notes><note>Delphi compatible - dropped!</note>
1756
1847
<!-- property Visibility: public -->
1757
1848
<element name="TDragObject.DragPos">
1758
<short>Mouse position in screen coordinates.</short>
1849
<short>Current mouse position in screen coordinates.</short>
1760
1851
<link id="TDragObject.DragTargetPos"/>
1763
1854
<!-- property Visibility: public -->
1764
1855
<element name="TDragObject.DragTargetPos">
1765
<short>Mouse position in client coordinates of the DragTarget (site)</short>
1856
<short>Mouse position in client coordinates of the DragTarget.</short>
1858
<link id="TDragObject.DragPos"/>
1767
1861
<!-- property Visibility: public -->
1768
1862
<element name="TDragObject.DragTarget">
1769
<short>The control to which the current object is dragged (target).</short>
1863
<short>The control over which the object currently is dragged (target).</short>
1771
1865
<!-- property Visibility: public -->
1772
1866
<element name="TDragObject.Dropped">
3279
3184
Centering A relative to B:
3280
A.AnchorSide[akTop].Side:=arsCenter;
3185
A.AnchorSide[akTop].Side:=asrCenter;
3281
3186
A.AnchorSide[akTop].Control:=B;
3282
3187
Or use this. It's equivalent:
3283
A.AnchorSide[akBottom].Side:=arsCenter;
3188
A.AnchorSide[akBottom].Side:=asrCenter;
3284
3189
A.AnchorSide[akBottom].Control:=B;
3292
<!-- variable Visibility: private -->
3293
<element name="TAnchorSide.FControl">
3298
<!-- variable Visibility: private -->
3299
<element name="TAnchorSide.FKind">
3304
<!-- variable Visibility: private -->
3305
<element name="TAnchorSide.FOwner">
3310
<!-- variable Visibility: private -->
3311
<element name="TAnchorSide.FSide">
3194
<notes><note>Make this an topic, describing *everything* related to anchoring?</note>
3197
<!-- variable Visibility: private -->
3198
<element name="TAnchorSide.FControl"/>
3199
<element name="TAnchorSide.FKind"/>
3200
<element name="TAnchorSide.FOwner"/>
3201
<element name="TAnchorSide.FSide"/>
3316
3202
<!-- function Visibility: private -->
3317
<element name="TAnchorSide.IsSideStored">
3323
<!-- function result Visibility: default -->
3203
<element name="TAnchorSide.IsSideStored"/>
3324
3204
<element name="TAnchorSide.IsSideStored.Result">
3327
3207
<!-- procedure Visibility: private -->
3328
<element name="TAnchorSide.SetControl">
3334
<!-- argument Visibility: default -->
3208
<element name="TAnchorSide.SetControl"/>
3335
3209
<element name="TAnchorSide.SetControl.AValue">
3338
3212
<!-- procedure Visibility: private -->
3339
<element name="TAnchorSide.SetSide">
3345
<!-- argument Visibility: default -->
3213
<element name="TAnchorSide.SetSide"/>
3346
3214
<element name="TAnchorSide.SetSide.AValue">
3217
<!-- function Visibility: protected -->
3218
<element name="TAnchorSide.GetOwner"/>
3219
<element name="TAnchorSide.GetOwner.Result">
3349
3222
<!-- constructor Visibility: public -->
3350
<element name="TAnchorSide.Create">
3352
<var>Create</var> - constructor for
3359
<var>TAnchorSide</var>: calls inherited
3366
<var>Create</var>, copies arguments to local variables and sets default anchor to Top</short>
3370
<link id="#rtl.System.TObject.Create">TObject.Create</link>
3373
<!-- argument Visibility: default -->
3223
<element name="TAnchorSide.Create"/>
3374
3224
<element name="TAnchorSide.Create.TheOwner">
3377
<!-- argument Visibility: default -->
3378
3227
<element name="TAnchorSide.Create.TheKind">
3230
<!-- destructor Visibility: public -->
3231
<element name="TAnchorSide.Destroy"/>
3381
3232
<!-- procedure Visibility: public -->
3382
3233
<element name="TAnchorSide.GetSidePosition">
3384
<var>GetSidePosition</var> - returns the position of the side used for anchoring</short>
3234
<short>Get information about the target control, side and side position.</short>
3389
<!-- argument Visibility: default -->
3390
3239
<element name="TAnchorSide.GetSidePosition.ReferenceControl">
3240
<short>The control we are anchored to.</short>
3393
<!-- argument Visibility: default -->
3394
3242
<element name="TAnchorSide.GetSidePosition.ReferenceSide">
3243
<short>The side we are anchord to.</short>
3397
<!-- argument Visibility: default -->
3398
3245
<element name="TAnchorSide.GetSidePosition.Position">
3246
<short>Position of the side to anchor to.</short>
3401
<!-- procedure Visibility: public -->
3402
<element name="TAnchorSide.Assign">
3404
<var>Assign</var> - copies anchoring information from
3411
<var>Source</var> if it is of the same type as the current control, otherwise calls inherited
3248
<!-- function Visibility: public -->
3249
<element name="TAnchorSide.CheckSidePosition">
3250
<short>Check for anchor cycles and invalid targets, and return information about the target side.</short>
3423
<link id="#rtl.Classes.TPersistent.Assign">TPersistent.Assign</link>
3426
<!-- argument Visibility: default -->
3253
Can raise an exception 'TAnchorSide.CheckSidePosition invalid Side'.
3258
<element name="TAnchorSide.CheckSidePosition.Result">
3259
<short>False when errors have been found.</short>
3261
<element name="TAnchorSide.CheckSidePosition.NewControl">
3263
<notes><note>?</note>
3266
<element name="TAnchorSide.CheckSidePosition.NewSide">
3268
<notes><note>?</note>
3271
<element name="TAnchorSide.CheckSidePosition.ReferenceControl">
3272
<short>The control we are anchored to.</short>
3274
<element name="TAnchorSide.CheckSidePosition.ReferenceSide">
3275
<short>The side we are anchord to.</short>
3277
<element name="TAnchorSide.CheckSidePosition.Position">
3278
<short>Position of the side to anchor to.</short>
3280
<!-- procedure Visibility: public -->
3281
<element link="#rtl.Classes.TPersistent.Assign" name="TAnchorSide.Assign"/>
3427
3282
<element name="TAnchorSide.Assign.Source">
3285
<!-- function Visibility: public -->
3286
<element name="TAnchorSide.IsAnchoredToParent">
3287
<short>True when we are anchored to our parent, at least on ParentSide</short>
3291
<notes><note>?</note>
3294
<element name="TAnchorSide.IsAnchoredToParent.Result">
3296
<notes><note>?</note>
3299
<element name="TAnchorSide.IsAnchoredToParent.ParentSide">
3301
<notes><note>?</note>
3304
<!-- procedure Visibility: public -->
3305
<element name="TAnchorSide.FixCenterAnchoring">
3306
<short>Remove conflicting anchors.</short>
3307
<descr>With asrCenter, both sides are controlled by one anchor.
3308
Disable opposite anchor and all aligning.
3430
3313
<!-- property Visibility: public -->
3431
3314
<element name="TAnchorSide.Owner">
3433
<var>Owner</var> - the Control that owns the current control that is to be anchored</short>
3315
<short>The control being anchored.</short>
3316
<descr>For example AButton1.AnchorSide[akBottom].Owner = AButton1.</descr>
3437
3319
<!-- property Visibility: public -->
3438
3320
<element name="TAnchorSide.Kind">
3439
<short>The <var>Kind</var> of anchoring to be used</short>
3321
<short>The control side being anchored.</short>
3322
<descr>Every control has four AnchorSide, one for each side. For example AButton1.AnchorSide[akLeft].Kind=akLeft.</descr>
3443
3325
<!-- property Visibility: published -->
3444
3326
<element name="TAnchorSide.Control">
3445
<short>The control whose anchoring properties are being determined</short>
3327
<short>The target control of the anchor.</short>
3328
<descr>For example if the right side of a Button1 is anchored to the left side of Edit1,
3329
then Button1.AnchorSide[akRight].Control=Edit1 and Button1.AnchorSide[akRight].Side=asrLeft.</descr>
3449
3332
<!-- property Visibility: published -->
3450
3333
<element name="TAnchorSide.Side">
3451
<short>The side on which anchoring is to be performed</short>
3334
<short>The side of the target Control, to which we anchor.</short>
3335
<descr>For example if the right side of a Button1 is anchored to the left side of Edit1,
3336
then Button1.AnchorSide[akRight].Control=Edit1 and Button1.AnchorSide[akRight].Side=asrLeft.</descr>
3455
3339
<!-- object Visibility: default -->
3456
3340
<element name="TControlActionLink">
3458
<var>TControlActionLink</var> - links the current control to an action</short>
3341
<short>Links an Action to a control.</short>
3461
<var>TControlActionLink</var> - links the current control to an action</p>
3462
<p>Defines a number of protected methods (inherited from <link id="#lcl.ActnList.TActionLink">TActionLink</link>) for checking which parts of the control are linked to the action</p>
3343
<p>An ActionLink is created by a control, when an Action is assigned to the control.
3344
TControl.Action effectively becomes control.ActionLink.Action.
3346
<p>The ActionLink propagates changes of Action properties to the client control.
3347
It's assumed that properties of the <b>same value</b> (in the Control and Action) are linked to the Action,
3348
and follow changes to the Action properties.
3350
<p>Linked control properties are (by default):
3356
<li>HelpContext, HelpKeyword, HelpType: these are linked only if all three property values match.</li>
3358
<li>OnClick is linked to Action.Execute</li>
3360
<p>The control can update itself, when it receives a Change notification from the ActionLink
3361
<link id="TControl.ActionChange"/>.
3467
3367
<!-- variable Visibility: protected -->
3468
3368
<element name="TControlActionLink.FClient">
3469
<short>Local variable that identifies the client control that is to be linked to the action</short>
3369
<short>The client control that is linked to the action.</short>
3370
<descr>It can be assumed that FClient is not Nil.</descr>
3473
3372
<!-- procedure Visibility: protected -->
3474
3373
<element link="#rtl.Classes.TBasicActionLink.AssignClient" name="TControlActionLink.AssignClient">
3374
<short>Called during construction, sets FClient to the given control.</short>
3480
<!-- argument Visibility: default -->
3481
3376
<element name="TControlActionLink.AssignClient.AClient">
3377
<short>The control linked to the action.</short>
3484
3379
<!-- function Visibility: protected -->
3485
<element link="#LCL.ActnList.TActionLink.IsCaptionLinked" name="TControlActionLink.IsCaptionLinked">
3491
<!-- function result Visibility: default -->
3380
<element link="#LCL.ActnList.TActionLink.IsCaptionLinked" name="TControlActionLink.IsCaptionLinked"/>
3492
3381
<element name="TControlActionLink.IsCaptionLinked.Result">
3495
3384
<!-- function Visibility: protected -->
3496
<element link="#LCL.ActnList.TActionLink.IsEnabledLinked" name="TControlActionLink.IsEnabledLinked">
3502
<!-- function result Visibility: default -->
3385
<element link="#LCL.ActnList.TActionLink.IsEnabledLinked" name="TControlActionLink.IsEnabledLinked"/>
3503
3386
<element name="TControlActionLink.IsEnabledLinked.Result">
3506
3389
<!-- function Visibility: protected -->
3507
3390
<element link="#LCL.ActnList.TActionLink.IsHelpLinked" name="TControlActionLink.IsHelpLinked">
3391
<short>Help properties are assumed linked only when all these properties match.</short>
3392
<descr>Compares the HelpContext, HelpKeyword and HelpType properties.</descr>
3513
<!-- function result Visibility: default -->
3514
3394
<element name="TControlActionLink.IsHelpLinked.Result">
3395
<short>True only if all three Control properties match the Action properties.</short>
3517
3397
<!-- function Visibility: protected -->
3518
<element link="#LCL.ActnList.TActionLink.IsHintLinked" name="TControlActionLink.IsHintLinked">
3524
<!-- function result Visibility: default -->
3398
<element link="#LCL.ActnList.TActionLink.IsHintLinked" name="TControlActionLink.IsHintLinked"/>
3525
3399
<element name="TControlActionLink.IsHintLinked.Result">
3528
3402
<!-- function Visibility: protected -->
3529
<element link="#LCL.ActnList.TActionLink.IsVisibleLinked" name="TControlActionLink.IsVisibleLinked">
3535
<!-- function result Visibility: default -->
3403
<element link="#LCL.ActnList.TActionLink.IsVisibleLinked" name="TControlActionLink.IsVisibleLinked"/>
3536
3404
<element name="TControlActionLink.IsVisibleLinked.Result">
3539
3407
<!-- function Visibility: protected -->
3540
3408
<element name="TControlActionLink.IsOnExecuteLinked">
3542
<var>IsOnExecuteLinked</var> - returns True if the OnExecute event is linked</short>
3409
<short>True if the client's OnClick is the action's OnExecute handler.</short>
3547
<!-- function result Visibility: default -->
3548
3414
<element name="TControlActionLink.IsOnExecuteLinked.Result">
3551
3417
<!-- function Visibility: protected -->
3552
3418
<element name="TControlActionLink.DoShowHint">
3554
<var>DoShowHint</var> - method to display hint; returns True if successful</short>
3419
<short>Compose the hint string, depending on HintShortCuts.</short>
3423
<link id="#LCL.Forms.TApplication.HintShortCuts"/>
3559
<!-- function result Visibility: default -->
3560
3426
<element name="TControlActionLink.DoShowHint.Result">
3427
<short>Always True.</short>
3563
<!-- argument Visibility: default -->
3564
3429
<element name="TControlActionLink.DoShowHint.HintStr">
3430
<short>The hint to show.</short>
3567
3432
<!-- procedure Visibility: protected -->
3568
3433
<element name="TControlActionLink.SetCaption">
3570
<var>SetCaption</var> - specifies the caption for the control</short>
3434
<short>Sets the client's Caption, if the old values match.
3574
3439
<link id="#LCL.ActnList.TActionLink.SetCaption">TActionLink.SetCaption</link>
3577
<!-- argument Visibility: default -->
3578
3442
<element name="TControlActionLink.SetCaption.Value">
3581
3445
<!-- procedure Visibility: protected -->
3582
3446
<element name="TControlActionLink.SetEnabled">
3584
<var>SetEnabled</var> - specifies whether or not the link is enabled</short>
3447
<short>Sets client's Enabled, if the old values match.
3589
<!-- argument Visibility: default -->
3590
3453
<element name="TControlActionLink.SetEnabled.Value">
3593
3456
<!-- procedure Visibility: protected -->
3594
3457
<element name="TControlActionLink.SetHint">
3596
<var>SetHint</var> - specifies the string to use for the hint</short>
3458
<short>Sets client's Hint, if the old values match.
3601
<!-- argument Visibility: default -->
3602
3464
<element name="TControlActionLink.SetHint.Value">
3605
3467
<!-- procedure Visibility: protected -->
3606
3468
<element name="TControlActionLink.SetHelpContext">
3608
<var>SetHelpContext</var> - specifies the context-based help variable to use</short>
3469
<short>Sets client's HelpContext, if the old Help properties match (IsHelpLinked).
3613
<!-- argument Visibility: default -->
3614
3475
<element name="TControlActionLink.SetHelpContext.Value">
3617
3478
<!-- procedure Visibility: protected -->
3618
3479
<element name="TControlActionLink.SetHelpKeyword">
3620
<var>SetHelpKeyword</var> - specifies the help keyword</short>
3480
<short>Sets client's HelpKeyword, if the old Help properties match (IsHelpLinked).
3625
<!-- argument Visibility: default -->
3626
3486
<element name="TControlActionLink.SetHelpKeyword.Value">
3629
3489
<!-- procedure Visibility: protected -->
3630
3490
<element name="TControlActionLink.SetHelpType">
3632
<var>SetHelpType</var> - specifies the type of help to use</short>
3491
<short>Sets client's HelpType, if the old Help properties match (IsHelpLinked).
3637
<!-- argument Visibility: default -->
3638
3497
<element name="TControlActionLink.SetHelpType.Value">
3641
3500
<!-- procedure Visibility: protected -->
3642
3501
<element name="TControlActionLink.SetVisible">
3644
<var>SetVisible</var> - specifies the visiblity</short>
3502
<short>Sets client's Visible, if the old values match.
3649
<!-- argument Visibility: default -->
3650
3508
<element name="TControlActionLink.SetVisible.Value">
3653
3511
<!-- procedure Visibility: protected -->
3654
3512
<element name="TControlActionLink.SetOnExecute">
3656
<var>SetOnExecute</var> - specifies the Execute event handler</short>
3513
<short>Set client's OnClick, if the old values match.
3661
<!-- argument Visibility: default -->
3662
3519
<element name="TControlActionLink.SetOnExecute.Value">
3665
3522
<!-- "class of" type Visibility: default -->
3666
<element name="TControlActionLinkClass">
3668
<var>TControlActionLinkClass</var> - class of
3675
<var>TControlActionLink</var>
3523
<element link="TControlActionLink" name="TControlActionLinkClass">
3524
<short>Class of <link id="TControlActionLink"/>.
3529
<!-- enumeration type Visibility: default -->
3530
<element name="TControlAutoSizePhase">
3534
<notes><note>?</note>
3537
<!-- enumeration value Visibility: default -->
3538
<element name="TControlAutoSizePhase.caspNone">
3540
<notes><note>?</note>
3543
<!-- enumeration value Visibility: default -->
3544
<element name="TControlAutoSizePhase.caspChangingProperties">
3546
<notes><note>?</note>
3549
<!-- enumeration value Visibility: default -->
3550
<element name="TControlAutoSizePhase.caspCreatingHandles">
3551
<short>create/destroy handles</short>
3553
<!-- enumeration value Visibility: default -->
3554
<element name="TControlAutoSizePhase.caspComputingBounds">
3556
<notes><note>?</note>
3559
<!-- enumeration value Visibility: default -->
3560
<element name="TControlAutoSizePhase.caspRealizingBounds">
3562
<notes><note>?</note>
3565
<!-- enumeration value Visibility: default -->
3566
<element name="TControlAutoSizePhase.caspShowing">
3567
<short>make handles visible</short>
3568
<notes><note>?</note>
3571
<!-- set type Visibility: default -->
3572
<element link="TControlAutoSizePhase" name="TControlAutoSizePhases"/>
3573
<!-- constant Visibility: default -->
3574
<element link="TControlAutoSizePhase" name="AutoSizePhaseNames">
3575
<short>Names for TControlAutoSizePhase.</short>
3680
3577
<!-- range type Visibility: default -->
3681
3578
<element name="TTabOrder">
3579
<short>Type of <link id="TWinControl.TabOrder"/>.</short>
3686
3583
<!-- procedure type Visibility: default -->
3687
3584
<element name="TControlShowHintEvent">
3585
<short>Handler type for OnShowHint.</short>
3692
<!-- argument Visibility: default -->
3693
3589
<element name="TControlShowHintEvent.Sender">
3591
<notes><note>?</note>
3696
<!-- argument Visibility: default -->
3697
3594
<element name="TControlShowHintEvent.HintInfo">
3596
<notes><note>?</note>
3700
3599
<!-- procedure type Visibility: default -->
3701
3600
<element name="TContextPopupEvent">
3601
<short>Handler type for OnContextPopup.</short>
3706
<!-- argument Visibility: default -->
3707
3605
<element name="TContextPopupEvent.Sender">
3606
<short>The clicked control.</short>
3710
<!-- argument Visibility: default -->
3711
3608
<element name="TContextPopupEvent.MousePos">
3609
<short>Mouse position in client coordinates; (-1,-1) if the event was not generated by a click.</short>
3714
<!-- argument Visibility: default -->
3715
3611
<element name="TContextPopupEvent.Handled">
3612
<short>Set Handled to True when everything was handled; False shows the associated PopupMenu, by default.</short>
3718
3614
<!-- enumeration type Visibility: default -->
3719
3615
<element name="TControlFlag">
3616
<short>Flags mostly for pending actions.</short>
3724
<!-- enumeration value Visibility: default -->
3725
<element name="TControlFlag.cfRequestAlignNeeded">
3728
<!-- enumeration value Visibility: default -->
3620
<element name="TControlFlag.cfLoading">
3621
<short>set by TControl.ReadState, unset by TControl.Loaded when all on form finished loading</short>
3623
<element name="TControlFlag.cfAutoSizeNeeded">
3624
<short>Set when AutoSize was delayed</short>
3625
<notes><note>?</note>
3628
<element name="TControlFlag.cfLeftLoaded">
3629
<short>Set when Left was set during loading.</short>
3631
<element name="TControlFlag.cfTopLoaded">
3632
<short>Set when Top was set during loading.</short>
3634
<element name="TControlFlag.cfWidthLoaded">
3635
<short>Set when Width was set during loading.</short>
3637
<element name="TControlFlag.cfHeightLoaded">
3638
<short>Set when Height was set during loading.</short>
3729
3640
<element name="TControlFlag.cfClientWidthLoaded">
3641
<short>Set when ClientWidth was set during loading.</short>
3732
<!-- enumeration value Visibility: default -->
3733
3643
<element name="TControlFlag.cfClientHeightLoaded">
3736
<!-- enumeration value Visibility: default -->
3737
<element name="TControlFlag.cfLastAlignedBoundsValid">
3740
<!-- enumeration value Visibility: default -->
3644
<short>Set when ClientHeight was set during loading.</short>
3741
3646
<element name="TControlFlag.cfBoundsRectForNewParentValid">
3647
<short>Set when BoundsRectForNewParent has been initialized.</short>
3649
<element name="TControlFlag.cfBaseBoundsValid">
3651
<notes><note>?</note>
3744
<!-- enumeration value Visibility: default -->
3745
3654
<element name="TControlFlag.cfPreferredSizeValid">
3655
<short>Set when PreferredSize has been calculated (CalculatePreferredSize).</short>
3657
<element name="TControlFlag.cfPreferredMinSizeValid">
3659
<notes><note>?</note>
3662
<element name="TControlFlag.cfOnChangeBoundsNeeded">
3664
<notes><note>?</note>
3667
<element name="TControlFlag.cfProcessingWMPaint">
3668
<short>Set (in WndProc) while processing an LM_PAINT message.</short>
3670
<element name="TControlFlag.cfKillChangeBounds">
3672
<notes><note>?</note>
3675
<element name="TControlFlag.cfKillInvalidatePreferredSize">
3677
<notes><note>?</note>
3680
<element name="TControlFlag.cfKillAdjustSize">
3682
<notes><note>?</note>
3748
3685
<!-- set type Visibility: default -->
3749
<element name="TControlFlags">
3686
<element link="TControlFlag" name="TControlFlags"/>
3754
3687
<!-- enumeration type Visibility: default -->
3755
3688
<element name="TControlHandlerType">
3689
<short>Notification handler types.</short>
3690
<descr>Notification handlers only receive an Sender, and must know themselves why they have been invoked.</descr>
3760
<!-- enumeration value Visibility: default -->
3761
3693
<element name="TControlHandlerType.chtOnResize">
3694
<short>Notification request for OnResize.</short>
3764
<!-- enumeration value Visibility: default -->
3765
3696
<element name="TControlHandlerType.chtOnChangeBounds">
3697
<short>Notification request for OnChangeBounds.</short>
3699
<element name="TControlHandlerType.chtOnVisibleChanging">
3700
<short>Notification request for OnVisibleChanging.</short>
3702
<element name="TControlHandlerType.chtOnVisibleChanged">
3703
<short>Notification request for OnVisibleChanged.</short>
3705
<element name="TControlHandlerType.chtOnEnabledChanging">
3706
<short>Notification request for OnEnabledChanging.</short>
3708
<element name="TControlHandlerType.chtOnEnabledChanged">
3709
<short>Notification request for OnEnabledChanged.</short>
3711
<element name="TControlHandlerType.chtOnKeyDown">
3712
<short>Notification request for OnKeyDown.</short>
3714
<!-- enumeration type Visibility: default -->
3715
<element name="TLayoutAdjustmentPolicy">
3716
<short>Indicates the policy for the LCL to execute automatic adjustments in the form layout</short>
3720
<!-- enumeration value Visibility: default -->
3721
<element name="TLazAccessibilityRole.lapDefault">
3722
<short>widgetset dependent</short>
3724
<!-- enumeration value Visibility: default -->
3725
<element name="TLazAccessibilityRole.lapFixedLayout">
3726
<short>A fixed absolute layout in all platforms</short>
3728
<!-- enumeration value Visibility: default -->
3729
<element name="TLazAccessibilityRole.lapAutoAdjustWithoutHorizontalScrolling">
3730
<short>Smartphone platforms use this one, the x axis is stretched to fill the screen and the y is scaled to fit the DPI</short>
3732
<!-- enumeration value Visibility: default -->
3733
<element name="TLazAccessibilityRole.lapAutoAdjustForDPI">
3734
<short>For desktops using High DPI, scale x and y to fit the DPI</short>
3736
<!-- enumeration type Visibility: default -->
3737
<element name="TLazAccessibilityRole">
3738
<short>Indicates the role which a accessible object takes in the user interface</short>
3741
<link id="TLazAccessibleObject"/>
3744
<!-- enumeration value Visibility: default -->
3745
<element name="TLazAccessibilityRole.larAnimation">
3746
<short>An object that displays an animation</short>
3748
<!-- enumeration value Visibility: default -->
3749
<element name="TLazAccessibilityRole.larButton">
3750
<short>A button</short>
3752
<!-- enumeration value Visibility: default -->
3753
<element name="TLazAccessibilityRole.larCell">
3754
<short>A cell in a table</short>
3756
<!-- enumeration value Visibility: default -->
3757
<element name="TLazAccessibilityRole.larChart">
3758
<short>An object that displays a graphical representation of data</short>
3760
<!-- enumeration value Visibility: default -->
3761
<element name="TLazAccessibilityRole.larCheckBox">
3762
<short>An object that can be checked or unchecked, or sometimes in an intermediary state</short>
3764
<!-- enumeration value Visibility: default -->
3765
<element name="TLazAccessibilityRole.larClock">
3766
<short>A clock displaying time</short>
3768
<!-- enumeration value Visibility: default -->
3769
<element name="TLazAccessibilityRole.larColorPicker">
3770
<short>A control which allows selecting a color</short>
3772
<!-- enumeration value Visibility: default -->
3773
<element name="TLazAccessibilityRole.larComboBox">
3774
<short>A list of choices that the user can select from</short>
3776
<!-- enumeration value Visibility: default -->
3777
<element name="TLazAccessibilityRole.larDateField">
3778
<short>A controls which displays and possibly allows one to choose a date</short>
3780
<!-- enumeration value Visibility: default -->
3781
<element name="TLazAccessibilityRole.larGrid">
3782
<short>A grid control which displays cells</short>
3784
<!-- enumeration value Visibility: default -->
3785
<element name="TLazAccessibilityRole.larGroup">
3786
<short>A control which groups others, such as a TGroupBox</short>
3788
<!-- enumeration value Visibility: default -->
3789
<element name="TLazAccessibilityRole.larIgnore">
3790
<short>Something to be ignored. For example a blank space between other objects</short>
3792
<!-- enumeration value Visibility: default -->
3793
<element name="TLazAccessibilityRole.larImage">
3794
<short>A graphic or picture or an icon</short>
3796
<!-- enumeration value Visibility: default -->
3797
<element name="TLazAccessibilityRole.larLabel">
3798
<short>A text label as usually placed near other widgets</short>
3800
<!-- enumeration value Visibility: default -->
3801
<element name="TLazAccessibilityRole.larListBox">
3802
<short>A list of items, from which the user can select one or more items</short>
3804
<!-- enumeration value Visibility: default -->
3805
<element name="TLazAccessibilityRole.larListItem">
3806
<short>An item in a list of items</short>
3808
<!-- enumeration value Visibility: default -->
3809
<element name="TLazAccessibilityRole.larMenuBar">
3810
<short>A main menu bar</short>
3812
<!-- enumeration value Visibility: default -->
3813
<element name="TLazAccessibilityRole.larMenuItem">
3814
<short>A item in a menu</short>
3816
<!-- enumeration value Visibility: default -->
3817
<element name="TLazAccessibilityRole.larProgressIndicator">
3818
<short>A control which shows a progress indication</short>
3820
<!-- enumeration value Visibility: default -->
3821
<element name="TLazAccessibilityRole.larRadioButton">
3822
<short>A radio button, see for example TRadioButton</short>
3824
<!-- enumeration value Visibility: default -->
3825
<element name="TLazAccessibilityRole.larResizeGrip">
3826
<short>A grip that the user can drag to change the size of widgets</short>
3828
<!-- enumeration value Visibility: default -->
3829
<element name="TLazAccessibilityRole.larScrollBar">
3830
<short>A control to scroll another one</short>
3832
<!-- enumeration value Visibility: default -->
3833
<element name="TLazAccessibilityRole.larSpinner">
3834
<short>A control which allows one to increment / decrement a value</short>
3836
<!-- enumeration value Visibility: default -->
3837
<element name="TLazAccessibilityRole.larTabControl">
3838
<short>A control with tabs, like TPageControl</short>
3840
<!-- enumeration value Visibility: default -->
3841
<element name="TLazAccessibilityRole.larTextEditorMultiline">
3842
<short>A multi-line text editor (for example: TMemo, SynEdit)</short>
3844
<!-- enumeration value Visibility: default -->
3845
<element name="TLazAccessibilityRole.larTextEditorSingleline">
3846
<short>A single-line text editor (for example: TEdit)</short>
3848
<!-- enumeration value Visibility: default -->
3849
<element name="TLazAccessibilityRole.larTrackBar">
3850
<short>A control which allows one to drag a slider</short>
3852
<!-- enumeration value Visibility: default -->
3853
<element name="TLazAccessibilityRole.larTreeView">
3854
<short>A list of items in a tree structure</short>
3856
<!-- enumeration value Visibility: default -->
3857
<element name="TLazAccessibilityRole.larTreeItem">
3858
<short>An item in a tree structure</short>
3860
<!-- enumeration value Visibility: default -->
3861
<element name="TLazAccessibilityRole.larWindow">
3862
<short>A top level window</short>
3864
<!-- class Visibility: default -->
3865
<element name="TLazAccessibleObject">
3866
<short>Represents an accessible object with which the user of a accessibility tool can interact.</short>
3868
<p>Every TControl has a TLazAccessibleObject instace associated with it, which means that every TControl is potentially accessible, but to actually be usable the accessible object needs to have its properties set, the most important of which are the role, description and value. Native windowed classes should already receive accessibility properties from the underlying widgetset utilized, while TCustomControl descendents will have their accessibility taken care by the LCL itself. User applications should add accessibility for their own TCustomControl descendent classes and also possibly customize the descriptions of some elements. It is also possible to make an accessible object invisible for user, which is done by setting its AccessibleRole property to larIgnored.</p>
3869
<p>Accessibility support in Lazarus is also documented in the wiki in http://wiki.lazarus.freepascal.org/LCL_Accessibility</p>
3872
<link id="TControl"/>
3873
<link id="TControl.AccessibleRole"/>
3874
<link id="TControl.AccessibleDescription"/>
3875
<link id="TControl.AccessibleValue"/>
3876
<link id="TLazAccessibilityRole"/>
3879
<!-- variable Visibility: public -->
3880
<element name="TLazAccessibleObject.OwnerControl">
3881
<short>The control that this accessible object is attached to. It might be the main accessible object of this control or it might represent a sub-part of a control.</short>
3882
<descr><p>The control that this accessible object is attached to. It might be the main accessible object of this control or it might represent a sub-part of a control which does not have a corresponding TControl, like an item of TTreeView. One can verify if this is the main accessible object of the control by checking if (lAccessibleObject.OwnerControl = lAccessibleObject.OwnerControl.GetAccessibleObject())</p>
3885
<link id="TControl.GetAccessibleObject"/>
3888
<!-- variable Visibility: public -->
3889
<element name="TLazAccessibleObject.Parent">
3890
<short>The parent TLazAccessibleObject of this accessible object</short>
3892
<!-- variable Visibility: public -->
3893
<element name="TLazAccessibleObject.DataObject">
3894
<short>Available to be used to connect to an object</short>
3896
<!-- variable Visibility: public -->
3897
<element name="TLazAccessibleObject.SecondaryHandle">
3898
<short>Available for Widgetsets to use</short>
3900
<element link="#rtl.System.TObject.Create" name="TLazAccessibleObject.Create"/>
3901
<element link="#rtl.System.TObject.Destroy" name="TLazAccessibleObject.Destroy"/>
3902
<!-- function Visibility: public -->
3903
<element name="TLazAccessibleObject.HandleAllocated">
3904
<short>Returns if the handle of this object was already allocated or not</short>
3906
<!-- function Visibility: public -->
3907
<element name="TLazAccessibleObject.InitializeHandle">
3908
<short>Utilized to set all properties of this property via widgetset routines when creating the handle</short>
3910
<!-- function Visibility: public -->
3911
<element name="TLazAccessibleObject.SetAccessibleDescription">
3912
<short>Setter for the property AccessibleDescription</short>
3914
<!-- function Visibility: public -->
3915
<element name="TLazAccessibleObject.SetAccessibleValue">
3916
<short>Setter for the property AccessibleValue</short>
3918
<!-- function Visibility: public -->
3919
<element name="TLazAccessibleObject.SetAccessibleRole">
3920
<short>Setter for the property AccessibleRole</short>
3922
<!-- function Visibility: public -->
3923
<element name="TLazAccessibleObject.FindOwnerWinControl">
3924
<short>Inspect the tree of accessible objects upwards until it finds a parent which is attached directly to a windowed control, a TWinControl</short>
3926
<!-- function Visibility: public -->
3927
<element name="TLazAccessibleObject.AddChildAccessibleObject">
3928
<short>Creates a new child accessible object and returns it</short>
3930
<!-- function Visibility: public -->
3931
<element name="TLazAccessibleObject.InsertChildAccessibleObject">
3932
<short>Inserts an already created child accessible object as a child of this one</short>
3934
<!-- function Visibility: public -->
3935
<element name="TLazAccessibleObject.ClearChildAccessibleObjects">
3936
<short>Removes all children of this control. It will free them if they are not attached to a TControl</short>
3938
<!-- function Visibility: public -->
3939
<element name="TLazAccessibleObject.RemoveChildAccessibleObject">
3940
<short>Removes a child accessible object</short>
3942
<!-- function Visibility: public -->
3943
<element name="TLazAccessibleObject.GetChildAccessibleObject">
3944
<short>Obtains a child accessible object by its index</short>
3946
<!-- function Visibility: public -->
3947
<element name="TLazAccessibleObject.GetChildAccessibleObject">
3948
<short>Obtains a child accessible object by its index</short>
3950
<!-- function Visibility: public -->
3951
<element name="TLazAccessibleObject.GetChildAccessibleObjectWithDataObject">
3952
<short>Obtains a child accessible object by its DataObject property</short>
3954
<!-- function Visibility: public -->
3955
<element name="TLazAccessibleObject.GetChildAccessibleObjectsCount">
3956
<short>Returns the number of direct children that this accessible object has</short>
3958
<!-- function Visibility: public -->
3959
<element name="TLazAccessibleObject.GetSelectedChildAccessibleObject">
3960
<short>Returns the currently selected child accessible object or nil if none are selected. Override this method in your sub class.</short>
3962
<link id="TControl.GetSelectedChildAccessibleObject"/>
3965
<!-- function Visibility: public -->
3966
<element name="TLazAccessibleObject.GetChildAccessibleObjectAtPos">
3967
<short>Returns the child of this control located at a particular position given as a client position of the control</short>
3969
<link id="TControl.GetChildAccessibleObjectAtPos"/>
3972
<!-- property Visibility: public -->
3973
<element name="TLazAccessibleObject.AccessibleDescription">
3974
<short>The description of this accessible object</short>
3976
<link id="TControl.AccessibleDescription"/>
3979
<!-- property Visibility: public -->
3980
<element name="TLazAccessibleObject.AccessibleValue">
3981
<short>The value of this accessible object</short>
3983
<link id="TControl.AccessibleValue"/>
3986
<!-- property Visibility: public -->
3987
<element name="TLazAccessibleObject.AccessibleRole">
3988
<short>The role of this accessible object</short>
3990
<link id="TControl.AccessibleRole"/>
3993
<!-- property Visibility: public -->
3994
<element name="TLazAccessibleObject.Position">
3995
<short>The position of this accessible object</short>
3997
<!-- property Visibility: public -->
3998
<element name="TLazAccessibleObject.Size">
3999
<short>The size of this accessible object</short>
4001
<!-- property Visibility: public -->
4002
<element name="TLazAccessibleObject.Handle">
4003
<short>The widgetset handle of this accessible object</short>
3768
4005
<!-- object Visibility: default -->
3769
<element name="TControl"/>
3770
<!-- variable Visibility: private -->
3771
<element name="TControl.FActionLink">
3776
<!-- variable Visibility: private -->
3777
<element name="TControl.FAlign">
3782
<!-- variable Visibility: private -->
3783
<element name="TControl.FAnchors">
3788
<!-- variable Visibility: private -->
3789
<element name="TControl.FAnchorSides">
3794
<!-- variable Visibility: private -->
3795
<element name="TControl.FAutoSize">
3800
<!-- variable Visibility: private -->
3801
<element name="TControl.FBaseBounds">
3806
<!-- variable Visibility: private -->
4006
<element name="TControl">
4007
<short>The base class for visible controls.</short>
4009
<!-- variable Visibility: private -->
4010
<element link="TControl.ActionLink" name="TControl.FActionLink"/>
4011
<element link="TControl.Align" name="TControl.FAlign"/>
4012
<element link="TControl.AnchoredControls" name="TControl.fAnchoredControls"/>
4013
<element link="TControl.Anchors" name="TControl.FAnchors"/>
4014
<element link="TControl.AnchorSides" name="TControl.FAnchorSides"/>
4015
<element link="TControl.AutoSize" name="TControl.FAutoSize"/>
4016
<element link="TControl.AutoSizingAll" name="TControl.FAutoSizingAll"/>
4017
<element link="TControl.AutoSizingLockCount" name="TControl.FAutoSizingLockCount"/>
4018
<element name="TControl.FAutoSizingSelf">
4020
<notes><note>?</note>
4023
<element link="TControl.BaseBounds" name="TControl.FBaseBounds"/>
3807
4024
<element name="TControl.FBaseBoundsLock">
3812
<!-- variable Visibility: private -->
3813
<element name="TControl.FBaseParentClientSize">
3818
<!-- variable Visibility: private -->
3819
<element name="TControl.FBorderSpacing">
3824
<!-- variable Visibility: private -->
3825
<element name="TControl.FBoundsRectForNewParent">
3830
<!-- variable Visibility: private -->
3831
<element name="TControl.FCaption">
3836
<!-- variable Visibility: private -->
3837
<element name="TControl.FColor">
3842
<!-- variable Visibility: private -->
3843
<element name="TControl.FConstraints">
3848
<!-- variable Visibility: private -->
3849
<element name="TControl.FControlFlags">
3854
<!-- variable Visibility: private -->
4026
<notes><note>?</note>
4029
<element link="TControl.BaseParentClientSize" name="TControl.FBaseParentClientSize"/>
4030
<element link="TControl.BiDiMode" name="TControl.FBiDiMode"/>
4031
<element link="TControl.BorderSpacing" name="TControl.FBorderSpacing"/>
4032
<element link="TControl.BoundsRectForNewParent" name="TControl.FBoundsRectForNewParent"/>
4033
<element link="TControl.Caption" name="TControl.FCaption"/>
4034
<element link="TControl.CaptureMouseBottons" name="TControl.FCaptureMouseButtons"/>
4035
<element link="TControl.Color" name="TControl.FColor"/>
4036
<!-- variable Visibility: public -->
4037
<element name="TControl.FCompStyle">
4038
<short>Deprecated, don't use it.</short>
4040
<element link="TControl.Constraints" name="TControl.FConstraints"/>
4041
<element link="TControlFlag" name="TControl.FControlFlags"/>
3855
4042
<element name="TControl.FControlHandlers">
3860
<!-- variable Visibility: private -->
3861
<element name="TControl.FControlStyle">
3866
<!-- variable Visibility: private -->
3867
<element name="TControl.FCtl3D">
3872
<!-- variable Visibility: private -->
3873
<element name="TControl.FCursor">
3874
<short>Flag showing position of cursor</short>
3876
<!-- variable Visibility: private -->
3877
<element name="TControl.FDockOrientation">
3882
<!-- variable Visibility: private -->
3883
<element name="TControl.FDragCursor">
3888
<!-- variable Visibility: private -->
3889
<element name="TControl.FDragKind">
3894
<!-- variable Visibility: private -->
3895
<element name="TControl.FDragMode">
3900
<!-- variable Visibility: private -->
3901
<element name="TControl.FEnabled">
3906
<!-- variable Visibility: private -->
3907
<element name="TControl.FFloatingDockSiteClass">
3912
<!-- variable Visibility: private -->
3913
<element name="TControl.FFont">
3918
<!-- variable Visibility: private -->
3919
<element name="TControl.FHeight">
3924
<!-- variable Visibility: private -->
3925
<element name="TControl.FHelpContext">
3930
<!-- variable Visibility: private -->
3931
<element name="TControl.FHelpKeyword">
3936
<!-- variable Visibility: private -->
3937
<element name="TControl.FHelpType">
3942
<!-- variable Visibility: private -->
3943
<element name="TControl.FHint">
3948
<!-- variable Visibility: private -->
3949
<element name="TControl.FHostDockSite">
3954
<!-- variable Visibility: private -->
3955
<element name="TControl.FIsControl">
3960
<!-- variable Visibility: private -->
3961
<element name="TControl.fLastAlignedBounds">
3966
<!-- variable Visibility: private -->
3967
<element name="TControl.FLastChangebounds">
3972
<!-- variable Visibility: private -->
3973
<element name="TControl.FLastDoChangeBounds">
3978
<!-- variable Visibility: private -->
3979
<element name="TControl.FLastResizeClientHeight">
3984
<!-- variable Visibility: private -->
3985
<element name="TControl.FLastResizeClientWidth">
3990
<!-- variable Visibility: private -->
3991
<element name="TControl.FLastResizeHeight">
3996
<!-- variable Visibility: private -->
3997
<element name="TControl.FLastResizeWidth">
4002
<!-- variable Visibility: private -->
4003
<element name="TControl.FLeft">
4008
<!-- variable Visibility: private -->
4043
<short>Array of the installable notification handlers.
4046
<element link="TControl.ControlState" name="TControl.FControlState">
4050
<element link="TControl.ControlStyle" name="TControl.FControlStyle"/>
4051
<element link="TControl.Cursor" name="TControl.FCursor">
4052
<short>The cursor shape for this control.
4055
<element link="TControl.DesktopFont" name="TControl.FDesktopFont"/>
4056
<element link="TControl.DockOrientation" name="TControl.FDockOrientation"/>
4057
<element link="TControl.DragCursor" name="TControl.FDragCursor"/>
4058
<element link="TControl.DragKind" name="TControl.FDragKind"/>
4059
<element link="TControl.DragMode" name="TControl.FDragMode"/>
4060
<element link="TControl.Enabled" name="TControl.FEnabled"/>
4061
<element link="TControl.FloatingDockSiteClass" name="TControl.FFloatingDockSiteClass"/>
4062
<element link="TControl.Font" name="TControl.FFont"/>
4063
<element link="TControl.Height" name="TControl.FHeight"/>
4064
<element link="TControl.HelpContext" name="TControl.FHelpContext"/>
4065
<element link="TControl.HelpKeyword" name="TControl.FHelpKeyword"/>
4066
<element link="TControl.HelpType" name="TControl.FHelpType"/>
4067
<element link="TControl.Hint" name="TControl.FHint"/>
4068
<element link="TControl.HostDockSite" name="TControl.FHostDockSite"/>
4069
<element link="TControl.IsControl" name="TControl.FIsControl"/>
4070
<element name="TControl.FLastDoChangeBounds"/>
4071
<element name="TControl.FLastDoChangeClientSize"/>
4072
<element name="TControl.FLastResizeClientHeight"/>
4073
<element name="TControl.FLastResizeClientWidth"/>
4074
<element name="TControl.FLastResizeHeight"/>
4075
<element name="TControl.FLastResizeWidth"/>
4076
<element link="TControl.Left" name="TControl.FLeft"/>
4009
4077
<element name="TControl.FLoadedClientSize">
4014
<!-- variable Visibility: private -->
4015
<element name="TControl.FLRDockWidth">
4020
<!-- variable Visibility: private -->
4021
<element name="TControl.FMouseEntered">
4026
<!-- variable Visibility: private -->
4027
<element name="TControl.FOnChangeBounds">
4032
<!-- variable Visibility: private -->
4033
<element name="TControl.FOnClick">
4038
<!-- variable Visibility: private -->
4039
<element name="TControl.FOnConstrainedResize">
4044
<!-- variable Visibility: private -->
4045
<element name="TControl.FOnContextPopup">
4050
<!-- variable Visibility: private -->
4051
<element name="TControl.FOnDblClick">
4056
<!-- variable Visibility: private -->
4057
<element name="TControl.FOnDragDrop">
4062
<!-- variable Visibility: private -->
4063
<element name="TControl.FOnDragOver">
4068
<!-- variable Visibility: private -->
4069
<element name="TControl.FOnEditingDone">
4074
<!-- variable Visibility: private -->
4075
<element name="TControl.FOnEndDock">
4080
<!-- variable Visibility: private -->
4081
<element name="TControl.FOnEndDrag">
4086
<!-- variable Visibility: private -->
4087
<element name="TControl.FOnMouseDown">
4092
<!-- variable Visibility: private -->
4093
<element name="TControl.FOnMouseEnter">
4098
<!-- variable Visibility: private -->
4099
<element name="TControl.FOnMouseLeave">
4104
<!-- variable Visibility: private -->
4105
<element name="TControl.FOnMouseMove">
4110
<!-- variable Visibility: private -->
4111
<element name="TControl.FOnMouseUp">
4116
<!-- variable Visibility: private -->
4117
<element name="TControl.FOnQuadClick">
4122
<!-- variable Visibility: private -->
4123
<element name="TControl.FOnResize">
4128
<!-- variable Visibility: private -->
4129
<element name="TControl.FOnShowHint">
4134
<!-- variable Visibility: private -->
4135
<element name="TControl.FOnStartDock">
4140
<!-- variable Visibility: private -->
4141
<element name="TControl.FOnStartDrag">
4146
<!-- variable Visibility: private -->
4147
<element name="TControl.FOnTripleClick">
4152
<!-- variable Visibility: private -->
4153
<element name="TControl.FParent">
4158
<!-- variable Visibility: private -->
4159
<element name="TControl.FParentColor">
4164
<!-- variable Visibility: private -->
4165
<element name="TControl.FParentFont">
4170
<!-- variable Visibility: private -->
4171
<element name="TControl.FParentShowHint">
4176
<!-- variable Visibility: private -->
4177
<element name="TControl.FPopupMenu">
4182
<!-- variable Visibility: private -->
4183
<element name="TControl.FPreferredWidth">
4188
<!-- variable Visibility: private -->
4189
<element name="TControl.FPreferredHeight">
4194
<!-- variable Visibility: private -->
4195
<element name="TControl.FSessionProperties">
4200
<!-- variable Visibility: private -->
4201
<element name="TControl.FShowHint">
4206
<!-- variable Visibility: private -->
4078
<short>Intended ClientSize, initialized during loading</short>
4079
<notes><note>?</note>
4082
<element link="TControl.LRDockWidth" name="TControl.FLRDockWidth"/>
4083
<element link="TControl.MouseEntered" name="TControl.FMouseEntered"/>
4084
<element link="TControl.OnChangeBounds" name="TControl.FOnChangeBounds"/>
4085
<element link="TControl.OnClick" name="TControl.FOnClick"/>
4086
<element link="TControl.OnConstrainedResize" name="TControl.FOnConstrainedResize"/>
4087
<element link="TControl.OnContextPopup" name="TControl.FOnContextPopup"/>
4088
<element link="TControl.OnDblClick" name="TControl.FOnDblClick"/>
4089
<element link="TControl.OnDragDrop" name="TControl.FOnDragDrop"/>
4090
<element link="TControl.OnDragOver" name="TControl.FOnDragOver"/>
4091
<element link="TControl.OnEditingDone" name="TControl.FOnEditingDone"/>
4092
<element link="TControl.OnEndDock" name="TControl.FOnEndDock"/>
4093
<element link="TControl.OnEndDrag" name="TControl.FOnEndDrag"/>
4094
<element link="TControl.OnMouseDown" name="TControl.FOnMouseDown"/>
4095
<element link="TControl.OnMouseEnter" name="TControl.FOnMouseEnter"/>
4096
<element link="TControl.OnMouseLeave" name="TControl.FOnMouseLeave"/>
4097
<element link="TControl.OnMouseMove" name="TControl.FOnMouseMove"/>
4098
<element link="TControl.OnMouseUp" name="TControl.FOnMouseUp"/>
4099
<element link="TControl.OnMouseWheel" name="TControl.FOnMouseWheel"/>
4100
<element link="TControl.OnMouseWheelDown" name="TControl.FOnMouseWheelDown"/>
4101
<element link="TControl.OnMouseWheelUp" name="TControl.FOnMouseWheelUp"/>
4102
<element link="TControl.OnQuadClick" name="TControl.FOnQuadClick"/>
4103
<element link="TControl.OnResize" name="TControl.FOnResize"/>
4104
<element link="TControl.OnShowHint" name="TControl.FOnShowHint"/>
4105
<element link="TControl.OnStartDock" name="TControl.FOnStartDock"/>
4106
<element link="TControl.OnStartDrag" name="TControl.FOnStartDrag"/>
4107
<element link="TControl.OnTripleClick" name="TControl.FOnTripleClick"/>
4108
<element link="TControl.Parent" name="TControl.FParent"/>
4109
<element link="TControl.ParentBiDiMode" name="TControl.FParentBiDiMode"/>
4110
<element link="TControl.ParentColor" name="TControl.FParentColor"/>
4111
<element link="TControl.ParentFont" name="TControl.FParentFont"/>
4112
<element link="TControl.ShowHint" name="TControl.FParentShowHint"/>
4113
<element link="TControl.PopupMenu" name="TControl.FPopupMenu"/>
4114
<element name="TControl.FPreferredHeight"/>
4115
<element name="TControl.FPreferredMinHeight"/>
4116
<element name="TControl.FPreferredMinWidth"/>
4117
<element name="TControl.FPreferredWidth"/>
4118
<element link="TControl.ReadBounds" name="TControl.FReadBounds"/>
4119
<element link="TControl.SessionProperties" name="TControl.FSessionProperties"/>
4120
<element link="TControl.ShowHint" name="TControl.FShowHint"/>
4207
4121
<element name="TControl.FSizeLock">
4212
<!-- variable Visibility: private -->
4213
<element name="TControl.FTBDockHeight">
4218
<!-- variable Visibility: private -->
4219
<element name="TControl.FTop">
4224
<!-- variable Visibility: private -->
4225
<element name="TControl.FUndockHeight">
4230
<!-- variable Visibility: private -->
4231
<element name="TControl.FUndockWidth">
4236
<!-- variable Visibility: private -->
4237
<element name="TControl.FVisible">
4242
<!-- variable Visibility: private -->
4243
<element name="TControl.FWidth">
4248
<!-- variable Visibility: private -->
4249
<element name="TControl.FWindowProc">
4123
<notes><note>?</note>
4126
<element link="TControl.TBDockHeight" name="TControl.FTBDockHeight"/>
4127
<element link="TControl.Top" name="TControl.FTop"/>
4128
<element link="TControl.UndockHeight" name="TControl.FUndockHeight"/>
4129
<element link="TControl.UndockWidth" name="TControl.FUndockWidth"/>
4130
<element link="TControl.Visible" name="TControl.FVisible"/>
4131
<element link="TControl.Width" name="TControl.FWidth"/>
4132
<element link="TControl.WindowProc" name="TControl.FWindowProc"/>
4133
<!-- function Visibility: private -->
4134
<element link="TControl.CaptureMouseBottons" name="TControl.CaptureMouseButtonsIsStored"/>
4135
<element name="TControl.CaptureMouseButtonsIsStored.Result">
4254
4138
<!-- procedure Visibility: private -->
4255
4139
<element name="TControl.DoActionChange">
4140
<short>Internal handler for a changed Action, invoked from the ActionLink.</short>
4141
<descr>When the action is assigned to this control, updates related properties using <link id="TControl.ActionChange">ActionChange</link>.</descr>
4261
<!-- argument Visibility: default -->
4262
4143
<element name="TControl.DoActionChange.Sender">
4265
<!-- function Visibility: private -->
4266
<element name="TControl.GetAnchorSide">
4272
<!-- function result Visibility: default -->
4144
<short>The changed Action.</short>
4146
<!-- function Visibility: private -->
4147
<element link="TControl.AutoSizingAll" name="TControl.GetAutoSizingAll"/>
4148
<element name="TControl.GetAutoSizingAll.Result">
4151
<!-- function Visibility: private -->
4152
<element link="TControl.AnchorSide" name="TControl.GetAnchorSide"/>
4273
4153
<element name="TControl.GetAnchorSide.Result">
4276
<!-- argument Visibility: default -->
4277
4156
<element name="TControl.GetAnchorSide.Kind">
4280
4159
<!-- function Visibility: private -->
4281
<element name="TControl.GetAnchorSideIndex">
4287
<!-- function result Visibility: default -->
4288
<element name="TControl.GetAnchorSideIndex.Result">
4291
<!-- argument Visibility: default -->
4292
<element name="TControl.GetAnchorSideIndex.Index">
4160
<element link="TControl.AnchoredControls" name="TControl.GetAnchoredControls"/>
4161
<element name="TControl.GetAnchoredControls.Result">
4164
<element name="TControl.GetAnchoredControls.Index">
4295
4167
<!-- function Visibility: private -->
4296
<element name="TControl.GetBoundsRect">
4302
<!-- function result Visibility: default -->
4168
<element link="TControl.BoundsRect" name="TControl.GetBoundsRect"/>
4303
4169
<element name="TControl.GetBoundsRect.Result">
4306
4172
<!-- function Visibility: private -->
4307
<element name="TControl.GetClientHeight">
4313
<!-- function result Visibility: default -->
4173
<element link="TControl.ClientHeight" name="TControl.GetClientHeight"/>
4314
4174
<element name="TControl.GetClientHeight.Result">
4317
4177
<!-- function Visibility: private -->
4318
<element name="TControl.GetClientWidth">
4324
<!-- function result Visibility: default -->
4178
<element link="TControl.ClientWidth" name="TControl.GetClientWidth"/>
4325
4179
<element name="TControl.GetClientWidth.Result">
4328
4182
<!-- function Visibility: private -->
4329
<element name="TControl.GetLRDockWidth">
4335
<!-- function result Visibility: default -->
4183
<element link="TControl.LRDockWidth" name="TControl.GetLRDockWidth"/>
4336
4184
<element name="TControl.GetLRDockWidth.Result">
4339
4187
<!-- function Visibility: private -->
4340
<element name="TControl.GetMouseCapture">
4346
<!-- function result Visibility: default -->
4188
<element link="TControl.MouseCapture" name="TControl.GetMouseCapture"/>
4347
4189
<element name="TControl.GetMouseCapture.Result">
4350
4192
<!-- function Visibility: private -->
4351
<element name="TControl.GetTBDockHeight">
4357
<!-- function result Visibility: default -->
4193
<element link="TControl.TBDockHeight" name="TControl.GetTBDockHeight"/>
4358
4194
<element name="TControl.GetTBDockHeight.Result">
4361
4197
<!-- function Visibility: private -->
4362
4198
<element name="TControl.GetText">
4363
<short>Function to get text-string associated with control</short>
4364
<descr>Uses RealGetText rather than GetTextBuf to avoid unnecessary read-writes to PChar buffers</descr>
4199
<short>Returns the Text property.</short>
4200
<descr>Uses RealGetText (FCaption), instead of GetTextBuf (WM_GETTEXT), if possible.</descr>
4366
4202
<link id="#lcl.Controls.TControl.GetTextBuf">GetTextBuf</link>
4367
4203
<link id="#lcl.Controls.TControl.RealGetText"/>
4370
<!-- function result Visibility: default -->
4371
4206
<element name="TControl.GetText.Result">
4372
<short>The function returns the required text as a string</short>
4207
<short>The Text property.</short>
4374
4209
<!-- function Visibility: private -->
4375
<element name="TControl.GetUndockHeight">
4381
<!-- function result Visibility: default -->
4210
<element link="TControl.UndockHeight" name="TControl.GetUndockHeight"/>
4382
4211
<element name="TControl.GetUndockHeight.Result">
4385
4214
<!-- function Visibility: private -->
4386
<element name="TControl.GetUndockWidth">
4392
<!-- function result Visibility: default -->
4215
<element link="TControl.UndockWidth" name="TControl.GetUndockWidth"/>
4393
4216
<element name="TControl.GetUndockWidth.Result">
4396
4219
<!-- function Visibility: private -->
4397
<element name="TControl.IsAnchorsStored">
4403
<!-- function result Visibility: default -->
4220
<element link="TControl.Anchors" name="TControl.IsAnchorsStored"/>
4404
4221
<element name="TControl.IsAnchorsStored.Result">
4407
4224
<!-- function Visibility: private -->
4408
<element name="TControl.IsCaptionStored">
4225
<element link="TControl.BiDiMode" name="TControl.IsBiDiModeStored"/>
4226
<element name="TControl.IsBiDiModeStored.Result">
4414
<!-- function result Visibility: default -->
4229
<!-- function Visibility: private -->
4230
<element link="TControl.Caption" name="TControl.IsCaptionStored"/>
4415
4231
<element name="TControl.IsCaptionStored.Result">
4418
4234
<!-- function Visibility: private -->
4419
<element name="TControl.IsColorStored">
4425
<!-- function result Visibility: default -->
4426
<element name="TControl.IsColorStored.Result">
4429
<!-- function Visibility: private -->
4430
<element name="TControl.IsEnabledStored">
4436
<!-- function result Visibility: default -->
4235
<element link="TControl.Enabled" name="TControl.IsEnabledStored"/>
4437
4236
<element name="TControl.IsEnabledStored.Result">
4440
4239
<!-- function Visibility: private -->
4441
<element name="TControl.IsFontStored">
4447
<!-- function result Visibility: default -->
4240
<element link="TControl.Font" name="TControl.IsFontStored"/>
4448
4241
<element name="TControl.IsFontStored.Result">
4451
4244
<!-- function Visibility: private -->
4452
<element name="TControl.IsHintStored">
4458
<!-- function result Visibility: default -->
4245
<element link="TControl.Hint" name="TControl.IsHintStored"/>
4459
4246
<element name="TControl.IsHintStored.Result">
4462
4249
<!-- function Visibility: private -->
4463
<element name="TControl.IsHelpContextStored">
4469
<!-- function result Visibility: default -->
4250
<element link="TControl.HelpContext" name="TControl.IsHelpContextStored"/>
4470
4251
<element name="TControl.IsHelpContextStored.Result">
4473
4254
<!-- function Visibility: private -->
4474
<element name="TControl.IsHelpKeyWordStored">
4480
<!-- function result Visibility: default -->
4255
<element link="TControl.HelpKeyword" name="TControl.IsHelpKeyWordStored"/>
4481
4256
<element name="TControl.IsHelpKeyWordStored.Result">
4484
4259
<!-- function Visibility: private -->
4485
<element name="TControl.IsOnClickStored">
4491
<!-- function result Visibility: default -->
4260
<element link="TControl.OnClick" name="TControl.IsOnClickStored"/>
4492
4261
<element name="TControl.IsOnClickStored.Result">
4495
4264
<!-- function Visibility: private -->
4496
<element name="TControl.IsShowHintStored">
4502
<!-- function result Visibility: default -->
4265
<element link="TControl.ShowHint" name="TControl.IsShowHintStored"/>
4503
4266
<element name="TControl.IsShowHintStored.Result">
4506
4269
<!-- function Visibility: private -->
4507
<element name="TControl.IsVisibleStored">
4513
<!-- function result Visibility: default -->
4270
<element link="TControl.Visible" name="TControl.IsVisibleStored"/>
4514
4271
<element name="TControl.IsVisibleStored.Result">
4517
<!-- function Visibility: private -->
4518
<element name="TControl.CheckMenuPopup">
4524
<!-- function result Visibility: default -->
4525
<element name="TControl.CheckMenuPopup.Result">
4528
<!-- argument Visibility: default -->
4529
<element name="TControl.CheckMenuPopup.P">
4532
4274
<!-- procedure Visibility: private -->
4533
4275
<element name="TControl.DoBeforeMouseMessage">
4276
<short>Generate MouseEnter and MouseLeave events</short>
4280
<notes><note>?</note>
4539
4283
<!-- procedure Visibility: private -->
4540
4284
<element name="TControl.DoConstrainedResize">
4285
<short>Adjust the intended (given) Bounds, according to Constraints.</short>
4289
<link id="TControl.Constraints"/>
4290
<link id="TControl.ConstrainedResize"/>
4546
<!-- argument Visibility: default -->
4547
4293
<element name="TControl.DoConstrainedResize.NewLeft">
4550
<!-- argument Visibility: default -->
4551
4296
<element name="TControl.DoConstrainedResize.NewTop">
4554
<!-- argument Visibility: default -->
4555
4299
<element name="TControl.DoConstrainedResize.NewWidth">
4558
<!-- argument Visibility: default -->
4559
4302
<element name="TControl.DoConstrainedResize.NewHeight">
4562
4305
<!-- procedure Visibility: private -->
4563
4306
<element name="TControl.DoMouseDown">
4307
<short>Message handler for mouse button going down. Calls MouseDown handler.</short>
4311
<link id="TControl.DoMouseUp"/>
4312
<link id="TControl.MouseDown"/>
4313
<link id="TControl.OnMouseDown"/>
4569
<!-- argument Visibility: default -->
4570
4316
<element name="TControl.DoMouseDown.Message">
4573
<!-- argument Visibility: default -->
4574
4319
<element name="TControl.DoMouseDown.Button">
4577
<!-- argument Visibility: default -->
4578
4322
<element name="TControl.DoMouseDown.Shift">
4581
4325
<!-- procedure Visibility: private -->
4582
4326
<element name="TControl.DoMouseUp">
4327
<short>Message handler for mouse button going up. Calls MouseUp handler.</short>
4331
<link id="TControl.DoMouseDown"/>
4332
<link id="TControl.MouseUp"/>
4333
<link id="TControl.OnMouseUp"/>
4588
<!-- argument Visibility: default -->
4589
4336
<element name="TControl.DoMouseUp.Message">
4592
<!-- argument Visibility: default -->
4593
4339
<element name="TControl.DoMouseUp.Button">
4596
4342
<!-- procedure Visibility: private -->
4597
<element name="TControl.SetAnchorSideIndex">
4343
<element name="TControl.SetAnchorSide">
4344
<short>Setter for AnchorSideLeft...</short>
4603
<!-- argument Visibility: default -->
4604
<element name="TControl.SetAnchorSideIndex.Index">
4349
<element name="TControl.SetAnchorSide.Kind">
4607
<!-- argument Visibility: default -->
4608
<element name="TControl.SetAnchorSideIndex.AValue">
4352
<element name="TControl.SetAnchorSide.AValue">
4611
4355
<!-- procedure Visibility: private -->
4612
<element name="TControl.SetBorderSpacing">
4618
<!-- argument Visibility: default -->
4356
<element link="TControl.BorderSpacing" name="TControl.SetBorderSpacing"/>
4619
4357
<element name="TControl.SetBorderSpacing.AValue">
4622
4360
<!-- procedure Visibility: private -->
4623
<element name="TControl.SetBoundsRect">
4629
<!-- argument Visibility: default -->
4361
<element link="TControl.BoundsRect" name="TControl.SetBoundsRect"/>
4630
4362
<element name="TControl.SetBoundsRect.ARect">
4633
4365
<!-- procedure Visibility: private -->
4634
<element name="TControl.SetBoundsRectForNewParent">
4640
<!-- argument Visibility: default -->
4366
<element link="TControl.BoundsRectForNewParent" name="TControl.SetBoundsRectForNewParent"/>
4641
4367
<element name="TControl.SetBoundsRectForNewParent.AValue">
4644
4370
<!-- procedure Visibility: private -->
4645
<element name="TControl.SetClientHeight">
4651
<!-- argument Visibility: default -->
4371
<element link="TControl.ClientHeight" name="TControl.SetClientHeight"/>
4652
4372
<element name="TControl.SetClientHeight.Value">
4655
4375
<!-- procedure Visibility: private -->
4656
<element name="TControl.SetClientSize">
4662
<!-- argument Visibility: default -->
4376
<element link="TControl.ClientRect" name="TControl.SetClientSize"/>
4663
4377
<element name="TControl.SetClientSize.Value">
4666
4380
<!-- procedure Visibility: private -->
4667
<element name="TControl.SetClientWidth">
4673
<!-- argument Visibility: default -->
4381
<element link="TControl.ClientWidth" name="TControl.SetClientWidth"/>
4674
4382
<element name="TControl.SetClientWidth.Value">
4677
4385
<!-- procedure Visibility: private -->
4678
<element name="TControl.SetConstraints">
4684
<!-- argument Visibility: default -->
4386
<element link="TControl.Constraints" name="TControl.SetConstraints"/>
4685
4387
<element name="TControl.SetConstraints.Value">
4688
4390
<!-- procedure Visibility: private -->
4689
<element name="TControl.SetCursor">
4690
<short>Procedure to set the position of the cursor</short>
4692
<!-- argument Visibility: default -->
4693
<element name="TControl.SetCursor.Value">
4391
<element link="TControl.DesktopFont" name="TControl.SetDesktopFont"/>
4392
<element name="TControl.SetDesktopFont.AValue">
4696
4395
<!-- procedure Visibility: private -->
4697
<element name="TControl.SetDragCursor">
4703
<!-- argument Visibility: default -->
4396
<element link="TControl.DragCursor" name="TControl.SetDragCursor"/>
4704
4397
<element name="TControl.SetDragCursor.AValue">
4707
4400
<!-- procedure Visibility: private -->
4708
<element name="TControl.SetFont">
4714
<!-- argument Visibility: default -->
4401
<element link="TControl.Font" name="TControl.SetFont"/>
4715
4402
<element name="TControl.SetFont.Value">
4718
4405
<!-- procedure Visibility: private -->
4719
<element name="TControl.SetHeight">
4725
<!-- argument Visibility: default -->
4406
<element link="TControl.Height" name="TControl.SetHeight"/>
4726
4407
<element name="TControl.SetHeight.Value">
4729
4410
<!-- procedure Visibility: private -->
4730
<element name="TControl.SetHelpContext">
4736
<!-- argument Visibility: default -->
4411
<element link="TControl.HelpContext" name="TControl.SetHelpContext"/>
4737
4412
<element name="TControl.SetHelpContext.AValue">
4740
4415
<!-- procedure Visibility: private -->
4741
<element name="TControl.SetHelpKeyword">
4747
<!-- argument Visibility: default -->
4416
<element link="TControl.HelpKeyword" name="TControl.SetHelpKeyword"/>
4748
4417
<element name="TControl.SetHelpKeyword.AValue">
4751
4420
<!-- procedure Visibility: private -->
4752
<element name="TControl.SetHostDockSite">
4758
<!-- argument Visibility: default -->
4421
<element link="TControl.HostDockSite" name="TControl.SetHostDockSite"/>
4759
4422
<element name="TControl.SetHostDockSite.AValue">
4762
4425
<!-- procedure Visibility: private -->
4763
<element name="TControl.SetLeft">
4769
<!-- argument Visibility: default -->
4426
<element link="TControl.Left" name="TControl.SetLeft"/>
4770
4427
<element name="TControl.SetLeft.Value">
4773
4430
<!-- procedure Visibility: private -->
4774
<element name="TControl.SetMouseCapture">
4780
<!-- argument Visibility: default -->
4431
<element link="TControl.MouseCapture" name="TControl.SetMouseCapture"/>
4781
4432
<element name="TControl.SetMouseCapture.Value">
4784
4435
<!-- procedure Visibility: private -->
4785
<element name="TControl.SetParentShowHint">
4791
<!-- argument Visibility: default -->
4436
<element link="TControl.ParentShowHint" name="TControl.SetParentShowHint"/>
4792
4437
<element name="TControl.SetParentShowHint.Value">
4795
4440
<!-- procedure Visibility: private -->
4796
<element name="TControl.SetParentColor">
4802
<!-- argument Visibility: default -->
4441
<element link="TControl.ParentColor" name="TControl.SetParentColor"/>
4803
4442
<element name="TControl.SetParentColor.Value">
4806
4445
<!-- procedure Visibility: private -->
4807
<element name="TControl.SetPopupMenu">
4446
<element link="TControl.ParentFont" name="TControl.SetParentFont"/>
4447
<element name="TControl.SetParentFont.Value">
4813
<!-- argument Visibility: default -->
4450
<!-- procedure Visibility: private -->
4451
<element link="TControl.PopupMenu" name="TControl.SetPopupMenu"/>
4814
4452
<element name="TControl.SetPopupMenu.Value">
4817
4455
<!-- procedure Visibility: private -->
4818
<element name="TControl.SetShowHint">
4824
<!-- argument Visibility: default -->
4456
<element link="TControl.ShowHint" name="TControl.SetShowHint"/>
4825
4457
<element name="TControl.SetShowHint.Value">
4828
4460
<!-- procedure Visibility: private -->
4829
4461
<element name="TControl.SetText">
4830
<short>Stores text in buffer</short>
4831
<descr>Uses RealSetText rather than SetTextBuf to avoid unnecessary read-writes to PChar buffer</descr>
4462
<short>Sets the Text property.</short>
4463
<descr>Uses RealSetText instead of SetTextBuf, if possible.</descr>
4465
<link id="TControl.Text">Text</link>
4833
4466
<link id="#lcl.Controls.TControl.RealSetText">RealSetText</link>
4834
4467
<link id="#lcl.Controls.TControl.SetTextBuf">SetTextBuf</link>
4837
<!-- argument Visibility: default -->
4838
4470
<element name="TControl.SetText.Value">
4839
<short>The text string to be stored in the buffer</short>
4471
<short>The new Text.</short>
4841
4473
<!-- procedure Visibility: private -->
4842
<element name="TControl.SetTop">
4848
<!-- argument Visibility: default -->
4474
<element link="TControl.Top" name="TControl.SetTop"/>
4849
4475
<element name="TControl.SetTop.Value">
4852
4478
<!-- procedure Visibility: private -->
4853
<element name="TControl.SetVisible">
4854
<short>Procedure to set Visible flag and ensure the control can be seen</short>
4856
<!-- argument Visibility: default -->
4479
<element link="TControl.Width" name="TControl.SetWidth"/>
4480
<element name="TControl.SetWidth.Value">
4483
<element link="#LCL.LCLClasses.TLCLComponent.WSRegisterClass" name="TControl.WSRegisterClass"/>
4484
<!-- function Visibility: protected -->
4485
<element link="TControl.Cursor" name="TControl.GetCursor"/>
4486
<element name="TControl.GetCursor.Result">
4489
<!-- procedure Visibility: private -->
4490
<element link="TControl.Cursor" name="TControl.SetCursor"/>
4491
<element name="TControl.SetCursor.Value">
4494
<!-- procedure Visibility: private -->
4495
<element link="TControl.Visible" name="TControl.SetVisible"/>
4857
4496
<element name="TControl.SetVisible.Value">
4860
<!-- procedure Visibility: private -->
4861
<element name="TControl.SetWidth">
4499
<!-- procedure Visibility: protected -->
4500
<element name="TControl.DoOnParentHandleDestruction">
4502
<descr>implement in descendants
4867
<!-- argument Visibility: default -->
4868
<element name="TControl.SetWidth.Value">
4871
<!-- variable Visibility: protected -->
4872
<element name="TControl.FControlState">
4873
<short>Flag showing the set of states for this control</short>
4875
<link id="#lcl.Controls.TControlState"/>
4878
<!-- variable Visibility: protected -->
4879
<element name="TControl.AutoSizing">
4880
<short>Is autosizing in progress?</short>
4506
<notes><note>?</note><note>what?</note>
4882
4509
<!-- procedure Visibility: protected -->
4883
4510
<element name="TControl.DoAutoSize">
4885
<var>DoAutoSize </var>- method for actually performing the AutoSize</short>
4511
<short>For internal use only - call AdjustSize instead!
4888
<var>TControl.DoAutoSize</var>
4890
4514
<p>IMPORTANT: Many Delphi controls override this method and many call this method directly after setting some properties.</p>
4891
4515
<p>During handle creation not all interfaces can create complete Device Contexts which are needed to calculate things like text size.</p>
4892
4516
<p>That's why you should always call <link id="#lcl.Controls.TControl.AdjustSize">AdjustSize</link> instead of <var>DoAutoSize</var>.</p>
4896
4520
<link id="#lcl.Controls.TControl.AdjustSize">TControl.AdjustSize</link>
4899
<!-- function Visibility: protected -->
4900
<element name="TControl.AutoSizeCanStart">
4902
<var>AutoSizeCanStart</var> - checks whether
4904
<var>DoAutoSize</var> is permitted to start</short>
4907
<printshort id="TControl.AutoSizeCanStart"/>
4909
<pre>function TControl.AutoSizeCanStart: boolean;
4911
Returns true if DoAutoSize can start. That means, it tests the minimum
4912
requirements to start. Some controls need even more.
4916
- or the control is currently autosizing
4917
- or the control is in design state (csDesigning) and is not a top level control (form, frame)
4918
- or the control is not visible
4919
- or the control is destroying
4924
<!-- function result Visibility: default -->
4925
<element name="TControl.AutoSizeCanStart.Result">
4523
<!-- procedure Visibility: protected -->
4524
<element name="TControl.DoAllAutoSize">
4525
<short>Run DoAutoSize until done.</short>
4530
<!-- procedure Visibility: protected -->
4531
<element name="TControl.BeginAutoSizing">
4532
<short>Sets AutoSizing=true, used to prevent loops.</short>
4534
<!-- procedure Visibility: protected -->
4535
<element name="TControl.EndAutoSizing">
4536
<short>End of the autosizing process, resets AutoSizing to False.</short>
4928
4538
<!-- procedure Visibility: protected -->
4929
4539
<element name="TControl.AnchorSideChanged">
4930
<short>Procedure invoked when the anchor side is changed</short>
4540
<short>Request further processing after an anchor side was changed.</short>
4932
<!-- argument Visibility: default -->
4933
4542
<element name="TControl.AnchorSideChanged.TheAnchorSide">
4936
<!-- procedure Visibility: protected -->
4937
<element name="TControl.SetAlign">
4938
<short>Set up the Align rules for this control</short>
4940
<!-- argument Visibility: default -->
4543
<short>Ignored.</short>
4545
<!-- procedure Visibility: protected -->
4546
<element name="TControl.ForeignAnchorSideChanged">
4547
<short>Request further processing after an anchor side has changed, that anchors another control to this one.</short>
4549
<element name="TControl.ForeignAnchorSideChanged.TheAnchorSide">
4552
<element name="TControl.ForeignAnchorSideChanged.Operation">
4555
<!-- procedure Visibility: protected -->
4556
<element link="TControl.Align" name="TControl.SetAlign"/>
4941
4557
<element name="TControl.SetAlign.Value">
4944
4560
<!-- procedure Visibility: protected -->
4945
<element name="TControl.SetAnchors">
4946
<short>Set the rules for anchoring this control</short>
4948
<!-- argument Visibility: default -->
4561
<element link="TControl.Anchors" name="TControl.SetAnchors"/>
4949
4562
<element name="TControl.SetAnchors.AValue">
4952
4565
<!-- procedure Visibility: protected -->
4953
<element name="TControl.SetAutoSize">
4954
<short>Set the boolean variable that determines whether autosize can function</short>
4956
<!-- argument Visibility: default -->
4566
<element link="TControl.AutoSize" name="TControl.SetAutoSize"/>
4957
4567
<element name="TControl.SetAutoSize.Value">
4960
4570
<!-- procedure Visibility: protected -->
4961
4571
<element name="TControl.BoundsChanged">
4962
<short>Procedure invoked when the bounds of the control have been changed.</short>
4572
<short>Invoked when the Bounds of the control have been changed. Override as required.</short>
4574
<element name="TControl.CreateControlBorderSpacing">
4575
<short>Creates the default ControlBorderSpacing object.
4576
Allow descendant controls to override this default.</short>
4578
<link id="TControlBorderSpacing"/>
4581
<element name="TControl.CreateControlBorderSpacing.Result">
4582
<short>The created ControlBorderSpacing instance.</short>
4964
4584
<!-- procedure Visibility: protected -->
4965
4585
<element name="TControl.DoConstraintsChange">
4966
<short>Procedure to execute a change in the control's constraints</short>
4586
<short>Reacts on a change in the control's constraints.
4587
Calls AdjustSize by default.
4968
<!-- argument Visibility: default -->
4969
4590
<element name="TControl.DoConstraintsChange.Sender">
4972
4593
<!-- procedure Visibility: protected -->
4973
4594
<element name="TControl.DoBorderSpacingChange">
4974
<short>Procedure to execute a change in the control's border spacing</short>
4595
<short>Reacts on a change in the control's border spacing.</short>
4976
<!-- argument Visibility: default -->
4977
4597
<element name="TControl.DoBorderSpacingChange.Sender">
4600
<element name="TControl.DoBorderSpacingChange.InnerSpaceChanged">
4603
<!-- function Visibility: protected -->
4604
<element name="TControl.IsBorderSpacingInnerBorderStored">
4605
<short>Checks for a defined (non-zero) BorderSpacing.InnerBorder.</short>
4607
<element name="TControl.IsBorderSpacingInnerBorderStored.Result">
4608
<short>True when InnerBorder has to be taken into account.</short>
4980
4610
<!-- procedure Visibility: protected -->
4981
4611
<element name="TControl.SendMoveSizeMessages">
4982
<short>Send a message to the system if the size and/or position of the control change</short>
4612
<short>Sends Move and Size messages through the LCL message paths.
4615
<p>Overridden in TWinControl, in TControl it's a NOP.
4617
<p>This method simulates the VCL behaviour and has no real effect.
4620
<notes><note>?</note>
4984
<!-- argument Visibility: default -->
4985
4623
<element name="TControl.SendMoveSizeMessages.SizeChanged">
4988
<!-- argument Visibility: default -->
4989
4626
<element name="TControl.SendMoveSizeMessages.PosChanged">
4992
<!-- procedure Visibility: protected -->
4993
4629
<element name="TControl.ConstrainedResize">
4994
<short>Procedure for performing a resize within defined boundaries (constraints)</short>
4630
<short>Invokes the <link id="#lcl.Controls.TControl.OnConstrainedResize"/> handler, allowing to modify the suggested Constraints.
4996
<!-- argument Visibility: default -->
4997
4633
<element name="TControl.ConstrainedResize.MinWidth">
5000
<!-- argument Visibility: default -->
5001
4636
<element name="TControl.ConstrainedResize.MinHeight">
5004
<!-- argument Visibility: default -->
5005
4639
<element name="TControl.ConstrainedResize.MaxWidth">
5008
<!-- argument Visibility: default -->
5009
4642
<element name="TControl.ConstrainedResize.MaxHeight">
5012
4645
<!-- procedure Visibility: protected -->
5013
4646
<element name="TControl.CalculatePreferredSize">
5015
<var>CalculatePreferredSize</var>
5016
- find default/preferred height and width</short>
4647
<short>Override this method to return the preferred height and width.
5019
<var>CalculatePreferredSize</var>
5020
- find default/preferred height and width</p>
5021
<p>procedure TControl.CalculatePreferredSize </p>
5022
<p>(var PreferredWidth, PreferredHeight: integer; WithThemeSpace: Boolean);</p>
5023
<p>Calculates the default/preferred width and height for a control, which is used
5024
by the LCL autosizing algorithms as default size. Only positive values are
5025
valid. Negative or 0 are treated as undefined and the LCL uses other sizes
5028
<var>TWinControl</var>
5029
overrides this and asks the interface for theme dependent values.
5038
<link id="#lcl.Controls.TWinControl.CalculatePreferredSize">TWinControl.CalculatePreferredSize</link> for more information.</p>
5039
<p>WithThemeSpace: If true, adds space for stacking.</p>
5040
<p>For example: <var>TRadioButton</var> has a minimum size. But for stacking multiple TRadioButtons there should be
5041
some space around. This space is theme dependent, so the parameter is passed to the widgetset.</p>
4650
<p>Calculates the preferred width and height for a control,
4651
which is used by the LCL autosizing algorithms as the default size.
4652
Negative or 0 are treated as undefined and the LCL uses other sizes instead.
4655
<var>TWinControl</var> overrides this and asks the interface for theme dependent values.
4658
<link id="TWinControl.CalculatePreferredSize"/> for more information.
4660
<p>WithThemeSpace: If true, adds space for stacking.
4662
<p>For example: <var>TRadioButton</var> has a minimum size.
4663
But for stacking multiple TRadioButtons there should be some space around.
4664
This space is theme dependent, so the parameter is passed to the widgetset.
5044
<!-- argument Visibility: default -->
5045
4668
<element name="TControl.CalculatePreferredSize.PreferredWidth">
4669
<short>Set this argument to the preferred width.</short>
5048
<!-- argument Visibility: default -->
5049
4671
<element name="TControl.CalculatePreferredSize.PreferredHeight">
4672
<short>Set this argument to the preferred height.</short>
4674
<element name="TControl.CalculatePreferredSize.WithThemeSpace">
4675
<short>True when space around stacked controls should be added.</short>
5052
4677
<!-- procedure Visibility: protected -->
5053
4678
<element name="TControl.DoOnResize">
5054
<short>Calls <var>OnResize</var>
4679
<short>Invokes the <link id="#lcl.Controls.TControl.OnResize">OnResize</link> notification handler.
5057
4682
<!-- procedure Visibility: protected -->
5058
4683
<element name="TControl.DoOnChangeBounds">
5059
<short>Calls the <var>OnChangeBounds</var> event handler</short>
4684
<short>Invokes the <link id="#lcl.Controls.TControl.OnChangeBounds">OnChangeBounds</link> event handler</short>
4686
<!-- procedure Visibility: protected -->
4687
<element name="TControl.CheckOnChangeBounds">
4688
<short>Checks for changes and calls <link id="#lcl.Controls.TControl.DoOnChangeBounds">DoOnChangeBounds</link> if needed.
5061
4691
<!-- procedure Visibility: protected -->
5062
4692
<element name="TControl.Resize">
5063
<short>Checks for changes and calls <var>DoOnResize</var>
4693
<short>Checks for changes and calls <link id="#lcl.Controls.TControl.DoOnResize">DoOnResize</link> if needed.
5066
4696
<!-- procedure Visibility: protected -->
5067
4697
<element name="TControl.RequestAlign">
5068
<short>Smart calling <var>Parent.AlignControls</var>
4698
<short>Smart calling of <var>Parent.AlignControls</var> (very indirectly).
5071
<!-- procedure Visibility: protected -->
5072
<element name="TControl.UpdateBaseBounds">
5073
<short>Update the basic boundaries of the control - essential if there has been a lot of re-sizing</short>
5075
<!-- argument Visibility: default -->
5076
<element name="TControl.UpdateBaseBounds.StoreBounds">
5079
<!-- argument Visibility: default -->
5080
<element name="TControl.UpdateBaseBounds.StoreParentClientSize">
5083
<!-- argument Visibility: default -->
5084
<element name="TControl.UpdateBaseBounds.UseLoadedValues">
5087
<!-- procedure Visibility: protected -->
5088
<element name="TControl.LockBaseBounds">
5089
<short>Lock the base bounds, so that they do not change even if surrounding controls are changed</short>
5091
<!-- procedure Visibility: protected -->
5092
<element name="TControl.UnlockBaseBounds">
5093
<short>Unlock the base bounds so that they are free to change as surrounding controls are changed</short>
4701
<link id="TWinControl.AlignControls"/>
5095
4704
<!-- procedure Visibility: protected -->
5096
4705
<element name="TControl.UpdateAnchorRules">
5097
4706
<short>Update the rules for anchoring the control</short>
4707
<notes><note>or of anchored controls?</note>
5099
4710
<!-- procedure Visibility: protected -->
5100
4711
<element name="TControl.ChangeBounds">
5101
<short>Sets the bounds (top. left, height, width) of the control.</short>
4712
<short>Sets the bounds (left, top, height, width) optionally the BaseBounds of the control.</short>
4714
<p>ChangeBounds is called whenever the position or size of the control is set,
4715
either via the properties or by the layouter of the LCL.
4717
<p>SetBounds calls internally ChangeBounds with KeepBase=false,
4718
while the LCL layouter calls it with KeepBase=true.
4720
<p>Override this for code that might change the preferred size or resizes other controls.
4722
<p>You can call this function in your custom controls.
4723
Keep in mind that the given aLeft, aTop, aWidth, aHeight might not be valid and will be changed by the LCL before applied.
5103
<!-- argument Visibility: default -->
5104
4727
<element name="TControl.ChangeBounds.ALeft">
5107
<!-- argument Visibility: default -->
5108
4730
<element name="TControl.ChangeBounds.ATop">
5111
<!-- argument Visibility: default -->
5112
4733
<element name="TControl.ChangeBounds.AWidth">
5115
<!-- argument Visibility: default -->
5116
4736
<element name="TControl.ChangeBounds.AHeight">
4739
<element name="TControl.ChangeBounds.KeepBase">
4740
<short>True when the BaseBounds should not be modified.</short>
5119
4742
<!-- procedure Visibility: protected -->
5120
4743
<element name="TControl.DoSetBounds">
5121
<short>Perform the actual setting of the boundary rectangle.</short>
4744
<short>Internal function to set the control's bounds (Left, Top, Height, Width).</short>
4746
<p>DoSetBounds is a low level function to set the private variables FLeft, FTop, FWidth, FHeight.
4747
Do not call this function, only the LCL calls it.
4749
<p>It also updates FClientWidth and FClientHeight accordingly.
4751
<p>Override this to update the content layout of the control, for example scroll bars.
4752
As always: do not paint here, but call Invalidate and paint in OnPaint or override Paint.
4755
<notes><note>The following doesn't look correct?</note>
5123
<!-- argument Visibility: default -->
5124
4758
<element name="TControl.DoSetBounds.ALeft">
5127
<!-- argument Visibility: default -->
5128
4761
<element name="TControl.DoSetBounds.ATop">
5131
<!-- argument Visibility: default -->
5132
4764
<element name="TControl.DoSetBounds.AWidth">
5135
<!-- argument Visibility: default -->
5136
4767
<element name="TControl.DoSetBounds.AHeight">
5139
4770
<!-- procedure Visibility: protected -->
4771
<element name="TControl.ScaleConstraints">
4772
<short>Scale the minimum and maximum Width and Height.</short>
4773
<descr>ScaleConstraints is called during ChangeScale, you never will call it directly.
4778
<element name="TControl.ScaleConstraints.Multiplier">
4781
<element name="TControl.ScaleConstraints.Divider">
4784
<!-- procedure Visibility: protected -->
5140
4785
<element name="TControl.ChangeScale">
5141
<short>Change the scale factor (multiplier and divider) for drawing the control</short>
4786
<short>Apply scaling (multiplier and divider) to the control's coordinates and Font.</short>
5143
<!-- argument Visibility: default -->
5144
4789
<element name="TControl.ChangeScale.Multiplier">
5147
<!-- argument Visibility: default -->
5148
4792
<element name="TControl.ChangeScale.Divider">
5151
4795
<!-- function Visibility: protected -->
5152
4796
<element name="TControl.CanAutoSize">
5153
<short>Function to determine if autosizing is possible, and if so, gets the new width and height</short>
4797
<short>Function to determine if autosizing is possible, and if so,
4798
gets the new width and height</short>
4799
<descr>Override this to return different values.
5155
<!-- function result Visibility: default -->
5156
4802
<element name="TControl.CanAutoSize.Result">
4803
<short>TControl returns True.</short>
5159
<!-- argument Visibility: default -->
5160
4805
<element name="TControl.CanAutoSize.NewWidth">
4806
<short>Suggested width, can be adjusted in an overridden version.</short>
5163
<!-- argument Visibility: default -->
5164
4808
<element name="TControl.CanAutoSize.NewHeight">
4809
<short>Suggested height, can be adjusted in an overridden version.</short>
5167
4811
<!-- procedure Visibility: protected -->
5168
<element name="TControl.SetAlignedBounds">
5169
<short>Try to set the automatic changed bounds</short>
5171
<pre>{ try to set the automatic changed bounds
5172
If the interface does not like our bounds, it sends a message with the real
5173
bounds, which invokes the automatic realigning of the control, .. a circle.
5174
To break the circle, only bounds that are different from the last try will
5179
<!-- argument Visibility: default -->
5180
<element name="TControl.SetAlignedBounds.aLeft">
5183
<!-- argument Visibility: default -->
5184
<element name="TControl.SetAlignedBounds.aTop">
5187
<!-- argument Visibility: default -->
5188
<element name="TControl.SetAlignedBounds.aWidth">
5191
<!-- argument Visibility: default -->
5192
<element name="TControl.SetAlignedBounds.aHeight">
5195
<!-- function Visibility: protected -->
5196
<element name="TControl.GetClientOrigin">
5197
<short>Returns the screen coordinates of the control's origin.</short>
5199
<p>Note that this value is the position as stored in the interface and is not always in sync with the LCL.
5200
When a control is moved, the LCL sets the bounds to the wanted position and sends a move message to the interface.
5201
It is up to the interface to handle moves instantly or queued.</p>
5204
<!-- function result Visibility: default -->
4812
<element name="TControl.UpdateAlignIndex">
4813
<short>Move this control to position 0 of Parent.FAlignOrder.</short>
4814
<descr>Affects the order in which client controls with the same alignment are positioned
4818
<notes><note>?</note>
4821
<!-- procedure Visibility: private -->
4822
<element link="TControl.BiDiMode" name="TControl.SetBiDiMode"/>
4823
<element name="TControl.SetBiDiMode.AValue">
4826
<!-- procedure Visibility: private -->
4827
<element link="TControl.ParentBiDiMode" name="TControl.SetParentBiDiMode"/>
4828
<element name="TControl.SetParentBiDiMode.AValue">
4831
<!-- function Visibility: protected -->
4832
<element name="TControl.IsAParentAligning">
4833
<short>Determine if a parent control is involved in the alignment process</short>
4835
<element name="TControl.IsAParentAligning.Result">
4838
<!-- function Visibility: protected -->
4839
<element link="TControl.ClientOrigin" name="TControl.GetClientOrigin"/>
5205
4840
<element name="TControl.GetClientOrigin.Result">
5208
4843
<!-- function Visibility: protected -->
5209
<element name="TControl.GetClientRect">
5210
<short>Visual size of client area</short>
5212
<!-- function result Visibility: default -->
4844
<element link="TControl.ClientRect" name="TControl.GetClientRect"/>
5213
4845
<element name="TControl.GetClientRect.Result">
5216
4848
<!-- function Visibility: protected -->
4849
<element name="TControl.GetLogicalClientRect">
4850
<short>Logical client area, can be bigger than the visible client area.</short>
4851
<descr>A <link id="Forms.TScrollingWinControl"/> has a logical client area, of which only a portion can be visible.
4852
The origin always is (0,0), regardless of an ScrollOffset.</descr>
4854
<link id="TControl.BoundsRect"/>
4855
<link id="TControl.ClientRect"/>
4856
<link id="TControl.GetScrolledClientRect"/>
4859
<element name="TControl.GetLogicalClientRect.Result">
4860
<short>TControl returns the ClientRect.</short>
4862
<!-- function Visibility: protected -->
5217
4863
<element name="TControl.GetScrolledClientRect">
5218
4864
<short>Get the visible part of the logical client area.</short>
5219
<descr>The origin reflects the ScrollOffset in a TScrollingWinControl, Bottom and Right are adjusted accordingly.</descr>
4866
<p>Includes the ScrollOffset in a TScrollingWinControl Parent.</p>
4867
<p>TControl: When the Parent is a TScrollingWinControl, the ClientRect is offset by its ScrollOffset.
4868
This Rect can be intersected with the visible ClientArea of the Parent, to get the really visible part of the control.
4870
<p>TWinControl: The visible ClientRect is offset by ScrollOffset, to reflect the visible part of the logical ClientRect.
4874
<link id="TControl.ClientRect"/>
4875
<link id="TControl.GetScrolledClientRect"/>
5221
<!-- function result Visibility: default -->
5222
4878
<element name="TControl.GetScrolledClientRect.Result">
5225
<!-- function Visibility: protected -->
5226
<element name="TControl.GetChildsRect">
5227
<short>Get the visible part of a possibly scrolled client area.</short>
5228
<descr>If <var>Scrolled</var> is False, the ScrollOffset is ignored.
5231
<!-- function result Visibility: default -->
5232
<element name="TControl.GetChildsRect.Result">
5233
<short>The function returns the coordinates of the child rectangle</short>
5235
<!-- argument Visibility: default -->
5236
<element name="TControl.GetChildsRect.Scrolled">
5237
<short>True if the rectangle is scrolled</short>
4879
<short>The scrolled ClientRect (TopLeft, BottomRight).
5239
4882
<!-- function Visibility: protected -->
5240
4883
<element name="TControl.GetClientScrollOffset">
5241
<short>Find the offset for scrolling of the client</short>
4884
<short>Returns the offset of the scrolled client area (in a scrolling TWinControl).</short>
4885
<descr>The overridden method may fail when the TScrollingWinControl has only one scrollbar
4888
<link id="TControl.GetScrolledClientRect"/>
4889
<link id="#lcl.Forms.TScrollingWinControl.GetClientScrollOffset"/>
4891
<notes><note>!?</note>
5243
<!-- function result Visibility: default -->
5244
4894
<element name="TControl.GetClientScrollOffset.Result">
4895
<short>The X and Y offsets of the visible client area, equal to the scrollbar positions.</short>
5247
4897
<!-- function Visibility: protected -->
5248
<element name="TControl.GetControlOrigin">
5249
<short>Find the origin (top left pixel) of this control on the screen</short>
5251
<p>Returns the screen coordinate of the topleft coordinate 0,0 of the control area. (The topleft pixel of the control on the screen)
5253
<remark>Note that this value is the position as stored in the interface and is not always in sync with the LCL.
5254
When a control is moved, the LCL sets the bounds to the wanted position and sends a move message to the interface.
5255
It is up to the interface to handle moves instantly or queued.</remark>
4898
<element link="TControl.ControlOrigin" name="TControl.GetControlOrigin">
4899
<short>Returns the origin (top left pixel) of the control, in screen coordinates.</short>
5258
<!-- function result Visibility: default -->
5259
4901
<element name="TControl.GetControlOrigin.Result">
4904
<!-- function Visibility: protected -->
4905
<element link="TControl.ClientHeight" name="TControl.IsClientHeightStored"/>
4906
<element name="TControl.IsClientHeightStored.Result">
4909
<!-- function Visibility: protected -->
4910
<element link="TControl.ClientWidth" name="TControl.IsClientWidthStored"/>
4911
<element name="TControl.IsClientWidthStored.Result">
4914
<!-- function Visibility: protected -->
4915
<element name="TControl.WidthIsAnchored">
4916
<short>True when both the control's left and right side are anchored.</short>
4921
<element name="TControl.WidthIsAnchored.Result">
4922
<short>True if the Width varies with the Parent.Width.</short>
4924
<!-- function Visibility: protected -->
4925
<element name="TControl.HeightIsAnchored">
4926
<short>True when both the control's top and bottom side are anchored.</short>
4931
<element name="TControl.HeightIsAnchored.Result">
4932
<short>True if the Height varies with the Parent.Height.</short>
4934
<element name="TControl.WMCancelMode">
4935
<short>Message handler for
4936
cancel mode request.
4939
<element name="TControl.WMCancelMode.Message">
4942
<!-- procedure Visibility: protected -->
4943
<element name="TControl.WMContextMenu">
4944
<short>Message handler for
4945
context menu popup request.
4948
<element name="TControl.WMContextMenu.Message">
5262
4951
<!-- procedure Visibility: protected -->
5263
4952
<element name="TControl.WMLButtonDown">
5264
<short>Protected messages to system - when left mouse button is down</short>
4953
<short>Message handler for
4954
left mouse button going down.
5269
<!-- argument Visibility: default -->
5270
4960
<element name="TControl.WMLButtonDown.Message">
5273
<!-- procedure Visibility: protected -->
5274
4963
<element name="TControl.WMRButtonDown">
5275
<short>Protected messages to system - when right mouse button is down</short>
4964
<short>Message handler for
4965
right mouse button going down.
5280
<!-- argument Visibility: default -->
5281
4971
<element name="TControl.WMRButtonDown.Message">
5284
4974
<!-- procedure Visibility: protected -->
5285
4975
<element name="TControl.WMMButtonDown">
5286
<short>Protected messages to system - when middle button is down</short>
4976
<short>Message handler for
4977
middle mouse button going down.
5291
<!-- argument Visibility: default -->
5292
4983
<element name="TControl.WMMButtonDown.Message">
5295
4986
<!-- procedure Visibility: protected -->
5296
4987
<element name="TControl.WMLButtonDBLCLK">
5297
<short>Protected messages to system - when left button is double-clicked</short>
4988
<short>Message handler for
4989
left mouse button double click.
5302
<!-- argument Visibility: default -->
5303
4995
<element name="TControl.WMLButtonDBLCLK.Message">
5306
4998
<!-- procedure Visibility: protected -->
5307
4999
<element name="TControl.WMRButtonDBLCLK">
5308
<short>Protected messages to system - when right button is double-clicked</short>
5000
<short>Message handler for
5001
right mouse button double click.
5313
<!-- argument Visibility: default -->
5314
5007
<element name="TControl.WMRButtonDBLCLK.Message">
5317
5010
<!-- procedure Visibility: protected -->
5318
5011
<element name="TControl.WMMButtonDBLCLK">
5319
<short>Protected messages to system - when middle button is double-clicked</short>
5012
<short>Message handler for
5013
middle mouse button double click.
5324
<!-- argument Visibility: default -->
5325
5019
<element name="TControl.WMMButtonDBLCLK.Message">
5328
5022
<!-- procedure Visibility: protected -->
5329
5023
<element name="TControl.WMLButtonTripleCLK">
5330
<short>Protected messages to system - when left button is triple-clicked</short>
5024
<short>Message handler for
5025
left mouse button triple click.
5335
<!-- argument Visibility: default -->
5336
5031
<element name="TControl.WMLButtonTripleCLK.Message">
5339
5034
<!-- procedure Visibility: protected -->
5340
5035
<element name="TControl.WMRButtonTripleCLK">
5341
<short>Protected messages to system - when right button is triple-clicked</short>
5036
<short>Message handler for
5037
right mouse button triple click.
5346
<!-- argument Visibility: default -->
5347
5043
<element name="TControl.WMRButtonTripleCLK.Message">
5350
5046
<!-- procedure Visibility: protected -->
5351
5047
<element name="TControl.WMMButtonTripleCLK">
5352
<short>Protected messages to system - when middle button is triple-clicked</short>
5048
<short>Message handler for
5049
middle mouse button triple click.
5357
<!-- argument Visibility: default -->
5358
5055
<element name="TControl.WMMButtonTripleCLK.Message">
5361
5058
<!-- procedure Visibility: protected -->
5362
5059
<element name="TControl.WMLButtonQuadCLK">
5363
<short>Protected messages to system - when left button is quadruple-clicked</short>
5060
<short>Message handler for
5061
left mouse button quadruple click.
5368
<!-- argument Visibility: default -->
5369
5067
<element name="TControl.WMLButtonQuadCLK.Message">
5372
5070
<!-- procedure Visibility: protected -->
5373
5071
<element name="TControl.WMRButtonQuadCLK">
5374
<short>Protected messages to system - when right button is quadruple-clicked</short>
5072
<short>Message handler for
5073
right mouse button quadruple click.
5379
<!-- argument Visibility: default -->
5380
5079
<element name="TControl.WMRButtonQuadCLK.Message">
5383
5082
<!-- procedure Visibility: protected -->
5384
5083
<element name="TControl.WMMButtonQuadCLK">
5385
<short>Protected messages to system - when middle button is quadruple-clicked</short>
5084
<short>Message handler for
5085
middle mouse button quadruple click.
5390
<!-- argument Visibility: default -->
5391
5091
<element name="TControl.WMMButtonQuadCLK.Message">
5394
5094
<!-- procedure Visibility: protected -->
5095
<element name="TControl.WMXButtonDown">
5096
<short>Message handler for
5097
extra mouse button going down.
5103
<element name="TControl.WMXButtonDown.Message">
5106
<!-- procedure Visibility: protected -->
5107
<element name="TControl.WMXButtonDBLCLK">
5108
<short>Message handler for
5109
extra mouse button double click.
5115
<element name="TControl.WMXButtonDBLCLK.Message">
5118
<!-- procedure Visibility: protected -->
5119
<element name="TControl.WMXButtonTripleCLK">
5120
<short>Message handler for
5121
extra mouse button triple click.
5127
<element name="TControl.WMXButtonTripleCLK.Message">
5130
<!-- procedure Visibility: protected -->
5131
<element name="TControl.WMXButtonQuadCLK">
5132
<short>Message handler for
5133
extra mouse button quadruple click.
5139
<element name="TControl.WMXButtonQuadCLK.Message">
5142
<!-- procedure Visibility: protected -->
5143
<element name="TControl.WMXButtonUp">
5144
<short>Message handler for
5145
extra mouse button going up.
5151
<element name="TControl.WMXButtonUp.Message">
5154
<!-- procedure Visibility: protected -->
5395
5155
<element name="TControl.WMMouseMove">
5396
<short>Protected messages to system - when mouse cursor has moved</short>
5156
<short>Message handler for
5401
<!-- argument Visibility: default -->
5402
5163
<element name="TControl.WMMouseMove.Message">
5405
5166
<!-- procedure Visibility: protected -->
5406
5167
<element name="TControl.WMLButtonUp">
5407
<short>Protected messages to system - when left button is up</short>
5168
<short>Message handler for
5169
left mouse button going up.
5412
<!-- argument Visibility: default -->
5413
5175
<element name="TControl.WMLButtonUp.Message">
5416
5178
<!-- procedure Visibility: protected -->
5417
5179
<element name="TControl.WMRButtonUp">
5418
<short>Protected messages to system - when right button is up</short>
5180
<short>Message handler for
5181
right mouse button going up.
5423
<!-- argument Visibility: default -->
5424
5187
<element name="TControl.WMRButtonUp.Message">
5427
5190
<!-- procedure Visibility: protected -->
5428
5191
<element name="TControl.WMMButtonUp">
5429
<short>Protected messages to system - when middle button is up</short>
5192
<short>Message handler for
5193
middle mouse button going up.
5434
<!-- argument Visibility: default -->
5435
5199
<element name="TControl.WMMButtonUp.Message">
5438
<!-- procedure Visibility: protected -->
5439
<element name="TControl.WMDragStart">
5202
<element name="TControl.WMMouseWheel">
5204
<notes><note>?</note>
5445
<!-- argument Visibility: default -->
5446
<element name="TControl.WMDragStart.Message">
5207
<element name="TControl.WMMouseWheel.Message">
5449
5210
<!-- procedure Visibility: protected -->
5450
5211
<element name="TControl.WMMove">
5451
<short>Protected messages to system - when the control is moved</short>
5212
<short>Message handler for
5456
<!-- argument Visibility: default -->
5457
5219
<element name="TControl.WMMove.Message">
5460
5222
<!-- procedure Visibility: protected -->
5461
5223
<element name="TControl.WMSize">
5462
<short>Protected messages to system - when control is sized</short>
5224
<short>Message handler for
5225
changed control size.
5467
<!-- argument Visibility: default -->
5468
5231
<element name="TControl.WMSize.Message">
5471
5234
<!-- procedure Visibility: protected -->
5472
5235
<element name="TControl.WMWindowPosChanged">
5473
<short>Protected messages to system - when window position is changed</short>
5236
<short>Message handler for
5237
changed control position.
5478
<!-- argument Visibility: default -->
5479
5243
<element name="TControl.WMWindowPosChanged.Message">
5482
5246
<!-- procedure Visibility: protected -->
5483
5247
<element name="TControl.LMCaptureChanged">
5484
<short>LCL Message when capture method is changed</short>
5248
<short>Message handler for
5489
<!-- argument Visibility: default -->
5490
5255
<element name="TControl.LMCaptureChanged.Message">
5258
<!-- procedure Visibility: private -->
5259
<element name="TControl.CMBiDiModeChanged">
5260
<short>Message handler for BiDi mode changed.</short>
5262
<element name="TControl.CMBiDiModeChanged.Message">
5265
<!-- procedure Visibility: protected -->
5266
<element name="TControl.CMSysFontChanged">
5267
<short>Message handler for
5268
changed system Font.
5274
<element name="TControl.CMSysFontChanged.Message">
5493
5277
<!-- procedure Visibility: protected -->
5494
5278
<element name="TControl.CMEnabledChanged">
5495
<short>Control Message when Enabled status is changed</short>
5279
<short>Message handler for
5280
changed Enabled state.
5500
<!-- argument Visibility: default -->
5501
5286
<element name="TControl.CMEnabledChanged.Message">
5504
5289
<!-- procedure Visibility: protected -->
5505
5290
<element name="TControl.CMHitTest">
5506
<short>Control Message for Hit Test</short>
5291
<short>Message handler for
5294
<descr>The hit test handler determines the specific part of a control (caption, border...) at the given mouse position.
5511
<!-- argument Visibility: default -->
5512
5299
<element name="TControl.CMHitTest.Message">
5515
5302
<!-- procedure Visibility: protected -->
5516
5303
<element name="TControl.CMMouseEnter">
5304
<short>Message handler for
5305
mouse entering the control.
5521
<!-- argument Visibility: default -->
5522
5310
<element name="TControl.CMMouseEnter.Message">
5525
5313
<!-- procedure Visibility: protected -->
5526
5314
<element name="TControl.CMMouseLeave">
5527
<short>Control Message for exit of mouse</short>
5315
<short>Message handler for
5316
mouse leaving the control.
5532
<!-- argument Visibility: default -->
5533
5322
<element name="TControl.CMMouseLeave.Message">
5536
5325
<!-- procedure Visibility: protected -->
5537
5326
<element name="TControl.CMHintShow">
5327
<short>Message handler for
5542
<!-- argument Visibility: default -->
5543
5334
<element name="TControl.CMHintShow.Message">
5337
<!-- procedure Visibility: private -->
5338
<element name="TControl.CMParentBiDiModeChanged">
5339
<short>Message handler for parent control's BiDi mode changed.</short>
5341
<element name="TControl.CMParentBiDiModeChanged.Message">
5344
<!-- procedure Visibility: protected -->
5345
<element name="TControl.CMParentFontChanged">
5346
<short>Message handler for
5347
changed parent Font.
5353
<element name="TControl.CMParentFontChanged.Message">
5546
5356
<!-- procedure Visibility: protected -->
5547
5357
<element name="TControl.CMParentColorChanged">
5548
<short>Control Message for a change in parent colour</short>
5358
<short>Message handler for
5359
changed parent Color.
5553
<!-- argument Visibility: default -->
5554
5365
<element name="TControl.CMParentColorChanged.Message">
5557
5368
<!-- procedure Visibility: protected -->
5558
5369
<element name="TControl.CMParentShowHintChanged">
5559
<short>Control Message for a change in parent hinting status</short>
5370
<short>Message handler for
5371
changed parent ShowHint.
5564
<!-- argument Visibility: default -->
5565
5377
<element name="TControl.CMParentShowHintChanged.Message">
5568
5380
<!-- procedure Visibility: protected -->
5569
5381
<element name="TControl.CMVisibleChanged">
5570
<short>Control Message for a change in visibility</short>
5382
<short>Message handler for
5575
<!-- argument Visibility: default -->
5576
5389
<element name="TControl.CMVisibleChanged.Message">
5579
5392
<!-- procedure Visibility: protected -->
5393
<element name="TControl.CMTextChanged">
5394
<short>Message handler for control's Text changed.</short>
5396
<element name="TControl.CMTextChanged.Message">
5399
<element name="TControl.CMWantSpecialKey">
5400
<short>Message handler for
5401
special character (TAB...).
5404
<element name="TControl.CMWantSpecialKey.Message">
5407
<!-- procedure Visibility: protected -->
5408
<element name="TControl.CMCursorChanged">
5409
<short>Message handler for
5415
<notes><note>?</note>
5418
<element name="TControl.CMCursorChanged.Message">
5421
<!-- procedure Visibility: protected -->
5580
5422
<element name="TControl.CalculateDockSizes">
5581
5423
<short>Saves the docked and undocked extent of the control.</short>
5583
5425
<p>In floating state sets UndockWidth/Height to the current Width/Height.</p>
5584
5426
<p>In docked state sets LRDockWidth/TBDockHeight to the current Width/Height.</p>
5585
5427
<remark>[Note: should save both in any case, independent from DockOrientation or host Align.
5586
Rationale: a DockManager will either ignore these values, or use them according to the *new* alignment.
5587
Without a DockManager both extents are required, because no (valid) alignment information applies.]</remark>
5428
<br/>Rationale: a DockManager will either ignore these values, or use them according to the *new* alignment.
5429
<br/>Without a DockManager both extents are required, because no (valid) alignment information applies.]
5590
5433
<!-- function Visibility: protected -->
5591
5434
<element name="TControl.CreateFloatingDockSite">
5592
<short>Create a floating dock site within the Bounds specified as an argument</short>
5435
<short>Create a floating dock site with a client area equal to the given screen coordinates.
5437
<descr>The new dock site is owned by the control
5439
<notes><note>Delphi: by Application!?</note>
5594
<!-- function result Visibility: default -->
5595
5442
<element name="TControl.CreateFloatingDockSite.Result">
5443
<short>The dock site, can be Nil for a TWinControl that can float by itself.</short>
5598
<!-- argument Visibility: default -->
5599
5445
<element name="TControl.CreateFloatingDockSite.Bounds">
5446
<short>The bounds of the client area of the floating window.</short>
5602
5448
<!-- function Visibility: protected -->
5603
5449
<element name="TControl.GetDockEdge">
5604
<short>Find out which edge is used for docking (returned in Result)</short>
5450
<short>Determine the side to which the dragged control shall be docked.</short>
5606
<!-- function result Visibility: default -->
5607
5452
<element name="TControl.GetDockEdge.Result">
5610
<!-- argument Visibility: default -->
5611
5455
<element name="TControl.GetDockEdge.MousePos">
5456
<short>Mouse position in client coordinates.</short>
5458
<!-- function Visibility: protected -->
5459
<element name="TControl.GetDragImages">
5460
<short>Get the list of images usable during dragging.</short>
5462
<element name="TControl.GetDragImages.Result">
5614
5465
<!-- function Visibility: protected -->
5616
5467
<short>Guess whether the control is floating.</short>
5617
5468
<descr>Floating state is assumed when the control has a HostDockSite of FloatingDockSiteClass, and is the only docked client.</descr>
5619
<!-- function result Visibility: default -->
5620
5470
<element name="TControl.GetFloating.Result">
5623
5473
<!-- function Visibility: protected -->
5624
5474
<element name="TControl.GetFloatingDockSiteClass">
5625
<short>Returns the class of the floating dock site</short>
5475
<short>Returns the class for a floating host dock site.</short>
5477
<p>An instance of this class is created whenever a control shall float,
5478
but can not (or shall not) float by itself.
5480
<p>Only TWinControls can float on the screen (with Parent=Nil), but not ordinary TControls.
5482
<p>Since dockable forms are not supported by every platform,
5483
also a dockable TWinControl may need an floating host,
5484
which presents a docking handle to the user (e.g. a dock caption).
5489
<link id="TControl.CreateFloatingDockSite"/>
5630
<!-- function result Visibility: default -->
5631
5492
<element name="TControl.GetFloatingDockSiteClass.Result">
5493
<short>The class of a floating host dock site for this control.</short>
5634
5495
<!-- procedure Visibility: protected -->
5635
5496
<element name="TControl.BeginAutoDrag">
5636
<short>Start the AutoDrag process.</short>
5497
<short>For internal use: user has started dragging the control.</short>
5638
5499
<!-- procedure Visibility: protected -->
5639
<element name="TControl.DefaultDockImage">
5645
<!-- argument Visibility: default -->
5646
<element name="TControl.DefaultDockImage.DragDockObject">
5649
<!-- argument Visibility: default -->
5650
<element name="TControl.DefaultDockImage.Erase">
5500
<element name="TControl.DoFloatMsg">
5501
<short>Handler called when the control starts floating.</short>
5503
<p>Since TControls cannot float for themselves,
5504
a FloatHost site is created and the control is docked into it.</p>
5505
<p>When the control already has a Parent (FloatHost site),
5506
the Parent's position and extent is adjusted to fit the DockRect as its ClientRect.</p>
5509
<element name="TControl.DoFloatMsg.ADockSource">
5510
<short>The DockObject of the current drag-dock operation.</short>
5653
5512
<!-- procedure Visibility: protected -->
5654
5513
<element name="TControl.DockTrackNoTarget">
5655
<short>Adjust the DockRect for floating state (not over a DockSite)</short>
5514
<short>Adjust the DockRect for floating state (no drop target under the mouse).</short>
5660
<!-- argument Visibility: default -->
5661
5519
<element name="TControl.DockTrackNoTarget.Source">
5520
<short>The dragged DockObject, containing the DockRect to adjust.</short>
5664
<!-- argument Visibility: default -->
5665
5522
<element name="TControl.DockTrackNoTarget.X">
5523
<short>The mouse position, in screen coordinates.</short>
5668
<!-- argument Visibility: default -->
5669
5525
<element name="TControl.DockTrackNoTarget.Y">
5672
5528
<!-- procedure Visibility: protected -->
5673
5529
<element name="TControl.DoDock">
5674
<short>Adjust the control's position and extent for the new docksite.</short>
5530
<short>Internal method, called by Dock. Adjusts the control's position and extent for the new docksite.</short>
5676
<p>If NewDockSite=Nil, Parent is set to Nil (in preparation of floating the control).</p>
5677
<p>Otherwise ARect is adjusted to fit into the logical ClientRect of the NewDockSite. The origin is adjusted according to Align[??? should be DropAlign!], so that the control sits at the according side of the NewDockSite.</p>
5678
<p>Finally the computed coordinates are stored, in BoundsRectForNewParent when the NewDockSite differs from Parent, else in BoundsRect.</p>
5679
<p>ARect is the perfect BoundsRect for the control, in screen coordinates when it becomes floating, or in client coordinates of the target docksite.</p>
5532
<p>If NewDockSite=Nil, Parent is set to Nil (in preparation of floating the control).
5534
<p>Otherwise ARect is ignored (bug?), and recomputed to fit approximately into the ClientRect of the NewDockSite.
5536
<p>Finally the computed coordinates are stored, in BoundsRectForNewParent when the NewDockSite differs from Parent, else in BoundsRect.
5539
<errors>A correct implementation should allow for computations in a derived class,
5540
and accept and handle the changed bounds without any further adjustments.
5684
<!-- argument Visibility: default -->
5685
5544
<element name="TControl.DoDock.NewDockSite">
5545
<short>The site where the control will be docked, or Nil when it becomes floating.</short>
5688
<!-- argument Visibility: default -->
5689
5547
<element name="TControl.DoDock.ARect">
5548
<short>The control's new Bounds, in screen coordinates when NewDockSite is Nil, else in client coordinates of NewDockSite.
5692
5551
<!-- procedure Visibility: protected -->
5693
5552
<element name="TControl.DoDragMsg">
5694
<short>Dispatch a drag message, sent by the DragManager</short>
5695
<descr>On dmFindTarget: return Self for the DropOnControl.
5697
On dmDragEnter/Leave/Move: invokes DragOver or, if docking, the target.DockOver. Result indicates acceptance of an drop.
5698
When the DragObject has been AutoCreated, the dragged control is passed to DragOver as the Sender; otherwise the DragObject itself is passed as Sender.
5700
On dmDragDrop: invokes DragDrop or, if docking, the target.DockDrop. Returns nothing!</descr>
5553
<short>Handler for a drag message, sent by the DragManager to the current target control.</short>
5555
<p>These messages can be sent while dragging:
5558
<li>On dmFindTarget: Request to determine the possible target control for an drop.
5559
<br/>A TControl returns itself, a TWinControl finds the child control closest to the mouse position.
5561
<li>On dmDragEnter/Leave/Move: Notification of mouse moves.
5562
<br/>Invokes DragOver, or DockOver if docking.
5563
Result indicates acceptance of an drop.</li>
5564
<li>On dmDragDrop: The dragged object has been dropped onto this control.
5565
<br/>Invokes DragDrop, or DockDrop if docking.</li>
5567
<p>The <var>Source</var> argument of the invoked methods is the DragDockObject when docking.
5568
Else if the DragObject has been AutoCreated, the dragged control is passed as the Source;
5569
otherwise the DragObject itself is passed as Source.
5704
<!-- argument Visibility: default -->
5705
<element name="TControl.DoDragMsg.DragMsg">
5575
<element name="TControl.DoDragMsg.Result">
5576
<short>Result is polymorphic:
5577
On dmFindTarget the result is the target control reference,
5578
on dmDragDrop it's zero,
5579
else it indicates acceptance of an drop.
5582
<element name="TControl.DoDragMsg.ADragMessage">
5583
<short>The task to perform.</short>
5585
<element name="TControl.DoDragMsg.APosition">
5586
<short>The mouse position in <b>screen</b> coordinates.</short>
5588
<element name="TControl.DoDragMsg.ADragObject">
5589
<short>The drag object.</short>
5591
<element name="TControl.DoDragMsg.ATarget">
5592
<short>The drop target, Nil if none.</short>
5594
<element name="TControl.DoDragMsg.ADocking">
5595
<short>Distinguishes between a drag-drop and drag-dock operation.</short>
5708
5597
<!-- procedure Visibility: protected -->
5709
5598
<element name="TControl.DoEndDock">
5710
<short>Invokes the OnEndDock handler</short>
5599
<short>Invokes the <link id="#lcl.Controls.TControl.OnEndDock">OnEndDock</link> handler.</short>
5715
<!-- argument Visibility: default -->
5716
5601
<element name="TControl.DoEndDock.Target">
5719
<!-- argument Visibility: default -->
5720
5604
<element name="TControl.DoEndDock.X">
5723
<!-- argument Visibility: default -->
5724
5607
<element name="TControl.DoEndDock.Y">
5727
5610
<!-- procedure Visibility: protected -->
5728
5611
<element name="TControl.DoEndDrag">
5729
<short>Invokes the OnEndDrag handler</short>
5612
<short>Invokes the <link id="#lcl.Controls.TControl.OnEndDrag">OnEndDrag</link> handler.</short>
5734
<!-- argument Visibility: default -->
5735
5614
<element name="TControl.DoEndDrag.Target">
5738
<!-- argument Visibility: default -->
5739
5617
<element name="TControl.DoEndDrag.X">
5742
<!-- argument Visibility: default -->
5743
5620
<element name="TControl.DoEndDrag.Y">
5746
5623
<!-- procedure Visibility: protected -->
5747
5624
<element name="TControl.DoStartDock">
5748
<short>Invokes the OnStartDock handler</short>
5625
<short>Invokes the <link id="#lcl.Controls.TControl.OnStartDock">OnStartDock</link> handler</short>
5753
<!-- argument Visibility: default -->
5754
5627
<element name="TControl.DoStartDock.DragObject">
5757
5630
<!-- procedure Visibility: protected -->
5758
5631
<element name="TControl.DoStartDrag">
5759
<short>Invokes the OnStartDrag handler</short>
5632
<short>Invokes the <link id="#lcl.Controls.TControl.OnStartDrag">OnStartDrag</link> handler</short>
5764
<!-- argument Visibility: default -->
5765
5634
<element name="TControl.DoStartDrag.DragObject">
5768
5637
<!-- procedure Visibility: protected -->
5769
5638
<element name="TControl.DragCanceled">
5771
<var>DragCanceled</var> - method for signalling that a drag is cancelled</short>
5639
<short>Notifies the control of a canceld drag.</short>
5776
5644
<!-- procedure Visibility: protected -->
5777
5645
<element name="TControl.DragOver">
5778
<short>Determines whether a drop is acceptable, using the OnDragOver handler.</short>
5646
<short>Called when an object is dragged over this control.
5647
Determines whether a drop is acceptable, using the OnDragOver handler.
5780
5650
<p>An OnDragOver handler is required, or any drop will be rejected (Accept becomes False).</p>
5781
5651
<p>When an OnDragOver handler is installed, Accept is set to True and can be changed by the handler.</p>
5782
<remark>Caution: Sender can be either a TDragObject, or the dragged control.</remark>
5652
<remark>Caution: Source can be either a TDragObject, or the dragged control.</remark>
5785
5655
<link id="TControl.OnDragOver"/>
5656
<link id="TControl.DockOver"/>
5788
<!-- argument Visibility: default -->
5789
5659
<element name="TControl.DragOver.Source">
5660
<short>The dragged object, a control or a DragObject.</short>
5792
<!-- argument Visibility: default -->
5793
5662
<element name="TControl.DragOver.X">
5663
<short>The mouse position in client coordinates.</short>
5796
<!-- argument Visibility: default -->
5797
5665
<element name="TControl.DragOver.Y">
5800
<!-- argument Visibility: default -->
5801
5668
<element name="TControl.DragOver.State">
5669
<short>State change flag (dsDragEnter, dsDragMove, dsDragLeave).</short>
5804
<!-- argument Visibility: default -->
5805
5671
<element name="TControl.DragOver.Accept">
5808
<!-- procedure Visibility: protected -->
5809
<element name="TControl.DrawDragDockImage">
5815
<!-- argument Visibility: default -->
5816
<element name="TControl.DrawDragDockImage.DragDockObject">
5819
<!-- procedure Visibility: protected -->
5820
<element name="TControl.EraseDragDockImage">
5826
<!-- argument Visibility: default -->
5827
<element name="TControl.EraseDragDockImage.DragDockObject">
5672
<short>Set to True when a drop is allowed.</short>
5830
5674
<!-- procedure Visibility: protected -->
5831
5675
<element name="TControl.PositionDockRect">
5832
<short>Get the DockRect for an drop.</short>
5833
<descr>Either calls the DockManager.PositionDockRect of the target site, or DragDockObject.AdjustDockRect after moving the undocked control rectangle to the DragPos. AdjustDockRect takes the hotspot of the DockRect into account.</descr>
5676
<short>Get the DockRect for an possible drop.</short>
5677
<descr>Either calls the DockManager.PositionDockRect of the target site,
5678
or DragDockObject.AdjustDockRect after moving the undocked control rectangle to the DragPos.
5679
AdjustDockRect takes the hotspot of the DockRect into account.
5836
5683
<link id="TDragDockObject.AdjustDockRect"/>
5839
<!-- argument Visibility: default -->
5840
5686
<element name="TControl.PositionDockRect.DragDockObject">
5843
5689
<!-- procedure Visibility: protected -->
5844
<element name="TControl.SetDragMode">
5846
<var>SetDragMode</var> - specify the mode for dragging</short>
5851
<!-- argument Visibility: default -->
5690
<element link="TControl.DragMode" name="TControl.SetDragMode"/>
5852
5691
<element name="TControl.SetDragMode.Value">
5694
<!-- function Visibility: protected -->
5695
<element name="TControl.GetDefaultDockCaption">
5696
<short>Returns the string for the dock caption, by default the control's Name.</short>
5701
<element name="TControl.GetDefaultDockCaption.Result">
5855
5704
<!-- procedure Visibility: protected -->
5856
5705
<element name="TControl.Click">
5858
<var>Click</var> - a procedure that allows the programmer to simulate a mouse click over the control, and initiates the same
5865
<var>Action</var> as that associated with the
5872
<link id="#lcl.Controls.TControl.OnClick">OnClick</link> event</short>
5707
<link id="#lcl.Controls.TControl.OnClick">OnClick</link>
5708
and ActionLink.Execute
5874
5711
<!-- procedure Visibility: protected -->
5875
5712
<element name="TControl.DblClick">
5877
<var>DblClick</var> - a procedure that allows the programmer to simulate a mouse double-click over the control, and initiates the same
5884
<var>Action</var> as that associated with the
5891
<link id="#lcl.Controls.TControl.OnDblClick">OnDblClick</link> event</short>
5714
<link id="#lcl.Controls.TControl.OnDblClick">OnDblClick</link>
5893
5717
<!-- procedure Visibility: protected -->
5894
5718
<element name="TControl.TripleClick">
5896
<var>TripleClick</var> - a procedure that allows the programmer to simulate a mouse triple-click over the control, and initiates the same
5903
<var>Action</var> as that associated with the
5910
<link id="#lcl.Controls.TControl.OnTripleClick">OnTripleClick</link> event</short>
5720
<link id="#lcl.Controls.TControl.OnTripleClick">OnTripleClick</link>
5912
5723
<!-- procedure Visibility: protected -->
5913
5724
<element name="TControl.QuadClick">
5915
<var>QuadClick</var> - a procedure that allows the programmer to simulate a mouse quadruple-click over the control, and initiates the same
5922
<var>Action</var> as that associated with the
5929
<link id="#lcl.Controls.TControl.OnQuadClick">OnQuadClick</link> event</short>
5726
<link id="#lcl.Controls.TControl.OnQuadClick">OnQuadClick</link>
5931
5729
<!-- procedure Visibility: protected -->
5932
5730
<element name="TControl.MouseDown">
5934
<var>MouseDown</var> - a procedure that allows the programmer to simulate a mouse button being down over the control, and initiates the same
5936
<var>Action</var> as that associated with the
5938
<link id="#lcl.Controls.TControl.OnMouseDown">OnMouseDown</link> event</short>
5731
<short>Handler for MouseDown events.</short>
5941
<var>MouseDown</var> - a procedure that allows the programmer to simulate a mouse button being down over the control, and initiates the same
5943
<var>Action</var> as that associated with the
5946
<link id="#lcl.Controls.TControl.OnMouseDown"/> event</p>
5948
<var>X, Y</var> show mouse position
5733
<p>Called by the MouseDown message handler.
5734
Handles Focus changes,
5735
notifies the DragManager while dragging.
5736
Finally calls the <link id="TControl.OnMouseDown"/> handler.</p>
5952
<!-- argument Visibility: default -->
5953
5739
<element name="TControl.MouseDown.Button">
5954
5740
<short>which buttons are down</short>
5956
<!-- argument Visibility: default -->
5957
5742
<element name="TControl.MouseDown.Shift">
5958
5743
<short>which of Ctrl, Shift or Alt keys are also pressed</short>
5960
<!-- argument Visibility: default -->
5961
5745
<element name="TControl.MouseDown.X">
5746
<short>Mouse position in <b>client</b> coordinates.</short>
5964
<!-- argument Visibility: default -->
5965
5748
<element name="TControl.MouseDown.Y">
5968
5751
<!-- procedure Visibility: protected -->
5969
5752
<element name="TControl.MouseMove">
5971
<var>MouseMove</var> - a procedure that allows the programmer to simulate a mouse being moved over the control, and initiates the same
5973
<var>Action</var> as that associated with the
5975
<link id="#lcl.Controls.TControl.OnMouseMove">OnMouseMove</link> event</short>
5753
<short>Handler for MouseMove events.</short>
5978
<var>MouseMove</var> - a procedure that allows the programmer to simulate a mouse being moved over the control, and initiates the same
5980
<var>Action</var> as that associated with the
5983
<link id="#lcl.Controls.TControl.OnMouseMove"/> event</p>
5985
<var>Shift</var> signifies whether Ctrl, Shift or Alt keys are also pressed;
5988
<var>X, Y</var> show mouse position
5755
<p>Called by the MouseMove message handler.
5756
The DragManager is notified while the control is being dragged.
5757
Finally the <link id="#lcl.Controls.TControl.OnMouseMove">OnMouseMove</link> handler is invoked.</p>
5992
<!-- argument Visibility: default -->
5993
5760
<element name="TControl.MouseMove.Shift">
5761
<short>The currently pressed mouse buttons and modifier keys.
5996
<!-- argument Visibility: default -->
5997
5764
<element name="TControl.MouseMove.X">
5765
<short>Mouse position in <b>client</b> coordinates.</short>
6000
<!-- argument Visibility: default -->
6001
5767
<element name="TControl.MouseMove.Y">
6004
5770
<!-- procedure Visibility: protected -->
6005
5771
<element name="TControl.MouseUp">
6007
<var>MouseUp</var> - a procedure that allows the programmer to simulate a mouse button being Up over the control, and initiates the same
6014
<var>Action</var> as that associated with the
6021
<link id="#lcl.Controls.TControl.OnMouseUp">OnMouseUp</link> event</short>
6024
<var>MouseUp</var> - a procedure that allows the programmer to simulate a mouse button being Up over the control, and initiates the same
6032
<var>Action</var> as that associated with the
6040
<link id="#lcl.Controls.TControl.OnMouseUp"/> event</p>
6042
<var>Button</var> specifies which mouse button;
6050
<var>Shift</var> signifies whether Ctrl, Shift or Alt keys are also pressed;
6058
<var>X, Y</var> show mouse position</p>
5773
<link id="#lcl.Controls.TControl.OnMouseUp">OnMouseUp</link> handler.</short>
6063
<!-- argument Visibility: default -->
6064
5778
<element name="TControl.MouseUp.Button">
5779
<short>The currently pressed modifier keys.
6067
<!-- argument Visibility: default -->
6068
5782
<element name="TControl.MouseUp.Shift">
5783
<short>The currently pressed mouse buttons.
6071
<!-- argument Visibility: default -->
6072
5786
<element name="TControl.MouseUp.X">
5787
<short>Mouse position in <b>client</b> coordinates.</short>
6075
<!-- argument Visibility: default -->
6076
5789
<element name="TControl.MouseUp.Y">
6079
5792
<!-- procedure Visibility: protected -->
6080
5793
<element name="TControl.MouseEnter">
6082
<var>MouseEnter</var> - a procedure that allows the programmer to simulate a mouse entering the control, and initiates the same
6089
<var>Action</var> as that associated with the
6096
<link id="#lcl.Controls.TControl.OnMouseEnter">OnMouseEnter</link> event</short>
5795
<link id="#lcl.Controls.TControl.OnMouseEnter">OnMouseEnter</link> handler.</short>
6101
5800
<!-- procedure Visibility: protected -->
6102
5801
<element name="TControl.MouseLeave">
6104
<var>MouseLeave</var> - a procedure that allows the programmer to simulate a mouse leaving the control, and initiates the same
6111
<var>Action</var> as that associated with the
6118
<link id="#lcl.Controls.TControl.OnMouseLeave">OnMouseLeave</link> event</short>
5803
<link id="#lcl.Controls.TControl.OnMouseLeave">OnMouseLeave</link> handler.</short>
6123
5808
<!-- function Visibility: protected -->
6124
5809
<element name="TControl.DialogChar">
6126
<var>DialogChar</var> - a LCL Key Message; returns True if a Dialog character has an associated message</short>
5810
<short>Do something useful with accelerators etc.</short>
6131
<!-- function result Visibility: default -->
6132
5815
<element name="TControl.DialogChar.Result">
5817
<notes><note>?</note>
6135
<!-- argument Visibility: default -->
6136
5820
<element name="TControl.DialogChar.Message">
6139
5823
<!-- procedure Visibility: protected -->
5824
<element name="TControl.UpdateMouseCursor">
5825
<short>Show the Cursor shape, unless it's crDefault.</short>
5830
<element name="TControl.UpdateMouseCursor.X">
5832
<notes><note>?</note>
5835
<element name="TControl.UpdateMouseCursor.Y">
5838
<!-- procedure Visibility: protected -->
6140
5839
<element name="TControl.Changed">
6142
<var>Changed</var> - method to signal that a change has occured</short>
5840
<short>Call this method whenever a change has occured, to trigger further processing.</short>
6147
5845
<!-- function Visibility: protected -->
6148
5846
<element name="TControl.GetPalette">
6150
<var>GetPalette</var> - returns a handle to the palette for this control</short>
5848
<var>GetPalette</var> to return the handle of a color palette.</short>
6155
<!-- function result Visibility: default -->
6156
5853
<element name="TControl.GetPalette.Result">
5854
<short>The Palette handle, zero (no Palette) by default.</short>
6159
5856
<!-- function Visibility: protected -->
6160
5857
<element name="TControl.ChildClassAllowed">
6162
<var>ChildClassAllowed</var> - returns True if the specified class is allowed to be a child of this class</short>
5858
<short>Returns True if the specified class is allowed for children of this control.</short>
6167
<!-- function result Visibility: default -->
6168
5863
<element name="TControl.ChildClassAllowed.Result">
5864
<short>True when the class is acceptable.</short>
6171
<!-- argument Visibility: default -->
6172
5866
<element name="TControl.ChildClassAllowed.ChildClass">
6175
<!-- procedure Visibility: protected -->
6176
<element name="TControl.Loaded">
6178
<var>Loaded</var> - called when the component has finished loading. Calls inherited
6185
<var>Loaded</var> then copies various properties from client and parent</short>
5867
<short>The class type of the child control.</short>
5869
<!-- procedure Visibility: protected -->
5870
<element link="#rtl.Classes.TComponent.ReadState" name="TControl.ReadState"/>
5871
<element name="TControl.ReadState.Reader">
5874
<!-- procedure Visibility: protected -->
5875
<element link="#rtl.Classes.TComponent.Loaded" name="TControl.Loaded"/>
5876
<!-- procedure Visibility: protected -->
5877
<element name="TControl.LoadedAll">
6189
<link id="#rtl.Classes.TComponent.Loaded">TComponent.Loaded</link>
5882
<notes><note>?</note>
6192
5885
<!-- procedure Visibility: protected -->
6193
5886
<element name="TControl.DefineProperties">
6195
<var>DefineProperties</var> - declare any properties not specified elsewhere</short>
5887
<short>Defines which non-published properties should be streamed (none here).</short>
6199
5889
<link id="#rtl.Classes.TComponent.DefineProperties">TComponent.DefineProperties</link>
6200
5890
<link id="#rtl.Classes.TPersistent.DefineProperties">TPersistent.DefineProperties</link>
6203
<!-- argument Visibility: default -->
6204
5893
<element name="TControl.DefineProperties.Filer">
6207
5896
<!-- procedure Visibility: protected -->
6208
5897
<element name="TControl.AssignTo">
6210
<var>AssignTo</var> - if the Destination is a CustomAction, copies some specified properties to the Destination, otherwise calls inherited
5898
<short>Implements the assignment to an Action object, otherwise calls the inherited method.
6216
<var>AssignTo</var> - if the Destination is a CustomAction, copies some specified properties to the Destination, otherwise calls inherited
6220
5901
<p>The copied properties are:</p>
6222
5903
<li>Enabled</li>
6233
5914
<link id="#rtl.Classes.TPersistent.AssignTo"/>
6236
<!-- argument Visibility: default -->
6237
5917
<element name="TControl.AssignTo.Dest">
6240
5920
<!-- procedure Visibility: protected -->
6241
<element name="TControl.InvalidateControl">
6243
<var>InvalidateControl</var> - method to render the Control non-valid; visibility and opacity are specified</short>
5921
<element name="TControl.FormEndUpdated">
5922
<short>Called when the update of the containing Form has ended.</short>
6248
<!-- argument Visibility: default -->
6249
<element name="TControl.InvalidateControl.CtrlIsVisible">
6252
<!-- argument Visibility: default -->
6253
<element name="TControl.InvalidateControl.CtrlIsOpaque">
6256
5927
<!-- procedure Visibility: protected -->
6257
5928
<element name="TControl.InvalidateControl">
6259
<var>InvalidateControl</var> - method to render the Control non-valid; visibility and opacity are specified and instructions can be given to ignore Window Controls</short>
5929
<short>Request a repaint of the control.</short>
6264
<!-- argument Visibility: default -->
6265
5934
<element name="TControl.InvalidateControl.CtrlIsVisible">
6268
<!-- argument Visibility: default -->
6269
5937
<element name="TControl.InvalidateControl.CtrlIsOpaque">
6272
<!-- argument Visibility: default -->
6273
5940
<element name="TControl.InvalidateControl.IgnoreWinControls">
6276
5943
<!-- procedure Visibility: protected -->
6277
5944
<element name="TControl.FontChanged">
6279
<var>FontChanged</var> - method for dealing with a changed font</short>
5945
<short>Handles changes of the Font property.</short>
6284
<!-- argument Visibility: default -->
6285
5950
<element name="TControl.FontChanged.Sender">
6288
<!-- function Visibility: protected -->
6289
<element name="TControl.GetAction">
6290
<short>Find the action needed for operation of this control</short>
5953
<!-- procedure Visibility: protected -->
5954
<element name="TControl.ParentFontChanged">
5955
<short>[Delphi compatible] Does nothing here, all work is done in CMParentFontChanged.
6295
<!-- function result Visibility: default -->
5961
<!-- function Visibility: protected -->
5962
<element link="TControl.Action" name="TControl.GetAction"/>
6296
5963
<element name="TControl.GetAction.Result">
6299
5966
<!-- function Visibility: protected -->
6300
5967
<element name="TControl.RealGetText">
6301
<short>Function to get a text-string associated with the control</short>
6302
<descr>This is the function that is actually used by <var>GetTextBuf</var>, and loads a string rather than performing read-write to a <var>PChar</var> buffer
5968
<short>Returns the Caption property.</short>
5969
<descr>This method is called by <var>GetText</var>, when GetTextBuf is not overridden.</descr>
6305
5971
<link id="#lcl.Controls.TControl.GetTextBuf">GetTextBuf</link>
6306
5972
<link id="#lcl.Controls.TControl.RealSetText">RealSetText</link>
6307
5973
<link id="#lcl.Controls.TControl.SetTextBuf">SetTextBuf</link>
6310
<!-- function result Visibility: default -->
6311
5976
<element name="TControl.RealGetText.Result">
6312
<short>The Function returns the required text as a string</short>
5977
<short>The Caption property.</short>
6314
5979
<!-- procedure Visibility: protected -->
6315
5980
<element name="TControl.RealSetText">
6316
<short>Procedure to store text associated with the control in a string</short>
6317
<descr>This is the procedure that is actually used by <var>SetTextBuf,</var> and stores text as a string rather than performing read-write to a <var>PChar</var> buffer
5981
<short>Sets the Caption property.</short>
5982
<descr>This method is called by <var>SetText</var>, when SetTextBuf is not overridden.</descr>
6320
5984
<link id="#lcl.Controls.TControl.SetTextBuf">SetTextBuf</link>
6321
5985
<link id="#lcl.Controls.TControl.RealGetText">RealGetText</link>
6322
5986
<link id="#lcl.Controls.TControl.GetTextBuf">GetTextBuf</link>
6325
<!-- argument Visibility: default -->
6326
5989
<element name="TControl.RealSetText.Value">
6327
<short>The text-string that is to be stored</short>
6329
<!-- procedure Visibility: protected -->
6330
<element name="TControl.SetAction">
6331
<short>Set up the action to be associated with this control</short>
6336
<!-- argument Visibility: default -->
5990
<short>The string to store.</short>
5992
<!-- procedure Visibility: protected -->
5993
<element name="TControl.TextChanged">
5994
<short>Handles changes of the Text property.</short>
5999
<!-- function Visibility: protected -->
6000
<element name="TControl.GetCachedText">
6001
<short>Returns the cached Text property (FCaption).</short>
6006
<element name="TControl.GetCachedText.Result">
6007
<short>True if successful.</short>
6009
<element name="TControl.GetCachedText.CachedText">
6010
<short>Here: FCaption (can be overridden).</short>
6012
<!-- procedure Visibility: protected -->
6013
<element link="TControl.Action" name="TControl.SetAction"/>
6337
6014
<element name="TControl.SetAction.Value">
6340
6017
<!-- procedure Visibility: protected -->
6341
<element name="TControl.SetColor">
6342
<short>Set up the colour to be used by the control</short>
6347
<!-- argument Visibility: default -->
6018
<element link="TControl.Color" name="TControl.SetColor"/>
6348
6019
<element name="TControl.SetColor.Value">
6351
6022
<!-- procedure Visibility: protected -->
6352
<element name="TControl.SetEnabled">
6353
<short>Set up the flag to determine whether the control is to be enabled</short>
6358
<!-- argument Visibility: default -->
6023
<element link="TControl.Enabled" name="TControl.SetEnabled"/>
6359
6024
<element name="TControl.SetEnabled.Value">
6362
6027
<!-- procedure Visibility: protected -->
6363
<element name="TControl.SetHint">
6364
<short>Set up the hinting pop-up for this control</short>
6369
<!-- argument Visibility: default -->
6028
<element link="TControl.Hint" name="TControl.SetHint"/>
6370
6029
<element name="TControl.SetHint.Value">
6373
6032
<!-- procedure Visibility: protected -->
6374
<element name="TControl.SetName">
6375
<short>Set the name of the control</short>
6380
<!-- argument Visibility: default -->
6033
<element link="TControl.Name" name="TControl.SetName"/>
6381
6034
<element name="TControl.SetName.Value">
6384
6037
<!-- procedure Visibility: protected -->
6385
<element name="TControl.SetParent">
6386
<short>Find who the parents are and store the information</short>
6391
<!-- argument Visibility: default -->
6038
<element link="TControl.Parent" name="TControl.SetParent"/>
6392
6039
<element name="TControl.SetParent.NewParent">
6395
6042
<!-- procedure Visibility: protected -->
6396
6043
<element name="TControl.SetParentComponent">
6398
<var>SetParentComponent</var> - specify a new component to be the parent</short>
6044
<short>Sets the Parent property, if NewParentComponent is a TWinControl.</short>
6403
<!-- argument Visibility: default -->
6404
6049
<element name="TControl.SetParentComponent.NewParentComponent">
6407
6052
<!-- procedure Visibility: protected -->
6408
6053
<element name="TControl.WndProc">
6410
<var>WndProc</var> - message handler for the procedure of this window</short>
6054
<short>The general message handler for this control.</short>
6055
<descr>Preprocesses several messages, then calls Dispatch to invoke the applicable message handler.</descr>
6415
<!-- argument Visibility: default -->
6416
6059
<element name="TControl.WndProc.TheMessage">
6060
<short>The message to handle.</short>
6419
6062
<!-- procedure Visibility: protected -->
6420
6063
<element name="TControl.ParentFormHandleInitialized">
6422
<var>ParentFormHandleInitialized </var>
6431
<var>ChildHandlesCreated</var> of parent form</short>
6064
<short>Internal handler for activities after a form widget has been created.
6433
<p>The form is a real connection to the target screen.</p>
6434
<p>For example, the gtk under X gathers some screen information, but not before form creation. </p>
6435
<p>But this information is needed to create DeviceContexts, which are needed to calculate Text Size and such stuff needed for AutoSizing. </p>
6436
<p>That's why AdjustSize delays AutoSizing till this moment. </p>
6437
<p>Now do the AutoSize.</p>
6067
<p>Called by <var>ChildHandlesCreated</var> of parent form.
6069
<p>Functions like GetTextWidth require valid widgets and their device contexts.
6070
That's why AutoSizing is delayed till this moment.
6440
6074
<!-- procedure Visibility: protected -->
6441
6075
<element name="TControl.CaptureChanged">
6443
<var>CaptureChanged</var> - the method for data capture has changed</short>
6076
<short>Handler for mouse capture moved to a different control.</short>
6077
<descr>Notifies the DragManager of the changed capture control, to stop dragging this control.
6078
A very dangerous implementation, that can cause immediate abort of dragging before dragging really starts.
6448
6083
<!-- procedure Visibility: protected -->
6449
6084
<element name="TControl.Notification">
6451
<var>Notification</var> - calls inherited
6453
<var>Notification</var>, then takes action depending on Operation</short>
6085
<short>Notification handler for insertion or deletion of components.</short>
6456
<var>Notification</var> - calls inherited
6459
<var>Notification</var>, then takes action depending on Operation</p>
6460
<p>If Operation is removal, then nullifies any popupmenus or actions. disconnects all anchors.</p>
6087
<p>First the inherited <link id="#rtl.Classes.TComponent.Notification"/> is invoked,
6088
to notify all attached notification handlers.</p>
6089
<p>If Operation is removal, additional actions are performed, depending on AComponent:<br/>
6090
PopupMenu, Action, or anchors to the removed control are detached.</p>
6463
6093
<link id="#rtl.Classes.TComponent.Notification"/>
6466
<!-- argument Visibility: default -->
6467
6096
<element name="TControl.Notification.AComponent">
6097
<short>The component being inserted or removed.</short>
6470
<!-- argument Visibility: default -->
6471
6099
<element name="TControl.Notification.Operation">
6100
<short>The action (opInsert or opRemove).</short>
6474
6102
<!-- function Visibility: protected -->
6475
6103
<element name="TControl.CanTab">
6477
<var>CanTab</var> - if True, the Tab key can be used to navigate to this control</short>
6104
<short>If True, the Tab key can be used to navigate to this control.</short>
6482
<!-- function result Visibility: default -->
6483
6109
<element name="TControl.CanTab.Result">
6486
6112
<!-- function Visibility: protected -->
6487
6113
<element name="TControl.GetDeviceContext">
6489
<var>GetDeviceContext</var> - returns a device handle to correspond with the nominated
6496
<var>WindowHandle</var>
6114
<short>Returns a device context handle for the control, from Parent.
6116
<descr>Initializes the device context position to the control origin,
6117
and shrinks its clipping rectangle to the control bounds.
6502
<!-- function result Visibility: default -->
6503
6122
<element name="TControl.GetDeviceContext.Result">
6123
<short>The device context.</short>
6506
<!-- argument Visibility: default -->
6507
6125
<element name="TControl.GetDeviceContext.WindowHandle">
6126
<short>Returns the window handle of the device context.</short>
6510
6128
<!-- function Visibility: protected -->
6511
<element name="TControl.GetEnabled">
6513
<var>GetEnabled</var> - returns the
6520
<var>Enabled</var> status</short>
6525
<!-- function result Visibility: default -->
6129
<element link="TControl.Enabled" name="TControl.GetEnabled"/>
6526
6130
<element name="TControl.GetEnabled.Result">
6529
6133
<!-- function Visibility: protected -->
6530
<element name="TControl.GetPopupMenu">
6532
<var>GetPopupMenu</var> - returns a popup menu for use with this control</short>
6537
<!-- function result Visibility: default -->
6134
<element link="TControl.PopupMenu" name="TControl.GetPopupMenu"/>
6538
6135
<element name="TControl.GetPopupMenu.Result">
6541
6138
<!-- procedure Visibility: protected -->
6542
6139
<element name="TControl.DoOnShowHint">
6544
<var>DoOnShowHint</var> - perform the code for the
6551
<var>OnShowHint</var> event handler</short>
6140
<short>Invokes the <var>OnShowHint</var> event handler.</short>
6556
<!-- argument Visibility: default -->
6557
6145
<element name="TControl.DoOnShowHint.HintInfo">
6560
6148
<!-- procedure Visibility: protected -->
6149
<element name="TControl.DoMouseWheel">
6150
<short>Invokes the OnMouseWheel handlers, when the wheel has been turned.
6153
<p>Multiple wheel handlers can be implemented.
6154
First the general OnMouseWheel handler is tried, and if it doesn't report the event handled,
6155
then OnMouseWheelUp or OnMouseWheelDown are tried.
6157
<p>The actual WheelDelta is available <b>only</b> to the OnMouseWheel handler,
6158
not to the up and down handlers [Delphi compatible].
6162
<link id="TMouseWheelEvent"/>
6163
<link id="TMouseWheelUpDownEvent"/>
6166
<element name="TControl.DoMouseWheel.Result">
6167
<short>Set Result to True if handled.</short>
6169
<element name="TControl.DoMouseWheel.Shift">
6170
<short>State of the modifier keys and mouse buttons.</short>
6172
<element name="TControl.DoMouseWheel.WheelDelta">
6173
<short>How many notches the wheel has been turned.</short>
6175
<element name="TControl.DoMouseWheel.MousePos">
6176
<short>The mouse coordinates</short>
6177
<notes><note>client/screen?</note>
6180
<!-- procedure Visibility: protected -->
6181
<element name="TControl.DoMouseWheelDown">
6182
<short>Invokes the OnMouseWheelDown handler.</short>
6184
<element name="TControl.DoMouseWheelDown.Result">
6185
<short>True if handled.</short>
6187
<element link="TMouseWheelEvent.Shift" name="TControl.DoMouseWheelDown.Shift">
6190
<element link="TMouseWheelEvent.MousePos" name="TControl.DoMouseWheelDown.MousePos">
6193
<!-- procedure Visibility: protected -->
6194
<element name="TControl.DoMouseWheelUp">
6195
<short>Invokes the OnMouseWheelUp handler.</short>
6197
<element name="TControl.DoMouseWheelUp.Result">
6198
<short>True if handled.</short>
6200
<element link="TMouseWheelEvent.Shift" name="TControl.DoMouseWheelUp.Shift">
6203
<element link="TMouseWheelEvent.MousePos" name="TControl.DoMouseWheelUp.MousePos">
6206
<!-- procedure Visibility: protected -->
6561
6207
<element name="TControl.VisibleChanging">
6563
<var>VisibleChanging</var> - method to use when the
6570
<var>Visible</var> property is changing</short>
6208
<short>Notifies all <var>OnVisibleChanging</var> handlers.</short>
6210
<!-- procedure Visibility: protected -->
6211
<element name="TControl.VisibleChanged">
6212
<short>Notifies all OnVisibleChanged handlers.</short>
6214
<!-- procedure Visibility: protected -->
6215
<element name="TControl.EnabledChanging">
6216
<short>Notifies all OnEnabledChanging handlers.</short>
6218
<!-- procedure Visibility: protected -->
6219
<element name="TControl.EnabledChanged">
6220
<short>Notifies all OnEnabledChanged handlers.</short>
6575
6222
<!-- procedure Visibility: protected -->
6576
6223
<element name="TControl.AddHandler">
6578
<var>AddHandler</var> - add a control handler of the nominated type, using the specified method</short>
6224
<short>Adds an notification handler.</short>
6225
<descr>Notification handlers allow to notify other components of certain events.
6226
When the registered event occurs, all installed (added) handlers are invoked.
6583
<!-- argument Visibility: default -->
6584
6229
<element name="TControl.AddHandler.HandlerType">
6230
<short>Type of the event.</short>
6587
<!-- argument Visibility: default -->
6588
6232
<element name="TControl.AddHandler.AMethod">
6233
<short>The handler to be added.</short>
6591
<!-- argument Visibility: default -->
6592
<element name="TControl.AddHandler.AsLast">
6235
<element name="TControl.AddHandler.AsFirst">
6236
<short>Unused.</short>
6237
<notes><note>If true, the handler is added before all installed handlers?</note>
6595
6240
<!-- procedure Visibility: protected -->
6596
6241
<element name="TControl.RemoveHandler">
6598
<var>RemoveHandler</var> - remove a control handler of the nominated type, using the specified method</short>
6242
<short>Removes the given notification handler.</short>
6244
<link id="TControl.AddHandler"/>
6603
<!-- argument Visibility: default -->
6604
6247
<element name="TControl.RemoveHandler.HandlerType">
6248
<short>Type of the notification.</short>
6607
<!-- argument Visibility: default -->
6608
6250
<element name="TControl.RemoveHandler.AMethod">
6251
<short>The handler to be removed.</short>
6253
<!-- procedure Visibility: protected -->
6254
<element name="TControl.DoCallNotifyHandler">
6255
<short>Invokes all notification handlers of the specified type.</short>
6260
<element name="TControl.DoCallNotifyHandler.HandlerType">
6261
<short>The event that has occured.</short>
6611
6263
<!-- procedure Visibility: protected -->
6612
6264
<element name="TControl.DoContextPopup">
6614
<var>DoContextPopup</var> - perform the action to display a context-sensitive popup window, at the specified mouse position</short>
6265
<short>Invokes the OnContextPopup handler.</short>
6619
<!-- argument Visibility: default -->
6620
6269
<element name="TControl.DoContextPopup.MousePos">
6270
<short>Mouse position, used to place the menu.</short>
6623
<!-- argument Visibility: default -->
6624
6272
<element name="TControl.DoContextPopup.Handled">
6273
<short>To be set by the handler, when it has handled the menu display and selection.</short>
6275
<!-- procedure Visibility: public -->
6276
<element name="TControl.SetZOrder">
6277
<short>Moves the control in front or back of all sibling controls.</short>
6282
<element name="TControl.SetZOrder.TopMost">
6285
<!-- function Visibility: public -->
6286
<element name="TControl.GetControlClassDefaultSize">
6287
<short>Returns the default size for this class of controls (when added to a form).</short>
6289
<element name="TControl.GetControlClassDefaultSize.Result">
6292
<!-- function Visibility: public -->
6293
<element link="TControl.Color" name="TControl.ColorIsStored"/>
6294
<element name="TControl.ColorIsStored.Result">
6627
6297
<!-- function Visibility: protected -->
6628
6298
<element name="TControl.GetActionLinkClass">
6630
<var>GetActionLinkClass</var> - returns the class of the action link</short>
6299
<short>The default ActionLink class (TControlActionLink).</short>
6300
<descr>Used when the control is linked to an Action.</descr>
6635
<!-- function result Visibility: default -->
6636
6304
<element name="TControl.GetActionLinkClass.Result">
6639
6307
<!-- procedure Visibility: protected -->
6640
6308
<element name="TControl.ActionChange">
6642
<var>ActionChange</var> - method for changing an action</short>
6309
<short>Handler for a changed Action.</short>
6310
<descr>Several properties are copied from the new Action.</descr>
6647
<!-- argument Visibility: default -->
6648
6312
<element name="TControl.ActionChange.Sender">
6313
<short>The changed Action.</short>
6651
<!-- argument Visibility: default -->
6652
6315
<element name="TControl.ActionChange.CheckDefaults">
6655
<!-- property Visibility: protected -->
6656
<element name="TControl.ActionLink">
6657
<short>Link to the default action associated with this control</short>
6659
<!-- property Visibility: protected -->
6660
<element name="TControl.AutoSize">
6661
<short>Whether auto-size is to be used</short>
6663
<p>// standard properties, which should be supported by all descendants</p>
6664
<p>AutoSize permits the size of a control to be adjusted automatically, for example a button can become bigger or smaller to accommodate a longer or shorter caption.</p>
6665
<p>Reads logical (boolean) flag to see whether auto-sizing is to be operated, or writes the flag to say it should be done. Default is false, ie no auto-sizing</p>
6668
<link id="#lcl.Controls.Autosize">Autosize topic</link>
6671
<!-- property Visibility: protected -->
6672
<element name="TControl.Ctl3D">
6674
<var>Ctl3D</var> - retained for Delphi compatibility; even there it is deprecated</short>
6678
<!-- property Visibility: protected -->
6679
<element name="TControl.DragCursor">
6681
<var>DragCursor </var>- the style of cursor to be used during the Drag process</short>
6682
<descr>Default is crDrag. When no drop is allowed, the cursor changes temporarily to crNoDrop.</descr>
6684
<!-- property Visibility: protected -->
6685
<element name="TControl.DragKind">
6687
<var>DragKind</var> - what sort of dragging? Drag or Dock</short>
6688
<descr>Set to dkDrag to allow for drag-drop, or to dkDock to allow for drag-dock.</descr>
6691
<!-- property Visibility: protected -->
6692
<element name="TControl.DragMode">
6694
<var>DragMode </var>- whether manual or automatic</short>
6696
<p>Default is dmManual, meaning that dragging must be started in code.</p>
6697
<p>Set to dmAutomatic to allow the user to drag this control. In this mode dragging can start immediately (on left mouse button press) or delayed, after the mouse has been moved away by a number of pixels (Threshold).</p>
6700
<link id="TDragManager.DragImmediate"/>
6703
<!-- property Visibility: protected -->
6704
<element name="TControl.MouseCapture">
6705
<short>Are mouse messages captured by this control?</short>
6707
<p>Mouse messages can be sent to a capturing control. This occurs automatically when a control is dragged. In normal operation all mouse messages are sent to the control under the mouse pointer.</p>
6708
<p>Applications should capture mouse events only for special purposes, and release the capture as soon as a the target position has been determined. Limited user feedback is possible while the mouse is captured, but not all application controls will work properly so long.</p>
6712
<!-- property Visibility: protected -->
6713
<element name="TControl.ParentFont">
6715
<var>ParentFont </var>
6716
- should the control use the same font as the parent? Default is true</short>
6718
<!-- property Visibility: protected -->
6719
<element name="TControl.ParentColor">
6721
<var>ParentColor</var>
6722
- should the control have the same colour as the parent? Default is true</short>
6724
<!-- property Visibility: protected -->
6725
<element name="TControl.ParentShowHint">
6727
<var>ParentShowHint </var>
6728
- does the control adopt the same hinting behaviour as its parent? Default is true</short>
6730
<!-- property Visibility: protected -->
6731
<element name="TControl.SessionProperties">
6732
<short>The stored (saved) properties of the current session, expressed as a string</short>
6736
<!-- property Visibility: protected -->
6737
<element name="TControl.Text">
6740
- the character string in the name or caption of the control</short>
6744
- the character string in the name or caption of the control</p>
6745
<p>But BEWARE: <var>Text</var> is used in another context in editing controls such as <link id="#lcl.StdCtrls.TEdit">TEdit</link> and <link id="#lcl.StdCtrls.TCustomEdit">TCustomEdit</link>, <link id="#lcl.ExtCtrls.TLabeledEdit">TLabeledEdit</link> and <link id="#lcl.ExtCtrls.TCustomLabeledEdit">TCustomLabeledEdit</link>, where it contains the character string that is being edited in the Edit Box.</p>
6748
<!-- property Visibility: protected -->
6749
<element name="TControl.OnConstrainedResize">
6750
<short>Event Handler for constrained resize</short>
6752
<p>Event handler needs to be supplied to cover the need to resize a control within the given constraints of maximum and minimum width and height</p>
6755
<!-- property Visibility: protected -->
6756
<element name="TControl.OnContextPopup">
6757
<short>Event handler to supply information when a context-sensitive pop-up menu is required</short>
6759
<!-- property Visibility: protected -->
6760
<element name="TControl.OnDblClick">
6761
<short>Event Handle for mouse double-click</short>
6763
<p>Double-clicking is much more common in a Windows environment than in Unix or Linux, where single-clicking is the default method for selecting an object. However, in all environments there could be valid use for a double-click, and a method should be supplied if appropriate.</p>
6766
<!-- property Visibility: protected -->
6767
<element name="TControl.OnTripleClick">
6768
<short>Event handler for mouse triple-click</short>
6770
<!-- property Visibility: protected -->
6771
<element name="TControl.OnQuadClick">
6772
<short>Event handler for quadruple click</short>
6774
<!-- property Visibility: protected -->
6775
<element name="TControl.OnDragDrop">
6776
<short>Event handler for the drop of a control onto this control.</short>
6778
<p>The handler determines what shall happen when another control is dropped onto this (Sender) control.</p>
6779
<p>Sender is the target control onto which the Source control is dropped.</p>
6780
<p>X and Y are the client coordinates of the drop.</p>
6783
<link id="TControl.DragDrop"/>
6786
<!-- property Visibility: protected -->
6787
<element name="TControl.OnDragOver">
6788
<short>Event handler for the case when a control is dragged over another control</short>
6790
<!-- property Visibility: protected -->
6791
<element name="TControl.OnEndDock">
6792
<short>Event handler for the end of a docking operation</short>
6794
<p>This message is sent to the dragged control.</p>
6795
<p>Sender is the control to be docked.</p>
6796
<p>Target is the control into which the Sender is docked, or Nil when dragging has been aborted.</p>
6797
<p>X and Y are the screen coordinates of the drop.</p>
6800
<!-- property Visibility: protected -->
6801
<element name="TControl.OnEndDrag">
6802
<short>Event handler for the end of a dragging process</short>
6804
<p>This message is sent to the dragged control.</p>
6805
<p>Sender is the dragged control.</p>
6806
<p>Target is the control onto which the Sender has been dropped, or Nil when dragging has been aborted.</p>
6807
<p>X and Y are the screen coordinates of the drop.</p>
6810
<link id="TDragDropEvent"/>
6813
<!-- property Visibility: protected -->
6814
<element name="TControl.OnMouseDown">
6815
<short>Event handler for when a mouse button is pressed down</short>
6817
<!-- property Visibility: protected -->
6818
<element name="TControl.OnMouseMove">
6819
<short>Event handler for mouse movement within the current control</short>
6821
<!-- property Visibility: protected -->
6822
<element name="TControl.OnMouseUp">
6823
<short>Event handler for when the mouse button is released, ie "up"</short>
6825
<!-- property Visibility: protected -->
6826
<element name="TControl.OnMouseEnter">
6827
<short>Event handler for when the mouse enters the area of the current control</short>
6829
<!-- property Visibility: protected -->
6830
<element name="TControl.OnMouseLeave">
6831
<short>Event handler for when the mouse leaves the area of the current control</short>
6833
<!-- property Visibility: protected -->
6834
<element name="TControl.OnStartDock">
6835
<short>Event handler for the start of a docking operation</short>
6837
<p>The handler can provide a special DragDock object, otherwise a default object is created.</p>
6840
<!-- property Visibility: protected -->
6841
<element name="TControl.OnStartDrag">
6842
<short>Event handler for start of dragging operation</short>
6844
<p>The handler can provide a special DragControl object, otherwise a default object is created.</p>
6847
<!-- property Visibility: protected -->
6848
<element name="TControl.OnEditingDone">
6849
<short>Event handler when editing is done</short>
6851
<!-- variable Visibility: public -->
6852
<element name="TControl.FCompStyle">
6854
<var>FCompStyle</var>
6855
- deprecated</short>
6857
<pre>// DEPRECATED. Enables (valid) use of 'IN' operator (this
6858
// is a hack for speed. It will be replaced by the use of the widgetset
6860
// So, don't use it anymore.
6316
<short>When True, forces update of all properties. Otherwise only properties in default state are overwritten.</short>
6864
6318
<!-- procedure Visibility: public -->
6865
6319
<element name="TControl.DragDrop">
6866
<short>Invokes the OnDragDrop handler, when the control is dropped</short>
6320
<short>Invokes the OnDragDrop handler, when a dragged object is dropped onto this control.</short>
6868
6322
<link id="TControl.OnDragDrop"/>
6871
<!-- argument Visibility: default -->
6872
6325
<element name="TControl.DragDrop.Source">
6873
<short>The object to be dragged and dropped</short>
6326
<short>The dropped object (control or DragDrop object)</short>
6875
<!-- argument Visibility: default -->
6876
6328
<element name="TControl.DragDrop.X">
6877
<short>The X co-ordinate to which the object is to be dropped (target)</short>
6329
<short>The drop position in client coordinates.</short>
6879
<!-- argument Visibility: default -->
6880
6331
<element name="TControl.DragDrop.Y">
6881
<short>The Y co-ordinate to which the object is to be dropped (target)</short>
6332
<short>The drop position in client coordinates.</short>
6883
6334
<!-- procedure Visibility: public -->
6884
6335
<element name="TControl.Dock">
6885
<short>Move the control into a new docksite.</short>
6336
<short>Moves the control into a new docksite.</short>
6887
<p>Removes the control from the DockClients of the old docksite, and adds it to the DockClients of the new docksite. Adjusts the position and extent for the new docksite, then calls the DoAdd/RemoveDockClient methods of the old and new docksite.</p>
6888
<p>Performs checks that there is already a valid host control to which the present control is to be docked, removes old controls from the list of docked controls and adds the new control to the list, then calls <link id="TControl.DoDock">DoDock</link> to position the control.</p>
6338
<p>Calls <link id="TControl.DoDock">DoDock</link> to prepare for the new position of the control,
6339
when docked into an unmanaged or floating docksite.</p>
6340
<p>When the old and new docksites are different,
6341
the control is removed from the DockClients of the old docksite, and added to the DockClients of the new docksite;
6342
afterwards the docksites are notified by calling their DoAddDockClient and DoRemoveDockClient methods, to adjust the control's Parent.</p>
6890
6344
<errors>An exception is raised if there is already a docking process in progress for this control</errors>
6892
<!-- argument Visibility: default -->
6893
6346
<element name="TControl.Dock.NewDockSite">
6894
<short>The host control to which which the current control is to be docked</short>
6347
<short>The host site into which which the control is to be docked, Nil for floating.</short>
6896
<!-- argument Visibility: default -->
6897
6349
<element name="TControl.Dock.ARect">
6898
<short>The position at which the control is to be docked</short>
6350
<short>The control's new Bounds, in screen coordinates when NewDockSite is Nil, else in client coordinates of NewDockSite.
6900
6353
<!-- function Visibility: public -->
6901
6354
<element name="TControl.ManualDock">
6902
6355
<short>Docks a control programmatically.</short>
6904
<p>Docks this control into NewDockSite, relative to DropControl. When NewDockSite is Nil, the control becomes floating.</p>
6905
<p>When the new docksite uses an DockManager, and DropControl is not Nil, the control will be docked relative to DropControl, as specified by ControlSide. The interpretation of ControlSide depends on the DockManager of NewDockSite, or on the OnDockDrop handler in an unmanaged docksite. A tree docking manager (TDockTree) should interpret alCustom as NoteBook docking, i.e. a tabbed notebook is created in place of DropControl, and both DropControl and this control are docked into pages of this notebook.
6357
<p>Docks this control into NewDockSite, relative to DropControl.
6358
When NewDockSite is Nil, the control becomes floating.
6360
<p>When the new docksite uses an DockManager, and DropControl is not Nil,
6361
the control will be docked relative to DropControl,
6362
as specified by ControlSide.
6364
<p>The interpretation of ControlSide depends on the DockManager of NewDockSite,
6365
or on the OnDockDrop handler in an unmanaged docksite.
6367
<p>A tree docking manager (TDockTree) should interpret alCustom as NoteBook docking,
6368
i.e. a tabbed notebook is created in place of DropControl,
6369
and both DropControl and this control are docked into pages of this notebook.
6909
<!-- function result Visibility: default -->
6910
6373
<element name="TControl.ManualDock.Result">
6911
<short>The function returns True if a manual dock has been successfully performed</short>
6374
<short>True if successfully docked.</short>
6913
<!-- argument Visibility: default -->
6914
6376
<element name="TControl.ManualDock.NewDockSite">
6915
<short>The new site to which the control is docked, if DropControl has been found to be <b>nil</b>
6377
<short>The site into which the control is docked; Nil to make it float.</short>
6918
<!-- argument Visibility: default -->
6919
6379
<element name="TControl.ManualDock.DropControl">
6920
<short>If <b>nil</b> (default) then ignored else used as the control for docking, on side specified by ControlSide</short>
6380
<short>The sibling relative to which the control is inserted; can be Nil.
6922
<!-- argument Visibility: default -->
6923
6383
<element name="TControl.ManualDock.ControlSide">
6924
<short>The side on which the control is to be docked, if DropControl is not <b>nil</b>
6384
<short>The side of DropControl on which the control is to be docked.
6387
<element name="TControl.ManualDock.KeepDockSiteSize">
6389
<notes><note>?</note>
6927
6392
<!-- function Visibility: public -->
6928
6393
<element name="TControl.ManualFloat">
6929
6394
<short>Undocks the control into floating state.</short>
6930
<descr>TWinControls float for themselves, for TControls a floating dock site is created, and the control is docked into it.
6395
<descr>TWinControls float for themselves,
6396
for TControls a floating host dock site is created, and the control is docked into it.
6933
<!-- function result Visibility: default -->
6934
6399
<element name="TControl.ManualFloat.Result">
6935
<short>The function returns True if a manual float has been succesfully performed</short>
6400
<short>True if succesfully floated.</short>
6937
<!-- argument Visibility: default -->
6938
6402
<element name="TControl.ManualFloat.TheScreenRect">
6939
<short>The rectangle within which the floating control is located</short>
6940
<descr>The rectangle within which the floating control is located <br/>(ie the location of the floating dock site to which the control is docked)</descr>
6403
<short>The screen area where the floating control is moved; the client area of a float host site.</short>
6405
<element name="TControl.ManualFloat.KeepDockSiteSize">
6407
<notes><note>?</note>
6942
6410
<!-- function Visibility: public -->
6943
6411
<element name="TControl.ReplaceDockedControl">
6944
<short>Remove a previously docked control and put a new control in its place</short>
6412
<short>Replaces a previously docked control.</short>
6946
<p>This method works only when the control to replace resides in a managed docksite (using an DockManager), or is not docked at all. Even then exist situations where it won't work as expected, depending on the used DockManager and other subtle conditions.</p>
6947
<p>When the control to replace is docked, then it's replaced by this control; otherwise this control becomes floating (seems to be a design flaw).</p>
6948
<p>Finally the control to replace is docked into NewDockSite, according to DropControl and ControlSide (see
6949
<link id="TControl.ManualDock"/>).</p>
6950
<p>This method primarily exists for use by the DockManager itself, for NoteBook docking. It should not be used in application code.
6414
<p>This method exists for use by an DockManager, for NoteBook docking.
6415
It should not be used in application code.
6417
<p>Delphi has introduced another method DockReplaceDockClient,
6418
which is used when the replaced Control is in an unmanaged docksite.
6954
<link id="#lcl.Controls.TControl.ManualDock"/>
6422
<link id="TControl.ManualDock"/>
6957
<!-- function result Visibility: default -->
6958
6425
<element name="TControl.ReplaceDockedControl.Result">
6959
<short>Returns True if a docked control has been successfully replaced with a new one</short>
6426
<short>True if the docked control has been successfully replaced.</short>
6961
<!-- argument Visibility: default -->
6962
6428
<element name="TControl.ReplaceDockedControl.Control">
6963
<short>The old control that was previously docked at this site</short>
6429
<short>The control to be replaced, will be docked into NewDockSite.</short>
6965
<!-- argument Visibility: default -->
6966
6431
<element name="TControl.ReplaceDockedControl.NewDockSite">
6967
<short>The new site for docking; used if DropControl is <b>nil</b>
6432
<short>The new dock site for Control, typically a docking Notebook.
6970
<!-- argument Visibility: default -->
6971
6435
<element name="TControl.ReplaceDockedControl.DropControl">
6972
<short>The control site to be used for docking, unless it is <b>nil</b> when it is igored. Passed straight through as an argument to ManualDock</short>
6436
<short>The control to which Control is docked.</short>
6974
<!-- argument Visibility: default -->
6975
6438
<element name="TControl.ReplaceDockedControl.ControlSide">
6976
<short>The side to which the new control is to be aligned; passed straight through as an argument to ManualDock</short>
6439
<short>The side of DropControl, to which Control is docked.</short>
6978
6441
<!-- function Visibility: public -->
6979
6442
<element name="TControl.Dragging">
6980
6443
<short>Returns True if the control is being dragged</short>
6982
<!-- function result Visibility: default -->
6983
6445
<element name="TControl.Dragging.Result">
6984
6446
<short>Returns True if the control is being dragged</short>
6448
<!-- function Visibility: public -->
6449
<element name="TControl.GetAccessibleObject">
6450
<short>Returns True if the control is being dragged</short>
6452
<!-- function Visibility: public -->
6453
<element name="TControl.CreateAccessibleObject">
6454
<short>Creates the TLazAccessibleObject for this control. This method should just create the object and return it. It is useful for classes which desire to have a descendent of TLazAccessibleObject instead of the base class.</short>
6456
<link id="TLazAccessibleObject"/>
6457
<link id="TControl.GetAccessibleObject"/>
6460
<!-- function Visibility: public -->
6461
<element name="TControl.GetSelectedChildAccessibleObject">
6462
<short>Returns the currently selected child accessible object. This method is provided for controls which wish to override this behavior without sub-classing TLazAccessibleObject.</short>
6464
<link id="TLazAccessibleObject"/>
6465
<link id="TLazAccessibleObject.GetSelectedChildAccessibleObject"/>
6466
<link id="TControl.CreateAccessibleObject"/>
6467
<link id="TControl.GetAccessibleObject"/>
6470
<!-- function Visibility: public -->
6471
<element name="TControl.GetChildAccessibleObjectAtPos">
6472
<short>Returns the child object in a given position of the control given in client coordinates. This method is provided for controls which wish to override this behavior without sub-classing TLazAccessibleObject.</short>
6474
<link id="TLazAccessibleObject"/>
6475
<link id="TLazAccessibleObject.GetChildAccessibleObjectAtPos"/>
6476
<link id="TControl.CreateAccessibleObject"/>
6477
<link id="TControl.GetAccessibleObject"/>
6986
6480
<!-- procedure Visibility: public -->
6987
6481
<element name="TControl.AdjustSize">
6989
<var>AdjustSize</var> - Smart way to
6991
<var>DoAutoSize</var>
6482
<short>Smart way to <var>DoAutoSize</var>.
6995
<var>TControl.AdjustSize</var> calls
6997
<var>DoAutoSize</var> in a smart fashion.</p>
6485
<p>This method does the same as Delphi <var>TWinControl.DoAutoSize</var>.
6486
But since <var>DoAutoSize</var> is commonly overriden by descendant components, it is not useful to perform all tests, which can result in too much overhead.
6487
To reduce this the LCL calls <var>AdjustSize</var> instead.
6998
6489
<p>During loading and handle creation the calls are delayed.</p>
6999
<p>This method initially does the same as <var>TWinControl.DoAutoSize</var>. But since <var>DoAutoSize</var> is commonly overriden by descendant components, it is not useful to perform all tests, which can result in too much overhead. To reduce this the LCL calls <var>AdjustSize</var> instead.</p>
7002
6492
<link id="#lcl.Controls.AutoSize"/>
6494
<notes><note>?</note>
6497
<!-- function Visibility: public -->
6498
<element name="TControl.AutoSizePhases">
6503
<notes><note>?</note>
6506
<element name="TControl.AutoSizePhases.Result">
7005
6509
<!-- function Visibility: public -->
7006
6510
<element name="TControl.AutoSizeDelayed">
7007
<short>Auto-sizing has been delayed until some other process is complete</short>
6511
<short>Returns true if auto-sizing must be has been delayed, until some other process is complete.</short>
7009
<!-- function result Visibility: default -->
7010
6513
<element name="TControl.AutoSizeDelayed.Result">
7011
<short>Returns True if auto-sizing has been delayed</short>
6514
<short>True if auto-sizing has been delayed.</short>
6516
<!-- function Visibility: public -->
6517
<element name="TControl.AutoSizeCheckParent">
6522
<notes><note>?</note>
6525
<element name="TControl.AutoSizeCheckParent.Result">
7013
6528
<!-- procedure Visibility: public -->
7014
6529
<element name="TControl.AnchorToNeighbour">
7016
<var>AnchorToNeighbour</var>
7017
- anchoring instructions</short>
6530
<short>Anchor to Sibling at Side.
7019
<pre>{------------------------------------------------------------------------------
7020
procedure TControl.AnchorToNeighbour(Side: TAnchorKind; Space: integer;
7023
Setup AnchorSide to anchor one side to the side of a neighbour sibling.
7024
For example Right side to Left side, or Top side to Bottom.
7025
------------------------------------------------------------------------------}</pre>
6533
<p>Setup AnchorSide to anchor a side to the side of a neighbour sibling.
6534
For example Right side to Left side, or Top side to Bottom.</p>
7028
<!-- argument Visibility: default -->
7029
6537
<element name="TControl.AnchorToNeighbour.Side">
7030
<short>The side on which we should anchor</short>
6538
<short>The side to be anchored to Sibling.</short>
7032
<!-- argument Visibility: default -->
7033
6540
<element name="TControl.AnchorToNeighbour.Space">
7034
<short>The size of the space to be left around the control when anchoring</short>
6541
<short>The minimum space to Sibling.</short>
7036
<!-- argument Visibility: default -->
7037
6543
<element name="TControl.AnchorToNeighbour.Sibling">
7038
<short>The sibling control to which we should anchor</short>
6544
<short>The sibling control to which we should anchor.</short>
7040
6546
<!-- procedure Visibility: public -->
7041
6547
<element name="TControl.AnchorParallel">
7043
<var>AnchorParallel </var>
7044
- instructions for anchoring beside another control</short>
7047
<var>AnchorParallel </var>
7048
- instructions for anchoring beside another control</p>
7049
<p>Sibling - another control beside which the current control is to be anchored</p>
6548
<short>Anchor parallel to Sibling, at Side.
6551
<notes><note>?</note>
7052
<!-- argument Visibility: default -->
7053
6554
<element name="TControl.AnchorParallel.Side">
7054
<short>The side on which we should anchor to the sibling</short>
6555
<short>The side to anchor to the sibling.</short>
7056
<!-- argument Visibility: default -->
7057
6557
<element name="TControl.AnchorParallel.Space">
7058
<short>The size of the space to be left around the control when anchoring</short>
6558
<short>The minimum space to Sibling.</short>
7060
<!-- argument Visibility: default -->
7061
6560
<element name="TControl.AnchorParallel.Sibling">
7062
<short>The sibling control to which we should anchor in a parallel manner</short>
6561
<short>The sibling control to which we should anchor.</short>
7064
6563
<!-- procedure Visibility: public -->
7065
6564
<element name="TControl.AnchorHorizontalCenterTo">
7067
<var>AnchorHorizontal </var>
7068
- instructions for anchoring</short>
6565
<short>Setup AnchorSide to center the control horizontally relative to a sibling.
7070
<!-- argument Visibility: default -->
7071
6568
<element name="TControl.AnchorHorizontalCenterTo.Sibling">
7072
<short>Another control to which the current control is to be anchored, centred horizontally</short>
6569
<short>The sibling control to which we should anchor.</short>
7074
6571
<!-- procedure Visibility: public -->
7075
6572
<element name="TControl.AnchorVerticalCenterTo">
7077
<var>AnchorVertical </var>
7078
- instructions for anchoring</short>
6573
<short>Setup AnchorSide to center the control vertically relative to Sibling.
7080
<!-- argument Visibility: default -->
7081
6576
<element name="TControl.AnchorVerticalCenterTo.Sibling">
7082
<short>Another control to which the current control is to be anchored, centred vertically</short>
6577
<short>The sibling control to which we should anchor.</short>
6579
<!-- procedure Visibility: public -->
6580
<element name="TControl.AnchorToCompanion">
6581
<short>Anchor to Sibling at Side, with the same extent.
6583
<descr>Table or tree style anchoring, into a neighbour cell of Sibling.
6584
Obtain the row height (or column width) from Sibling.
6586
<notes><note>?</note>
6589
<element name="TControl.AnchorToCompanion.Side">
6590
<short>The side to anchor to the sibling.</short>
6592
<element name="TControl.AnchorToCompanion.Space">
6593
<short>The minimum space to Sibling.</short>
6595
<element name="TControl.AnchorToCompanion.Sibling">
6596
<short>The sibling control to which we should anchor.</short>
6598
<element name="TControl.AnchorToCompanion.FreeCompositeSide">
6600
<notes><note>?</note>
6603
<!-- procedure Visibility: public -->
6604
<element name="TControl.AnchorSame">
6605
<short>Copy Sibling's anchoring for Side.</short>
6610
<element name="TControl.AnchorSame.Side">
6611
<short>The side to anchor like the sibling does.</short>
6613
<element name="TControl.AnchorSame.Sibling">
6614
<short>The sibling control from which to inherit anchoring.</short>
6616
<!-- procedure Visibility: public -->
6617
<element name="TControl.AnchorAsAlign">
6618
<short>Anchor to Parent, following same rules as for Align.</short>
6623
<element name="TControl.AnchorAsAlign.TheAlign">
6626
<element name="TControl.AnchorAsAlign.Space">
6629
<!-- procedure Visibility: public -->
6630
<element name="TControl.AnchorClient">
6631
<short>Anchor to Parent's full client area.</short>
6636
<element name="TControl.AnchorClient.Space">
6637
<short>The around space.</short>
6639
<!-- function Visibility: public -->
6640
<element name="TControl.AnchoredControlCount">
6641
<short>The number of controls anchored to this one.</short>
6643
<element name="TControl.AnchoredControlCount.Result">
7084
6646
<!-- procedure Visibility: public -->
7085
6647
<element name="TControl.SetBounds">
7086
<short>Sets the bounds (top. left, height, width) of the control.</short>
7087
<descr>[What's the difference between BoundsRect and ClientRect?]
7088
Does nothing but call ChangeBounds.</descr>
6648
<short>Sets the bounds (left, top, height, width) of the control.</short>
6650
<p>SetBounds can be used to change the left, top, width, height all at once, reducing some overhead.
6652
<p>Use DisableAutoSize/EnableAutoSize to reduce recomputing/moving/resizing further.
6654
<p>SetBounds is called when the properties Left, Top, Width, Height, or BoundsRect is set.
6656
<p>SetBounds updates the BaseBounds and BaseParentClientSize, which are used by anchoring to keep the distance.
6657
For example loading a Form with TMemo and the lfm contains TMemo's Left and Width, then SetBounds is called two times for the memo.
6659
<p>When the user maximizes a window, SetBounds is called for the form, but not for the Memo, keeping the BaseBounds of the Memo.
6660
If the Memo is anchored to the right, the Width of the Memo is changed based on the BaseBounds and BaseParentClientSize.
6662
<p>Keep in mind that the given aLeft, aTop, aWidth, aHeight might not be valid and will be changed by the LCL before applied.
6664
<p>Delphi calls SetBounds more often. SetBounds calls ChangeBounds with KeepBase=false.
7090
<!-- argument Visibility: default -->
7091
6668
<element name="TControl.SetBounds.aLeft">
7092
<short>The X co-ordinate of the top left pixel of the control</short>
6669
<short>The X coordinate of the left side of the control.</short>
7094
<!-- argument Visibility: default -->
7095
6671
<element name="TControl.SetBounds.aTop">
7096
<short>The Y co-ordinate of the top left pixel of the control</short>
6672
<short>The Y coordinate of the top of the control</short>
7098
<!-- argument Visibility: default -->
7099
6674
<element name="TControl.SetBounds.aWidth">
7100
<short>The width of the control</short>
6675
<short>The width of the control.</short>
7102
<!-- argument Visibility: default -->
7103
6677
<element name="TControl.SetBounds.aHeight">
7104
<short>The height of the control</short>
6678
<short>The height of the control.</short>
7106
6680
<!-- procedure Visibility: public -->
7107
6681
<element name="TControl.SetInitialBounds">
7108
<short>Sets the bounds of the control initially, when it is created</short>
7109
<descr>Checks that this is a new control, then calls SetBounds to set up coordinates defining its position
6682
<short>Sets the bounds of the control initially, when it is created.</short>
6683
<descr>Does nothing while the control is loaded.
7112
6686
<link id="#lcl.Controls.TControl.SetBounds">SetBounds</link>
7115
<!-- argument Visibility: default -->
7116
6689
<element name="TControl.SetInitialBounds.aLeft">
7117
<short>X co-ordinate of top left pixel</short>
6690
<short>X coordinate of top left pixel</short>
7119
<!-- argument Visibility: default -->
7120
6692
<element name="TControl.SetInitialBounds.aTop">
7121
<short>Y co-ordinate of top left pixel</short>
6693
<short>Y coordinate of top left pixel</short>
7123
<!-- argument Visibility: default -->
7124
6695
<element name="TControl.SetInitialBounds.aWidth">
7125
6696
<short>Width of control</short>
7127
<!-- argument Visibility: default -->
7128
6698
<element name="TControl.SetInitialBounds.aHeight">
7129
6699
<short>Height of control</short>
7131
6701
<!-- procedure Visibility: public -->
7132
6702
<element name="TControl.SetBoundsKeepBase">
7133
6703
<short>Set the bounds, keeping the base values</short>
6704
<notes><note>?</note>
7135
<!-- argument Visibility: default -->
7136
6707
<element name="TControl.SetBoundsKeepBase.aLeft">
7139
<!-- argument Visibility: default -->
7140
6710
<element name="TControl.SetBoundsKeepBase.aTop">
7143
<!-- argument Visibility: default -->
7144
6713
<element name="TControl.SetBoundsKeepBase.aWidth">
7147
<!-- argument Visibility: default -->
7148
6716
<element name="TControl.SetBoundsKeepBase.aHeight">
7151
<!-- argument Visibility: default -->
7152
6719
<element name="TControl.SetBoundsKeepBase.Lock">
7155
6722
<!-- procedure Visibility: public -->
7156
6723
<element name="TControl.GetPreferredSize">
7157
<short>Returns default/preferred height and width, to be used in autosizing algorithms</short>
6724
<short>Returns default/preferred height and width, for use in autosizing.</short>
7160
<var>GetPreferredSize</var>
7161
- find default/preferred height and width</p>
7162
<pre>procedure TControl.GetPreferredSize
7163
(var PreferredWidth, PreferredHeight: integer;
7164
WithThemeSpace: Boolean);</pre>
7165
<p>Returns the default/preferred width and height for a control, which are used
7166
by the LCL autosizing algorithms as default size. Only positive values are
7167
valid. Negative or 0 are treated as undefined and the LCL uses other sizes
6726
<p>Called during AutoSize calculations. Only positive values are valid. Negative or 0 are treated as undefined and the LCL uses other sizes instead.</p>
7169
6727
<p>WithThemeSpace: If true, adds space for stacking.</p>
7170
6728
<p>For example: <var>TRadioButton</var> has a minimum size. But for stacking multiple TRadioButtons there should be
7171
some space around. This space is theme dependent, so the parameter is passes to the widgetset</p>
6729
some space around. This space is theme dependent, so the parameter is passed to the widgetset</p>
7173
<var>TWinControl</var>
7174
overrides this and asks the interface for theme dependent values.
7183
<link id="#lcl.Controls.TWinControl.CalculatePreferredSize">TWinControl.CalculatePreferredSize</link> for more information.</p>
6731
<var>TWinControl</var> overrides this and asks the interface for theme dependent values. See
6734
<link id="TWinControl.CalculatePreferredSize"/> for more information.</p>
6736
<notes><note>link?</note>
7186
<!-- argument Visibility: default -->
7187
6739
<element name="TControl.GetPreferredSize.PreferredWidth">
7190
<!-- argument Visibility: default -->
7191
6742
<element name="TControl.GetPreferredSize.PreferredHeight">
7194
<!-- argument Visibility: default -->
7195
6745
<element name="TControl.GetPreferredSize.Raw">
6746
<short>If False then the values will be adjusted by the constraints,
6747
and undefined values will be replaced by GetDefaultWidth/GetDefaultHeight.
6750
<element name="TControl.GetPreferredSize.WithThemeSpace">
6751
<short>If true, adds space for stacking.</short>
6753
<!-- function Visibility: public -->
6754
<element name="TControl.GetDefaultWidth">
6755
<short>The default width for this control,
6756
independent of any calculated values like Width and GetPreferredSize.
6759
<element name="TControl.GetDefaultWidth.Result">
6762
<!-- function Visibility: public -->
6763
<element name="TControl.GetDefaultHeight">
6764
<short>The default height for this control,
6765
independent of any calculated values like Height and GetPreferredSize.
6768
<element name="TControl.GetDefaultHeight.Result">
6771
<!-- function Visibility: public -->
6772
<element name="TControl.GetDefaultColor">
6773
<short>Get the default color for this widget, from Parent or color type.</short>
6777
<link id="TControl.Color"/>
6778
<link id="TControl.ParentColor"/>
6779
<link id="TControl.GetColorResolvingParent"/>
6780
<link id="TControl.GetRGBColorResolvingParent"/>
6783
<element name="TControl.GetDefaultColor.Result">
6786
<element name="TControl.GetDefaultColor.DefaultColorType">
6787
<short>The color type to use, as the last resort.</short>
6789
<!-- function Visibility: public -->
6790
<element name="TControl.GetColorResolvingParent">
6791
<short>Returns the color of the control while resolving clDefault and ParentColor</short>
6792
<descr>This convenience routine will allow to obtain the Color of the control while resolving clDefault.
6793
It will never return clDefault, but it might return non-RGB color. To obtain a purely RGB result
6794
use GetRGBColorResolvingParent.</descr>
6796
<link id="TControl.Color"/>
6797
<link id="TControl.GetDefaultColor"/>
6798
<link id="TControl.ParentColor"/>
6799
<link id="TControl.GetRGBColorResolvingParent"/>
6802
<!-- function Visibility: public -->
6803
<element name="TControl.GetRGBColorResolvingParent">
6804
<short>Returns a RGB value for the color of the control</short>
6805
<descr>This convenience routine will allow to obtain the Color of the control while resolving clDefault,
6806
ParentColor and system color indexes and returns a RGB TColor.</descr>
6808
<link id="TControl.Color"/>
6809
<link id="TControl.GetDefaultColor"/>
6810
<link id="TControl.ParentColor"/>
6811
<link id="TControl.GetColorResolvingParent"/>
6814
<!-- function Visibility: public -->
6815
<element name="TControl.GetSidePosition">
6816
<short>The client coordinate of the given side.</short>
6818
<element name="TControl.GetSidePosition.Result">
6821
<element name="TControl.GetSidePosition.Side">
6824
<!-- procedure Visibility: public -->
6825
<element name="TControl.CNPreferredSizeChanged">
6826
<short>Message handler for preferred size changed.</short>
7198
6828
<!-- procedure Visibility: public -->
7199
6829
<element name="TControl.InvalidatePreferredSize">
7200
6830
<short>Mark the preferred size no longer valid, for this control and all parents (implies that we will look for another).</short>
6832
<!-- function Visibility: public -->
6833
<element name="TControl.GetAnchorsDependingOnParent">
6834
<short>Returns the sides which are anchored to the Parent.</short>
6836
<element name="TControl.GetAnchorsDependingOnParent.Result">
6839
<element name="TControl.GetAnchorsDependingOnParent.WithNormalAnchors">
6841
<notes><note>?</note>
6844
<!-- procedure Visibility: public -->
6845
<element name="TControl.DisableAutoSizing">
6846
<short>Turn off automatic sizing - implies that default is accepted or sizing is done manually</short>
6848
<!-- procedure Visibility: public -->
6849
<element name="TControl.EnableAutoSizing">
6850
<short>Turns on (enables) automatic sizing</short>
6855
<!-- procedure Visibility: protected -->
6856
<element name="TControl.UpdateBaseBounds">
6857
<short>Update the basic boundaries of the control - essential if there has been a lot of re-sizing.</short>
6859
<element name="TControl.UpdateBaseBounds.StoreBounds">
6862
<element name="TControl.UpdateBaseBounds.StoreParentClientSize">
6865
<element name="TControl.UpdateBaseBounds.UseLoadedValues">
6867
<notes><note>?</note>
6870
<!-- procedure Visibility: public -->
6871
<element name="TControl.WriteLayoutDebugReport">
6872
<short>Used for debugging.</short>
6874
<element name="TControl.WriteLayoutDebugReport.Prefix">
7202
6877
<!-- constructor Visibility: public -->
7203
<element name="TControl.Create">
7207
a new Control - Constructor. Overrides constructors of ancestor classes and sets a number of defaults. Often overridden by descendant classes.</p>
7208
<p>Defaults set by the Constructor include ControlStyle, Constraints, BorderSpacing, Anchoring, alignment, CaptureMouseBottons, Color, Visibility, Hinting, Cursor, Font, The WindowProcedure to be used, the Help type, the FloatingDockSite and Enabled properties</p>
7211
<link id="#rtl.Classes.TComponent.Create">TComponent.Create</link>
7212
<link id="#LCL.LCLClasses.TLCLComponent.Create">TLCLComponent.Create</link>
7215
<var>Create</var> - constructor for
7222
<var>TControl </var>and derived classes: calls inherited
7229
<var>Create</var> and sets a number of defaults</short>
7231
<!-- argument Visibility: default -->
6878
<element name="TControl.Create"/>
7232
6879
<element name="TControl.Create.TheOwner">
6880
<short>The owning component.</short>
7235
6882
<!-- destructor Visibility: public -->
7236
6883
<element name="TControl.Destroy">
6884
<short>Removes the control from its Parent.</short>
7239
<var>Destructor</var>
7240
for Control. Detaches control from parents, removes graphics, frees memory and Operating System handles, pointers etc.</p>
7241
<p>Overrides destructors of ancestor classes, and in turn may be overridden by descendant classes.</p>
6886
<p>Detaches the control from Parent, removes graphics, frees memory and Operating System handles, pointers etc.</p>
7244
6889
<link id="#rtl.Classes.TComponent.Destroy">TComponent.Destroy</link>
7245
6890
<link id="#LCL.LCLClasses.TLCLComponent.Destroy">TLCLComponent.Destroy</link>
7248
<var>Destroy</var> - Destructor for
7255
<var>TControl</var>. Detaches control from parents, removes graphics, frees memory and Operating System handles, pointers etc</short>
7257
6893
<!-- procedure Visibility: public -->
7258
6894
<element name="TControl.EditingDone">
7260
<var>EditingDone</var> - what to do when you have finished editing; calls the
7267
<var>OnEditingDone</var> event handler if assigned</short>
6895
<short>Invokes the <var>OnEditingDone</var> event handler.</short>
7270
<var>TControl.EditingDone</var>
7272
6897
<p>Called when user has finished editing. This procedure can be used by data links to commit the changes.</p>
7273
6898
<p>For example:</p>
7275
<li>When focus switches to another control (default)</li>
7276
<li>When user selected another item</li>
6900
<li>When focus switches to another control (default).</li>
6901
<li>When user selected another item.</li>
7278
6903
<p>It's totally up to the control, what events will commit.</p>
7281
6906
<!-- procedure Visibility: public -->
7282
6907
<element name="TControl.ExecuteDefaultAction">
7283
<short>What to do when the RETURN button is pressed, signifying default action</short>
6908
<short>Called when the RETURN button is pressed, signifying default action.</short>
7288
6913
<!-- procedure Visibility: public -->
7289
6914
<element name="TControl.ExecuteCancelAction">
7290
<short>What to do when ESCAPE is hit (or the CANCEL button is selected) - signifying CANCEL</short>
6915
<short>Called when ESCAPE is hit or the CANCEL button is clicked - signifying CANCEL.</short>
7295
6920
<!-- procedure Visibility: public -->
7296
<element name="TControl.BeginDrag"/>
7297
<!-- argument Visibility: default -->
6921
<element name="TControl.BeginDrag">
6922
<short>Starts dragging the control (programmatically).</short>
7298
6927
<element name="TControl.BeginDrag.Immediate">
7299
<short>If True, start dragging right now.</short>
6928
<short>If False, start dragging only after the mouse has moved.</short>
7301
<!-- argument Visibility: default -->
7302
6930
<element name="TControl.BeginDrag.Threshold">
7303
<short>Minimum movement of cursor before dragging starts (in pixels); ignored if Immediate=True.</short>
7305
<!-- procedure Visibility: public -->
7306
<element name="TControl.BeginDrag">
7308
<var>BeginDrag</var> - starts the dragging of a control. In this version BringToFront applies</short>
7313
<!-- argument Visibility: default -->
7314
<element name="TControl.BeginDrag.Immediate">
7315
<short>If False, start drag only after the cursor has moved.</short>
6931
<short>Minimum mouse movement before delayed dragging starts (in pixels); -1 means DragManager default; ignored if Immediate=True.</short>
7317
6933
<!-- procedure Visibility: public -->
7318
6934
<element name="TControl.BringToFront">
7319
<short>Bring the control to the front of the viewed screen</short>
7321
<!-- function Visibility: public -->
7322
<element name="TControl.ColorIsStored">
7323
<short>Returns True if Colour is stored</short>
7325
<!-- function result Visibility: default -->
7326
<element name="TControl.ColorIsStored.Result">
7327
<short>Function returns True if colour has been stored</short>
6935
<short>Bring the control in front of all sibling controls.</short>
7329
6937
<!-- function Visibility: public -->
7330
6938
<element name="TControl.HasParent">
7332
<var>HasParent</var> - returns True if there is a parent component responsible for streaming</short>
6939
<short>Returns True if there is a parent component responsible for streaming</short>
7335
<var>HasParent</var> - returns True if there is a parent component responsible for streaming</p>
7336
6941
<p>This function will be called during streaming to decide if a component has to be streamed by its owner or parent</p>
7339
6944
<link id="#rtl.Classes.TComponent.HasParent">TComponent.HasParent</link>
7342
<!-- function result Visibility: default -->
7343
6947
<element name="TControl.HasParent.Result">
7344
<short>Function returns True if there is a parent</short>
6948
<short>True if there is a Parent.</short>
6950
<!-- function Visibility: public -->
6951
<element name="TControl.GetParentComponent">
6952
<short>Returns Parent (implements TComponent.GetParentComponent).</short>
6954
<element name="TControl.GetParentComponent.Result">
6955
<short>The Parent property.</short>
7346
6957
<!-- function Visibility: public -->
7347
6958
<element name="TControl.IsParentOf">
7348
<short>This control is the parent of another (specified) control</short>
7350
<p>This control is the parent of another control.</p>
7351
<p>AControl: the control of which this is a parent.</p>
7352
<p>Result: true if this is a parent</p>
6959
<short>Determines whether this control is a parent of AControl.</short>
6960
<descr>The recursive search in all Parents of AControl finds not only immediate parent/child controls.
7355
<!-- function result Visibility: default -->
7356
6963
<element name="TControl.IsParentOf.Result">
7357
<short>Function returns True if this control is a parent, ie there is a child control</short>
6964
<short>True if this control is a parent of AControl.</short>
7359
<!-- argument Visibility: default -->
7360
6966
<element name="TControl.IsParentOf.AControl">
7361
<short>The control of which this control is a parent (ie the Child control)</short>
6967
<short>The control of which this control may be a parent.</short>
6969
<!-- function Visibility: public -->
6970
<element name="TControl.GetTopParent">
6971
<short>Find which control is the top parent (which has no further parent itself).</short>
6976
<element name="TControl.GetTopParent.Result">
7363
6979
<!-- function Visibility: public -->
7364
6980
<element name="TControl.IsVisible">
7365
<short>Returns True if the control is visible on the current desktop</short>
6981
<short>Returns True if the control is visible, including all of its Parents.</short>
6983
<link id="TControl.Visible"/>
7367
<!-- function result Visibility: default -->
7368
6986
<element name="TControl.IsVisible.Result">
7369
<short>Function returns True is control is visible</short>
6987
<short>True only if all Parents also are visible.</short>
6989
<!-- function Visibility: public -->
6990
<element name="TControl.IsControlVisible">
6991
<short>True if the control is Visible, or is in design mode.</short>
6993
<p>Does not check for invisible parents.</p>
6997
<link id="TControl.Visible"/>
7000
<element name="TControl.IsControlVisible.Result">
7003
<!-- function Visibility: public -->
7004
<element name="TControl.IsEnabled">
7005
<short>Returns True if the control is Enabled, including all of its Parents.</short>
7007
<element name="TControl.IsEnabled.Result">
7008
<short>True only if all Parents also are enabled.</short>
7010
<!-- function Visibility: public -->
7011
<element link="TControl.ParentShowHint" name="TControl.IsParentShowHint">
7012
<short>Public read access to the protected ParentShowHint property.</short>
7014
<element name="TControl.IsParentShowHint.Result">
7017
<!-- function Visibility: public -->
7018
<element name="TControl.FormIsUpdating">
7019
<short>True if the form is being updated</short>
7024
<element name="TControl.FormIsUpdating.Result">
7027
<!-- function Visibility: public -->
7028
<element name="TControl.IsProcessingPaintMsg">
7029
<short>True while painting the control.</short>
7030
<descr>As the name says,
7031
the cfProcessingWMPaint flag in FControlFlags is set while a LM_PAINT message is processed,
7032
and IsProcessingPaintMsg checks this flag.
7035
<element name="TControl.IsProcessingPaintMsg.Result">
7371
7038
<!-- procedure Visibility: public -->
7372
7039
<element name="TControl.Hide">
7374
<var>Hide </var>this control</short>
7040
<short>Hides this control, by setting Visible to False.</short>
7376
7042
<link id="#lcl.Controls.TControl.Visible"/>
7377
7043
<link id="#lcl.Controls.TControl.Show"/>
7380
7046
<!-- procedure Visibility: public -->
7381
<element name="TControl.Refresh">
7383
<var>Refresh</var> the data on this control</short>
7047
<element link="TControl.Repaint" name="TControl.Refresh"/>
7385
7048
<!-- procedure Visibility: public -->
7386
7049
<element name="TControl.Repaint">
7388
<var>Repaint</var> the control, ie refill its canvas</short>
7050
<short>Immediate redraw of the control, bypassing the message queue.</short>
7390
7052
<!-- procedure Visibility: public -->
7391
7053
<element name="TControl.Invalidate">
7392
<short>Render this control non-valid</short>
7394
<!-- procedure Visibility: public -->
7395
<element name="TControl.AddControl">
7054
<short>Force a delayed Repaint of the control, by marking its visible area of the control as invalid.</short>
7401
7056
<!-- function Visibility: public -->
7402
7057
<element name="TControl.CheckChildClassAllowed">
7403
<short>Function checks whether a particular child class is allowed</short>
7058
<short>Returns True if the class is allowed for child controls.</short>
7059
<descr>Only few controls restrict the class of acceptable child controls.
7060
E.g. a PageControl only accepts TTabSheet descendants as children.
7062
<errors>An EInvalidOperation can be generated (see ExceptionOnInvalid).
7405
<!-- function result Visibility: default -->
7406
7065
<element name="TControl.CheckChildClassAllowed.Result">
7407
<short>Function returns True if child class has been checked and is allowed</short>
7066
<short>True if the class is allowed for child controls.</short>
7409
<!-- argument Visibility: default -->
7410
7068
<element name="TControl.CheckChildClassAllowed.ChildClass">
7411
<short>The child class which is being checked to see whether it is allowed</short>
7069
<short>The class of the intended child control.</short>
7413
<!-- argument Visibility: default -->
7414
7071
<element name="TControl.CheckChildClassAllowed.ExceptionOnInvalid">
7415
<short>Boolean set to True if a non-valid class is found and an exception has been raised</short>
7072
<short>When True, raise an exception when the class is not allowed.</short>
7417
7074
<!-- procedure Visibility: public -->
7418
7075
<element name="TControl.CheckNewParent">
7419
<short>Checks a new parent for this control</short>
7076
<short>Checks if this control can become a child of AParent.</short>
7077
<descr>This check is performed during SetParent.
7078
It calls CheckChildClassAllowed and whether AParent=Self.
7080
<errors>An EInvalidOperation occurs when any test fails.
7421
<!-- argument Visibility: default -->
7422
7083
<element name="TControl.CheckNewParent.AParent">
7423
<short>The new parent associated with this control</short>
7084
<short>The new Parent for this control.</short>
7425
7086
<!-- procedure Visibility: public -->
7426
7087
<element name="TControl.SendToBack">
7427
<short>Send to back, ie place this control behind all other controls in the current screen; it will not be visible unless the controls in front are transparent</short>
7088
<short>Moves all sibling controls in front of this control.
7091
<p>Use SendToBack to supply an specific background (image) for the Parent control.
7093
<p>Only those portions of the control will be visible,
7094
which are not covered by other controls.
7429
7098
<!-- procedure Visibility: public -->
7430
7099
<element name="TControl.SetTempCursor">
7432
<var>SetTempCursor</var> - set a temporary cursor</short>
7100
<short>Change the cursor shape temporarily,
7101
preserving the stored <link id="TControl.Cursor"/>.
7434
<!-- argument Visibility: default -->
7435
7104
<element name="TControl.SetTempCursor.Value">
7436
<short>The temporary cursor which has been set</short>
7105
<short>The temporary cursor shape to use.</short>
7438
7107
<!-- procedure Visibility: public -->
7439
7108
<element name="TControl.UpdateRolesForForm">
7440
<short>Update the roles for this form; see whether there have been any changes in its role</short>
7109
<short>Internal method, called by a Form when its DefaultControl or CancelControl has changed.
7111
<descr>This method is overridden in TCustomButton,
7112
where it updates the button's Cancel and Default properties.
7115
<link id="TControl.ActiveDefaultControlChanged"/>
7118
<!-- procedure Visibility: public -->
7119
<element name="TControl.ActiveDefaultControlChanged">
7120
<short>Notification of a changed
7121
active DefaultControl of a form.</short>
7122
<descr>When the user pressed ENTER in a form, its DefaultControl will receive a Click event.
7124
<errors>Currently NewControl can be Nil, even if it should not be.
7127
<element name="TControl.ActiveDefaultControlChanged.NewControl">
7128
<short>The new DefaultControl.</short>
7442
7130
<!-- function Visibility: public -->
7443
7131
<element name="TControl.GetTextBuf">
7444
<short>Gets text associated with the control from a buffer</short>
7132
<short>Copy the <link id="TControl.Text">Text</link> property into Buffer.</short>
7446
<pre>* The VCL implementation relies on the virtual Get/SetTextBuf to
7447
* exchange text between widgets and VCL. This means a lot of
7448
* (unnecesary) text copies.
7449
* The LCL uses strings for exchanging text (more efficient).
7450
* To maintain VCL compatibility, the virtual RealGet/SetText is
7451
* introduced. These functions interface with the LCLInterface. The
7452
* default Get/SetTextbuf implementation calls the RealGet/SetText.
7453
* As long as the Get/SetTextBuf isn't overridden Get/SetText
7454
* calls RealGet/SetText to avoid PChar copying.
7455
* To keep things optimal, LCL implementations should always
7456
* override RealGet/SetText. Get/SetTextBuf is only kept for
7134
<p>This method only exists for Delphi compatibility.
7136
<p>Don't use or override it, unless really necessary.
7461
7140
<link id="#lcl.Controls.TControl.RealGetText">RealGetText</link>
7462
<link id="#lcl.Controls.TControl.GetText">GetText</link>
7465
<!-- function result Visibility: default -->
7466
7143
<element name="TControl.GetTextBuf.Result">
7467
<short>Pointer to the buffer containing the text</short>
7144
<short>Length of the copied text.</short>
7469
<!-- argument Visibility: default -->
7470
7146
<element name="TControl.GetTextBuf.Buffer">
7471
<short>Pointer to the buffer containing the string</short>
7147
<short>Pointer to the buffer receiving the string.</short>
7473
<!-- argument Visibility: default -->
7474
7149
<element name="TControl.GetTextBuf.BufSize">
7475
<short>Length of the buffer</short>
7150
<short>Length of the buffer.</short>
7477
7152
<!-- function Visibility: public -->
7478
7153
<element name="TControl.GetTextLen">
7479
<short>Get the length of the specified text</short>
7154
<short>The length of Text, here: of Caption.</short>
7484
<!-- function result Visibility: default -->
7485
7159
<element name="TControl.GetTextLen.Result">
7488
7162
<!-- procedure Visibility: public -->
7489
7163
<element name="TControl.SetTextBuf">
7490
<short>Stores text associated with the control in a buffer</short>
7164
<short>Updates the <link id="TControl.Text">Text</link> property from a PChar buffer.</short>
7492
<pre>* The VCL implementation relies on the virtual Get/SetTextBuf to
7493
* exchange text between widgets and VCL. This means a lot of
7494
* (unnecesary) text copies.
7495
* The LCL uses strings for exchanging text (more efficient).
7496
* To maintain VCL compatibility, the virtual RealGet/SetText is
7497
* introduced. These functions interface with the LCLInterface. The
7498
* default Get/SetTextbuf implementation calls the RealGet/SetText.
7499
* As long as the Get/SetTextBuf isn't overridden Get/SetText
7500
* calls RealGet/SetText to avoid PChar copying.
7501
* To keep things optimal, LCL implementations should always
7502
* override RealGet/SetText. Get/SetTextBuf is only kept for
7166
<p>This method only exists for Delphi compatibility.
7168
<p>Don't use or override it, unless really necessary.
7507
7172
<link id="#lcl.Controls.TControl.RealSetText">RealSetText</link>
7508
<link id="#lcl.Controls.TControl.SetText">SetText</link>
7511
<!-- argument Visibility: default -->
7512
7175
<element name="TControl.SetTextBuf.Buffer">
7513
<short>Pointer to the buffer where the text is to be stored</short>
7176
<short>Pointer to the buffer containing the zero-terminated text.</short>
7515
7178
<!-- function Visibility: public -->
7516
7179
<element name="TControl.Perform">
7518
<var>Perform</var> an Action specified by the message and parameters</short>
7180
<short>Direct call of an message handler, bypassing the message queue.</short>
7181
<descr>The parameters and result depend on the concret message.
7523
<!-- function result Visibility: default -->
7524
7186
<element name="TControl.Perform.Result">
7527
<!-- argument Visibility: default -->
7528
7189
<element name="TControl.Perform.Msg">
7531
<!-- argument Visibility: default -->
7532
7192
<element name="TControl.Perform.WParam">
7535
<!-- argument Visibility: default -->
7536
7195
<element name="TControl.Perform.LParam">
7539
7198
<!-- function Visibility: public -->
7540
7199
<element name="TControl.ScreenToClient">
7541
<short>Adjust from Screen co-ordinates to Client-relative co-ordinates</short>
7200
<short>Convert absolute screen coordinates into client-relative coordinates</short>
7202
<link id="TControl.ClientToScreen"/>
7543
<!-- function result Visibility: default -->
7544
7205
<element name="TControl.ScreenToClient.Result">
7547
<!-- argument Visibility: default -->
7548
7208
<element name="TControl.ScreenToClient.APoint">
7551
7211
<!-- function Visibility: public -->
7552
7212
<element name="TControl.ClientToScreen">
7553
<short>Convert from Client into Screen coordinates.</short>
7213
<short>Convert client-relative coordinates into absolute screen coordinates.</short>
7215
<link id="TControl.ScreenToClient"/>
7555
<!-- function result Visibility: default -->
7556
7218
<element name="TControl.ClientToScreen.Result">
7559
<!-- argument Visibility: default -->
7560
7221
<element name="TControl.ClientToScreen.APoint">
7563
7224
<!-- function Visibility: public -->
7564
7225
<element name="TControl.ScreenToControl">
7565
<short>Adjust from Screen co-ordinates to Control-relative co-ordinates</short>
7226
<short>Convert absolute screen coordinates into control-relative coordinates.</short>
7228
<link id="TControl.ControlToScreen"/>
7229
<link id="TControl.ScreenToClient"/>
7230
<link id="TControl.ClientToScreen"/>
7567
<!-- function result Visibility: default -->
7568
7233
<element name="TControl.ScreenToControl.Result">
7571
<!-- argument Visibility: default -->
7572
7236
<element name="TControl.ScreenToControl.APoint">
7575
7239
<!-- function Visibility: public -->
7576
7240
<element name="TControl.ControlToScreen">
7577
<short>Convert from control-relative co-ordinates to absolute screen co-ordinates</short>
7241
<short>Convert control-relative coordinates into absolute screen coordinates.</short>
7243
<link id="TControl.ScreenToControl"/>
7244
<link id="TControl.ScreenToClient"/>
7245
<link id="TControl.ClientToScreen"/>
7579
<!-- function result Visibility: default -->
7580
7248
<element name="TControl.ControlToScreen.Result">
7583
<!-- argument Visibility: default -->
7584
7251
<element name="TControl.ControlToScreen.APoint">
7254
<!-- function Visibility: protected -->
7255
<element name="TControl.GetChildsRect">
7256
<short>Get the visible part of a possibly scrolled client area.</short>
7257
<descr>If <var>Scrolled</var> is False, the ScrollOffset is ignored,
7258
so that the ClientRect is returned.
7261
<element name="TControl.GetChildsRect.Result">
7262
<short>The visible part of the client area.</short>
7264
<element name="TControl.GetChildsRect.Scrolled">
7265
<short>True forces scrolling taken into account.</short>
7587
7267
<!-- procedure Visibility: public -->
7588
7268
<element name="TControl.Show">
7589
<short>Makes the control visible.</short>
7269
<short>Makes the control visible, by setting Visible to True.</short>
7593
<link id="#lcl.Controls.TControl.Visible"/>
7594
<link id="#lcl.Controls.TControl.Hide"/>
7273
<link id="TControl.ShowControl"/>
7274
<link id="TControl.Visible"/>
7275
<link id="TControl.Hide"/>
7597
7278
<!-- procedure Visibility: public -->
7598
7279
<element name="TControl.Update">
7599
<short>Perform the <var>Update</var> method specified by the parent control (if there is one)</short>
7601
<!-- procedure Visibility: public -->
7602
<element name="TControl.SetZOrderPosition">
7608
<!-- argument Visibility: default -->
7609
<element name="TControl.SetZOrderPosition.NewPosition">
7612
<!-- procedure Visibility: public -->
7613
<element name="TControl.SetZOrder">
7615
<var>SetZOrder</var> - specify this control's place in the Z-order (ie front-to-back) of controls</short>
7620
<!-- argument Visibility: default -->
7621
<element name="TControl.SetZOrder.TopMost">
7280
<short>Redraw invalidated parts of the control immediately.</short>
7624
7282
<!-- function Visibility: public -->
7625
7283
<element name="TControl.HandleObjectShouldBeVisible">
7627
<var>HandleObjectShouldBeVisible</var> - returns True if the Handle Object is required to be visible</short>
7284
<short>True if the control shall be visible, unless it's being destroyed.</short>
7288
<link id="TControl.IsVisible"/>
7632
<!-- function result Visibility: default -->
7633
7291
<element name="TControl.HandleObjectShouldBeVisible.Result">
7636
7294
<!-- function Visibility: public -->
7295
<element name="TControl.ParentDestroyingHandle">
7296
<short>Returns True if any parent is destroying its Handle (and its childrens').</short>
7301
<element name="TControl.ParentDestroyingHandle.Result">
7304
<!-- function Visibility: public -->
7637
7305
<element name="TControl.ParentHandlesAllocated">
7639
<var>ParentHandlesAllocated</var> - returns True if the parent handles have been allocated</short>
7306
<short>Returns True if all Parents have handles allocated, and are not being destroyed.</short>
7644
<!-- function result Visibility: default -->
7645
7311
<element name="TControl.ParentHandlesAllocated.Result">
7648
7314
<!-- procedure Visibility: public -->
7649
7315
<element name="TControl.InitiateAction">
7651
<var>InitiateAction</var> - method to start the action associated with this control</short>
7316
<short>Update the action associated with this control.</short>
7320
<notes><note>?</note>
7656
7323
<!-- procedure Visibility: public -->
7657
<element link="#LCL.LCLClasses.TLCLComponent.RemoveAllHandlersOfObject" name="TControl.RemoveAllHandlersOfObject">
7324
<element name="TControl.ShowHelp">
7325
<short>Show the Help associated with this control.</short>
7330
<!-- function Visibility: public -->
7331
<element name="TControl.HasHelp">
7332
<short>True when a HelpKeyword or HelpContext ID is assigned.</short>
7337
<element name="TControl.HasHelp.Result">
7663
<!-- argument Visibility: default -->
7340
<!-- procedure Visibility: public -->
7341
<element link="#LCL.LCLClasses.TLCLComponent.RemoveAllHandlersOfObject" name="TControl.RemoveAllHandlersOfObject"/>
7664
7342
<element name="TControl.RemoveAllHandlersOfObject.AnObject">
7667
7345
<!-- procedure Visibility: public -->
7668
7346
<element name="TControl.AddHandlerOnResize">
7670
<var>AddHandlerOnResize</var> - method for adding a handler for the
7677
<var>OnResize</var> event</short>
7347
<short>Adds an handler for the <var>OnResize</var> event.</short>
7682
<!-- argument Visibility: default -->
7683
7352
<element name="TControl.AddHandlerOnResize.OnResizeEvent">
7686
<!-- argument Visibility: default -->
7687
<element name="TControl.AddHandlerOnResize.AsLast">
7355
<element name="TControl.AddHandlerOnResize.AsFirst">
7690
7358
<!-- procedure Visibility: public -->
7691
7359
<element name="TControl.RemoveHandlerOnResize">
7693
<var>RemoveHandlerOnResize</var> - method for removing a handler for the
7700
<var>OnResize</var> event</short>
7360
<short>Removes an handler for the <var>OnResize</var> event.</short>
7705
<!-- argument Visibility: default -->
7706
7365
<element name="TControl.RemoveHandlerOnResize.OnResizeEvent">
7709
7368
<!-- procedure Visibility: public -->
7710
7369
<element name="TControl.AddHandlerOnChangeBounds">
7712
<var>AddHandlerOnChangeBounds</var> - method for adding a handler for the
7719
<var>OnChangeBounds</var> event</short>
7370
<short>Adds an handler for the <var>OnChangeBounds</var> event.</short>
7724
<!-- argument Visibility: default -->
7725
7375
<element name="TControl.AddHandlerOnChangeBounds.OnChangeBoundsEvent">
7728
<!-- argument Visibility: default -->
7729
<element name="TControl.AddHandlerOnChangeBounds.AsLast">
7378
<element name="TControl.AddHandlerOnChangeBounds.AsFirst">
7732
7381
<!-- procedure Visibility: public -->
7733
7382
<element name="TControl.RemoveHandlerOnChangeBounds">
7735
<var>RemoveHandlerOnChangeBounds</var> - method to remove a handler for the
7742
<var>OnChangeBounds</var> event</short>
7383
<short>Removes an handler for the <var>OnChangeBounds</var> event.</short>
7747
<!-- argument Visibility: default -->
7748
7388
<element name="TControl.RemoveHandlerOnChangeBounds.OnChangeBoundsEvent">
7391
<!-- procedure Visibility: public -->
7392
<element name="TControl.AddHandlerOnVisibleChanging">
7393
<short>Adds an <var>OnVisibleChanging</var> handler.</short>
7398
<element name="TControl.AddHandlerOnVisibleChanging.OnVisibleChangingEvent">
7401
<element name="TControl.AddHandlerOnVisibleChanging.AsFirst">
7404
<!-- procedure Visibility: public -->
7405
<element name="TControl.RemoveHandlerOnVisibleChanging">
7406
<short>Removes an <var>OnVisibleChanging</var> handler.</short>
7411
<element name="TControl.RemoveHandlerOnVisibleChanging.OnVisibleChangingEvent">
7414
<!-- procedure Visibility: public -->
7415
<element name="TControl.AddHandlerOnVisibleChanged">
7417
<var>OnVisibleChanged</var> handler.</short>
7422
<element name="TControl.AddHandlerOnVisibleChanged.OnVisibleChangedEvent">
7425
<element name="TControl.AddHandlerOnVisibleChanged.AsFirst">
7428
<!-- procedure Visibility: public -->
7429
<element name="TControl.RemoveHandlerOnVisibleChanged">
7430
<short>Removes an <var>OnVisibleChanged</var> handler.</short>
7435
<element name="TControl.RemoveHandlerOnVisibleChanged.OnVisibleChangedEvent">
7438
<!-- procedure Visibility: public -->
7439
<element name="TControl.AddHandlerOnEnabledChanged">
7441
<var>OnEnabledChanged</var> handler.</short>
7446
<element name="TControl.AddHandlerOnEnabledChanged.OnEnabledChangedEvent">
7449
<element name="TControl.AddHandlerOnEnabledChanged.AsFirst">
7452
<!-- missing RemoveHandlerOnEnableChanging -->
7453
<!-- procedure Visibility: public -->
7454
<element name="TControl.RemoveHandlerOnEnableChanging">
7455
<short>Removes an <var>OnEnabledChanged</var> handler.</short>
7459
<notes><note>The name doesn't look correct, should read RemoveHandlerOnEnabledChanged?</note>
7462
<element name="TControl.RemoveHandlerOnEnableChanging.OnEnableChangingEvent">
7465
<!-- procedure Visibility: public -->
7466
<element name="TControl.AddHandlerOnKeyDown">
7467
<short>Adds an handler for the <var>OnKeyDown</var> event.</short>
7472
<element name="TControl.AddHandlerOnKeyDown.OnKeyDownEvent">
7475
<element name="TControl.AddHandlerOnKeyDown.AsFirst">
7478
<!-- procedure Visibility: public -->
7479
<element name="TControl.RemoveHandlerOnKeyDown">
7480
<short>Removes an handler for the <var>OnKeyDown</var> event.</short>
7485
<element name="TControl.RemoveHandlerOnKeyDown.OnKeyDownEvent">
7488
<!-- function Visibility: public -->
7489
<element name="TControl.UseRightToLeftAlignment">
7490
<short>True when BiDiMode is bdRightToLeft.</short>
7495
<element name="TControl.UseRightToLeftAlignment.Result">
7498
<!-- function Visibility: public -->
7499
<element name="TControl.UseRightToLeftReading">
7500
<short>True when BiDiMode is not bdLeftToRight.</short>
7505
<element name="TControl.UseRightToLeftReading.Result">
7508
<!-- function Visibility: public -->
7509
<element name="TControl.UseRightToLeftScrollBar">
7510
<short>True when scrollbars appear at the left side of the control.</short>
7515
<element name="TControl.UseRightToLeftScrollBar.Result">
7518
<!-- function Visibility: public -->
7519
<element name="TControl.IsRightToLeft">
7520
<short>True when BiDiMode is not bdLeftToRight.</short>
7525
<element name="TControl.IsRightToLeft.Result">
7751
7528
<!-- property Visibility: public -->
7752
7529
<element name="TControl.Action">
7753
<short>The action to be associated with this control</short>
7755
<p>// standard properties, which should be supported by all descendants</p>
7756
<p>The (default) action to be associated with this control</p>
7757
<p>Can either read the action already associated with the control (GetAction), or write an action to be associated (SetAction)</p>
7530
<short>The Action associated with this control.</short>
7531
<descr>The Action property is a shortcut to ActionLink.Action.
7534
<link id="TControl.ActionLink"/>
7760
7535
<link id="#rtl.Classes.TBasicAction"/>
7538
<!-- property Visibility: protected -->
7539
<element name="TControl.AccessibleDescription">
7540
<short>The accessible description of the control.This should describe the role of the control, for example for TLabel it could be "a text caption".</short>
7541
<descr>The accessible description of the control. This should describe the role of the control, for example for TLabel it could be "a text caption". This property is connected and synchronized with TControl.GetAccessibleObject().AccessibleDescription.</descr>
7543
<link id="TLazAccessibleObject.AccessibleDescription"/>
7546
<!-- property Visibility: protected -->
7547
<element name="TControl.AccessibleValue">
7548
<short>The accessible value of the control. For example, for a TLabel it would be the same as the Caption property of the label.</short>
7549
<descr>The accessible value of the control. For example, for a TLabel it would be the same as the Caption property of the label. This property is connected and synchronized with TControl.GetAccessibleObject().AccessibleValue.</descr>
7551
<link id="TLazAccessibleObject.AccessibleValue"/>
7554
<!-- property Visibility: protected -->
7555
<element name="TControl.AccessibleRole">
7556
<short>The accessible role of the control which classifies what kind of object this is. See TLazAccessibilityRole for a list of possible values</short>
7558
<link id="TLazAccessibilityRole"/>
7559
<link id="TLazAccessibleObject.AccessibleRole"/>
7562
<!-- property Visibility: protected -->
7563
<element name="TControl.ActionLink">
7564
<short>Link to the default Action associated with this control.</short>
7763
7566
<!-- property Visibility: public -->
7764
7567
<element name="TControl.Align">
7765
<short>Used to align the control to the top, bottom, left or right of its client.</short>
7568
<short>Specifies the placement of the control inside its Parent.</short>
7767
<p>// standard properties, which should be supported by all descendants</p>
7768
<p>Either reads a flag containing alignment instructions (<var>FAlign</var>) or writes alignment instructions (<var>SetAlign</var>)</p>
7769
<p>May have no alignment, may have custom or client alignment, or can be aligned to top, bottom, left or right</p>
7570
<p>A control can stick to one side of its Parent control.
7772
7574
<link id="#lcl.Controls.TAlign">TAlign</link>
7775
7577
<!-- property Visibility: public -->
7578
<element name="TControl.AnchoredControls">
7579
<short>The list of controls anchored to this one.</short>
7581
<element name="TControl.AnchoredControls.Index">
7584
<!-- property Visibility: public -->
7776
7585
<element name="TControl.Anchors">
7777
<short>The set of anchor definitions for this control</short>
7586
<short>The set of anchor definitions for this control.</short>
7779
<p>// standard properties, which should be supported by all descendants</p>
7780
<p>Determines how the control is to be anchored to its client or parent conrol</p>
7781
<p>Either reads a flag containing the set of anchors to be used, or writes a set of anchors. If they have been written, this is indicated in <var>IsAnchorsStored</var>
7588
<p>Determines which sides of the control are anchored to other controls.</p>
7785
7591
<link id="#lcl.Controls.TAnchors"/>
7884
7784
<!-- property Visibility: public -->
7885
7785
<element name="TControl.ClientWidth">
7887
<var>ClientWidth</var>
7888
- determines the width of the client within which the control exists</short>
7890
<p>// standard properties, which should be supported by all descendants</p>
7892
<var>ClientWidth</var>
7893
- determines the width of the client within which the control exists; reads the width of the client control or sets the value. Sets flag if value is stored</p>
7786
<short>The width of the client area of the control.</short>
7896
7789
<!-- property Visibility: public -->
7897
7790
<element name="TControl.Color">
7898
<short>Determine the colour for the current control</short>
7791
<short>The background color of the control.</short>
7900
<p>// standard properties, which should be supported by all descendants</p>
7901
<p>Reads the value for colour, or stores the value, and sets a flag if the colour is stored.</p>
7902
<p>The default colour is the same as the window in which the control is located.</p>
7793
<p>The default Color is the same as the parent window Color. If the color is clDefault
7794
then the result will need to be passed through GetDefaultColor to resolve clDefault.
7795
Convenience routines which obtains the color resolving clDefault and ParentColor are also
7796
provided as TControl.GetColorResolvingParent and TControl.GetRGBColorResolvingParent</p>
7799
<link id="TControl.ParentColor"/>
7905
7800
<link id="#lcl.Graphics.TColor"/>
7801
<link id="TControl.GetDefaultColor"/>
7802
<link id="TControl.GetColorResolvingParent"/>
7803
<link id="TControl.GetRGBColorResolvingParent"/>
7908
7806
<!-- property Visibility: public -->
7909
7807
<element name="TControl.Constraints">
7910
<short>Determine <var>Constraints</var> (max and min height and width) for this control</short>
7912
<p>// standard properties, which should be supported by all descendants</p>
7913
<p>Determine <var>Constraints</var> (max and min height and width) for this control; reads the size constraints or stores new ones.</p>
7808
<short>The minimal and maximal Width and Height of this control.</short>
7916
7811
<link id="#lcl.Controls.TSizeConstraints"/>
7919
7814
<!-- property Visibility: public -->
7920
7815
<element name="TControl.ControlOrigin">
7922
<var>ControlOrigin</var>
7923
- top left pixel of this control</short>
7925
<p>// standard properties, which should be supported by all descendants</p>
7926
<p>Reads value for the Origin (top left pixel) of this control. (read-only)</p>
7816
<short>The top left pixel of this control, in screen coordinates.</short>
7929
<link id="#rtl.Classes.TPoint"/>
7819
<link id="TControl.ClientOrigin"/>
7820
<link id="TControl.BoundsRect"/>
7932
7823
<!-- property Visibility: public -->
7933
7824
<element name="TControl.ControlState">
7935
<var>ControlState</var>
7936
- whether mouse has been clicked, data being read, control being re-drawn, etc</short>
7938
<p>// standard properties, which should be supported by all descendants</p>
7940
<var>ControlState</var>
7941
- whether mouse has been clicked, data being read, control being re-drawn, etc. Reads or stores the state of the control.</p>
7825
<short>State flags, telling whether the control has been clicked, data being read, control being re-drawn, etc.</short>
7944
7828
<link id="#lcl.Controls.TControlState"/>
7947
7831
<!-- property Visibility: public -->
7948
7832
<element name="TControl.ControlStyle">
7950
<var>ControlStyle</var>
7951
- whether the control responds to mouse clicks, can be re-sized, has particular actions, etc</short>
7953
<p>// standard properties, which should be supported by all descendants</p>
7955
<var>ControlStyle</var>
7956
- whether the control responds to mouse clicks, can be re-sized, has particular actions, etc. Reads the stored style, or saves the new style</p>
7833
<short>Style flags, specifying whether the control responds to mouse clicks, can be re-sized, has particular actions, etc.</short>
7959
7836
<link id="#lcl.Controls.TControlStyle"/>
7839
<!-- property Visibility: published -->
7840
<element name="TControl.Cursor">
7841
<short>The shape of the mouse pointer, when the mouse is over this control.</short>
7845
<!-- property Visibility: protected -->
7846
<element name="TControl.DesktopFont">
7847
<short>Allows to use the desktop font for text display in this control.</short>
7850
<notes><note>?</note>
7853
<!-- property Visibility: public -->
7854
<element name="TControl.DockOrientation">
7855
<short>How the control is currently docked.
7856
(horizontally, vertically, in a notebook, or not at all)</short>
7860
<!-- property Visibility: protected -->
7861
<element name="TControl.DragCursor">
7862
<short>The cursor shape shown while the control is dragged.</short>
7863
<descr>Default is crDrag. When no drop is allowed, the cursor changes temporarily to crNoDrop.</descr>
7865
<!-- property Visibility: protected -->
7866
<element name="TControl.DragKind">
7867
<short>The operation when the control is dragged - Drag or Dock.</short>
7868
<descr>Set to dkDrag for drag-drop, or to dkDock for drag-dock operation.</descr>
7871
<!-- property Visibility: protected -->
7872
<element name="TControl.DragMode">
7873
<short>Allows the user to drag the control.</short>
7875
<p>Default is dmManual, meaning that dragging must be started in code.</p>
7876
<p>Set to dmAutomatic to allow the user to drag this control.
7877
In this mode dragging can start immediately (on left mouse button press)
7878
or delayed, after the mouse has been moved away by a number of pixels (Threshold).</p>
7881
<link id="TControl.DragKind"/>
7882
<link id="TDragManager.DragImmediate"/>
7962
7885
<!-- property Visibility: public -->
7963
7886
<element name="TControl.Enabled">
7964
<short>Whether the control is <var>Enabled</var> (read/write). If not, it usually appears 'greyed-out'</short>
7887
<short>Determines whether the control reacts on mouse or keyboard input.</short>
7888
<descr>Disabled controls usually appear 'greyed-out'</descr>
7890
<!-- property Visibility: public -->
7891
<element name="TControl.Floating">
7892
<short>Tries to find out whether the control is floating (not part of a form).</short>
7895
<link id="TControl.FloatingDockSiteClass"/>
7898
<!-- property Visibility: public -->
7899
<element name="TControl.FloatingDockSiteClass">
7900
<short>The class for a floating host dock site for this control.</short>
7903
<link id="TControl.Floating"/>
7966
7906
<!-- property Visibility: public -->
7967
7907
<element name="TControl.Font">
7968
<short>The <link id="#lcl.Graphics.TFont">font</link> to be used for text in this control (read/write).</short>
7908
<short>The <link id="#lcl.Graphics.TFont">font</link> to be used for text display in this control.</short>
7970
7910
<link id="#lcl.Graphics.TFont"/>
7913
<!-- property Visibility: published -->
7914
<element name="TControl.Height">
7915
<short>The vertical size of the control.</short>
7917
<!-- property Visibility: published -->
7918
<element name="TControl.HelpContext">
7919
<short>The ID for context-sensitive Help on this control.</short>
7922
<link id="TControl.HelpKeyword"/>
7925
<!-- property Visibility: published -->
7926
<element name="TControl.HelpKeyword">
7927
<short>The keyword for context-sensitive Help on this control.</short>
7930
<link id="TControl.HelpContext"/>
7933
<!-- property Visibility: published -->
7934
<element name="TControl.HelpType">
7935
<short>Determines whether context-sensitive Help is selected by numeric ID or keyword.</short>
7938
<link id="TControl.HelpContext"/>
7939
<link id="TControl.HelpKeyword"/>
7942
<!-- property Visibility: published -->
7943
<element name="TControl.Hint">
7944
<short>The text to show in the Hint window for this control.</short>
7947
<link id="TControl.ShowHint"/>
7948
<link id="TControl.ParentShowHint"/>
7951
<!-- property Visibility: public -->
7952
<element name="TControl.HostDockSite">
7953
<short>The host site (TWinControl) into which this control is docked. Nil if not docked.</short>
7973
7957
<!-- property Visibility: public -->
7974
7958
<element name="TControl.IsControl">
7975
<short>Reads or writes a flag to deterine whether this object is actually a control</short>
7976
<descr>// standard properties, which should be supported by all descendants<br/>
7977
Reads a logical (boolean) flag or sets it to determine whether this object is a control.</descr>
7959
<short>Determines whether this object shall be streamed as a control.</short>
7960
<descr>Delphi compatible property, affecting only the streaming of <var>Form</var> properties.
7962
<notes><note>Has no effect in the LCL?</note>
7965
<!-- property Visibility: published -->
7966
<element name="TControl.Left">
7967
<short>The client coordinate of the left edge of the control.</short>
7969
<!-- property Visibility: public -->
7970
<element name="TControl.LRDockWidth">
7971
<short>The Width when last docked, with siblings to the left or right.</short>
7975
<!-- property Visibility: protected -->
7976
<element name="TControl.MouseCapture">
7977
<short>True when mouse messages are currently captured by this control.</short>
7979
<p>In normal operation all mouse messages are sent to the control under the mouse pointer.
7980
Mouse messages also can be sent to a capturing control,
7981
e.g. when a control is dragged.
7983
<p>Applications should capture mouse events only for special purposes,
7984
and release the capture as soon as a the target position has been determined.
7985
Limited user feedback is possible while the mouse is captured,
7986
not all application controls will work properly so long.</p>
7979
7990
<!-- property Visibility: public -->
7980
7991
<element name="TControl.MouseEntered">
7981
<short>Reads a flag to determine whether the mouse entered the control</short>
7982
<descr>// standard properties, which should be supported by all descendants<br/>Reads logical (boolean) flag to see whether mouse has entered the control</descr>
7992
<short>True when the mouse has entered the control.</short>
7984
7995
<!-- property Visibility: public -->
7985
7996
<element name="TControl.OnChangeBounds">
7986
<short>Event handler for a change in bounds of the control</short>
7988
<p>// standard properties, which should be supported by all descendants</p>
7989
<p>Reads or Writes flag if bounds are changed</p>
7997
<short>Event handler for a change of the Bounds of the control.</short>
7992
8000
<link id="#rtl.Classes.TNotifyEvent"/>
7995
8003
<!-- property Visibility: public -->
7996
8004
<element name="TControl.OnClick">
7997
<short>Event Handler for mouse click</short>
8005
<short>Notification handler for mouse clicks.</short>
7999
<p>// standard properties, which should be supported by all descendants</p>
8000
<p>This is often the default action for many controls, and is often the ONLY action specified by the programmer. The action can be spcified by the user, either by typing explicit code into the implementation section for this control, or by selecting an action from a pre-supplied <var>ActionList</var>
8002
<p>Reads or writes a flag if a mouse click is detected, and sets a flag if a value is stored.</p>
8007
<p>A mouse click is associated with the default action for controls, and is often the ONLY event handled in user code.
8009
<p>The reaction on an click can be specified by a user supplied method,
8010
and/or by selecting an action from a supplied <var>ActionList</var>
8005
8014
<link id="#rtl.Classes.TNotifyEvent"/>
8017
<!-- property Visibility: protected -->
8018
<element name="TControl.OnConstrainedResize">
8019
<short>This handler can supply specific Constraints (size limits), when the control is resized.</short>
8022
<link id="TConstrainedResizeEvent"/>
8023
<link id="TControl.Constraints"/>
8026
<!-- property Visibility: protected -->
8027
<element name="TControl.OnContextPopup">
8028
<short>Invoked when a context-sensitive pop-up menu is requested.</short>
8029
<descr>The handler can show and handle the menu selection itself.
8030
If so, it should set Handled to True.
8031
Otherwise the installed PopupMenu is shown.
8034
<link id="TContextPopupEvent"/>
8035
<link id="TControl.PopupMenu"/>
8038
<!-- property Visibility: protected -->
8039
<element name="TControl.OnDblClick">
8040
<short>Event Handler for double mouse clicks.</short>
8042
<p>Double-clicking is much more common in a Windows environment than in Unix or Linux,
8043
where single-clicking is the default method for selecting an object.
8044
However, in all environments there could be valid use for a double-click,
8045
and a method should be supplied if appropriate.
8049
<!-- property Visibility: protected -->
8050
<element name="TControl.OnDragDrop">
8051
<short>This handler determines the action on an drop onto this control, in a drag-drop operation.
8054
<p>Unlike for a drag-dock operation,
8055
no default action is associated with an drag-drop;
8056
the OnDragDrop handler is the only way to do something meaningful on an drag-drop.
8060
<link id="TControl.TDragDropEvent"/>
8061
<link id="TControl.DragDrop"/>
8064
<!-- property Visibility: protected -->
8065
<element name="TControl.OnDragOver">
8066
<short>Event handler for a control being dragged over this control.</short>
8067
<descr>The handler can reject an drop, by setting Accept to False.
8070
<link id="TDragOverEvent"/>
8073
<!-- property Visibility: protected -->
8074
<element name="TControl.OnEditingDone">
8075
<short>Event handler when editing is done.</short>
8076
<descr>The user definitely has finished editing,
8077
the resulting text e.g. can be validated.
8080
<!-- property Visibility: protected -->
8081
<element name="TControl.OnEndDock">
8082
<short>Notification handler for the end of a docking operation.</short>
8085
<link id="TEndDragEvent"/>
8088
<!-- property Visibility: protected -->
8089
<element name="TControl.OnEndDrag">
8090
<short>Notification handler for the end of a dragging operation.</short>
8093
<link id="TEndDragEvent"/>
8096
<!-- property Visibility: protected -->
8097
<element name="TControl.OnMouseDown">
8098
<short>Event handler for mouse button going down.</short>
8100
<link id="TControl.OnClick"/>
8103
<!-- property Visibility: protected -->
8104
<element name="TControl.OnMouseEnter">
8105
<short>Event handler for mouse entering the area of the control.</short>
8107
<!-- property Visibility: protected -->
8108
<element name="TControl.OnMouseLeave">
8109
<short>Event handler for mouse leaving the area of the control.</short>
8111
<!-- property Visibility: protected -->
8112
<element name="TControl.OnMouseMove">
8113
<short>Event handler for mouse movement within the control.</short>
8115
<!-- property Visibility: protected -->
8116
<element name="TControl.OnMouseUp">
8117
<short>Event handler for mouse button going up.</short>
8119
<link id="TControl.OnClick"/>
8122
<element name="TControl.OnMouseWheel">
8123
<short>Event handler for mouse wheel turned.</short>
8125
<p>By default all mouse wheel actions are translated into scroll events.
8126
Write an OnMouseWheel handler to react on turns of the mouse wheel.
8128
<p>The OnMouseWheelUp and OnMouseWheelDown handlers are notified only,
8129
they are not suited for customization of mouse wheel events.
8133
<link id="TMouseWheelEvent"/>
8136
<element name="TControl.OnMouseWheelDown">
8137
<short>Notification handler for downward movement of mouse wheel.</short>
8139
<link id="TControl.OnMouseWheel"/>
8140
<link id="TMouseWheelUpDownEvent"/>
8143
<element name="TControl.OnMouseWheelUp">
8144
<short>Notification handler for upward movement of mouse wheel.</short>
8146
<link id="TControl.OnMouseWheel"/>
8147
<link id="TMouseWheelUpDownEvent"/>
8150
<!-- property Visibility: protected -->
8151
<element name="TControl.OnQuadClick">
8152
<short>Event handler for quadruple mouse clicks.</short>
8008
8154
<!-- property Visibility: public -->
8009
8155
<element name="TControl.OnResize">
8010
<short>Event Handler for resize of control</short>
8156
<short>Notification handler for a resize of the control.</short>
8012
<p>This event is triggered whenever the Width, Height, ClientWidth or ClientHeight of the control has changed.
8013
During autosize the size can change multiple times and only the last change triggers the OnResize.
8014
Use OnResize to react to resizes or to put your custom aligning, positioning code into this.
8015
To react to moves use the OnChangeBounds event.
8158
<p>This event is triggered after the Width, Height, ClientWidth or ClientHeight of the control has changed.
8159
During autosize the size can change multiple times, but only the last change triggers the OnResize.
8161
<p>Use OnResize to react on size changes.
8162
To also react on moves, use the OnChangeBounds event.
8164
<p>If you want to customize the resize behaviour, use OnConstrainedResize instead.
8017
8166
<p>Common mistake:
8018
Keep in mind that ClientWidth and ClientHeight can change even when Width, Height stays the same. For example when the theme or the font changes the Width, Height of a TForm, TGroupBox, TPageControl stays, but the frame changes and thus the ClientWidth, ClientHeight too. This does not happen that often under windows, but it happens quite often on other platforms.</p>
8167
Keep in mind that ClientWidth and ClientHeight can change even when Width, Height stays the same.
8168
For example when the theme changes, the Width and Height remain the same, but the changed frame reduces the ClientWidth and ClientHeight.
8169
This does not happen that often under Windows, but it happens quite often on other platforms.
8019
8171
<p>Especially it is not sufficient to write only a TForm.OnResize handler to resize all controls on the form. This is a common bug in Delphi applications.
8175
<link id="TControl.OnConstrainedResize"/>
8023
8176
<link id="#rtl.Classes.TNotifyEvent"/>
8178
<notes><note>???</note>
8026
8181
<!-- property Visibility: public -->
8027
8182
<element name="TControl.OnShowHint">
8028
<short>Event Handler when a hint needs to be shown</short>
8029
<descr>// standard properties, which should be supported by all descendants<br/>Reads or Writes a flag when a hint (a small pop-up box, appearing when the mouse hovers over an object) is to be shown</descr>
8183
<short>Event Handler when a hint shall be shown.</short>
8186
<link id="TControl.Hint"/>
8031
8187
<link id="#lcl.Controls.THintInfo"/>
8032
8188
<link id="#lcl.Controls.TControlShowHintEvent"/>
8035
<!-- property Visibility: public -->
8036
<element name="TControl.Parent"/>
8190
<notes><note>Tasks, Usage?</note>
8193
<!-- property Visibility: protected -->
8194
<element name="TControl.OnStartDock">
8195
<short>Event handler for the start of a docking operation.</short>
8197
<p>The handler can provide a special DragDock object, otherwise a default object is created.</p>
8200
<link id="#lcl.Controls.TDragDockObject"/>
8201
<link id="TControl.OnStartDrag"/>
8204
<!-- property Visibility: protected -->
8205
<element name="TControl.OnStartDrag">
8206
<short>Event handler for the start of a dragging operation.</short>
8208
<p>The handler can provide a special DragControl object, otherwise a default object is created.</p>
8211
<link id="#lcl.Controls.TDragObject"/>
8212
<link id="TControl.OnStartDock"/>
8215
<!-- property Visibility: protected -->
8216
<element name="TControl.OnTripleClick">
8217
<short>Event handler for triple mouse clicks.</short>
8219
<!-- property Visibility: public -->
8220
<element name="TControl.Parent">
8221
<short>The control within which the control is shown.</short>
8223
<p>When the Parent moves or hides, all its children move or hide together with it.
8225
<p>Every TControl must have a Parent, else it is never shown.
8227
<p>The Parent of a floating form is Nil.
8229
<p>Set the parent last to reduce updates. For example:
8230
Button1:=TButton.Create(Self);
8231
Button1.Name:='Button1';
8232
Button1.Caption:='Click me'; // parent is not set, so it does not update the whole form
8233
Button1.Parent:=Form1; // set parent as last, the LCL now applies all properties
8235
<p>Delphi/VCL: Parent must be set first under Delphi, because many properties work differently if they are set before or after Handle creation. The LCL applies the properties when the Handle is created.
8239
<!-- property Visibility: public -->
8240
<element name="TControl.ParentBiDiMode">
8241
<short>Allows to use the BiDiMode settings of Parent. Default is true.</short>
8243
<link id="TControl.BiDiMode"/>
8246
<!-- property Visibility: protected -->
8247
<element name="TControl.ParentColor">
8248
<short>If true, the Color of the control will be the same as the one from the Parent. Default is true.</short>
8249
<descr>While this property is True, all changes to the Color of the parent will be
8250
also done to the Color of the control, syncronizing them and keeping them with the same value.
8251
If the Color of the control is changed by the application, then ParentColor will be automatically set to False.
8252
The combination of ParentColor with clDefault can cause problems in resolving clDefault. To obtain the Color
8253
property of a control while taking into account clDefault and ParentColor one whould use TControl.GetColorResolvingParent.
8254
This method might return a non-RGB color, but will never return clDefault. To obtain a purely RGB result use
8255
TColor.GetRGBColorResolvingParent
8258
<link id="TControl.Color"/>
8259
<link id="TControl.GetColorResolvingParent"/>
8260
<link id="TControl.GetRGBColorResolvingParent"/>
8263
<!-- property Visibility: protected -->
8264
<element name="TControl.ParentFont">
8265
<short>If true, the Font of the control will be the same as the one from the Parent. Default is true.</short>
8266
<descr>While this property is True, all changes to the font of the parent will be
8267
also done to the font of the control, syncronizing them and keeping them with the same value.
8268
If the Font of the control is changed by the application, then ParentFont will be automatically set to False.
8271
<link id="TControl.Font"/>
8274
<!-- property Visibility: protected -->
8275
<element name="TControl.ParentShowHint">
8276
<short>If true, the value of ShowHint for the control will be the same as the one from the Parent. Default is true.</short>
8277
<descr>While this property is True, all changes to the ShowHint property of the parent will be
8278
also done to the ShowHint property of the control, syncronizing them and keeping them with the same value.
8279
If the ShowHint property of the control is changed by the application, then ParentShowHint will be automatically set to False.
8282
<link id="TControl.Hint"/>
8283
<link id="TControl.ShowHint"/>
8037
8286
<!-- property Visibility: public -->
8038
8287
<element name="TControl.PopupMenu">
8040
<var>PopupMenu</var> - a context-sensitive menu that pops up when the right mouse button is clicked over this control</short>
8041
<descr>// standard properties, which should be supported by all descendants<br/>
8042
Reads the details of the pop-up menu, or stores them.<br/>
8043
Properties are defined in the parent class <link id="#lcl.Menus.TPopupMenu">TPopupMenu</link>
8288
<short>A context-sensitive menu that pops up when the right mouse button is clicked over this control</short>
8046
8291
<link id="#lcl.Menus.TPopupMenu"/>
8292
<link id="TControl.OnContextPopup"/>
8293
<link id="TControl.TContextPopupEvent"/>
8049
8296
<!-- property Visibility: public -->
8297
<element name="TControl.ReadBounds">
8301
<notes><note>?</note>
8304
<!-- property Visibility: protected -->
8305
<element name="TControl.SessionProperties">
8306
<short>The stored (saved) properties of the current session, expressed as a string</short>
8309
<notes><note>What's 'session'?</note><note>Usage?</note>
8312
<!-- property Visibility: public -->
8050
8313
<element name="TControl.ShowHint">
8051
<short>Flag to determine: Is hint to be displayed for this control?</short>
8052
<descr>// standard properties, which should be supported by all descendants<br/>Reads flag or writes one to determine if a hint is to be shown when mouse hovers over this control. If value is stored, a storage flag is set. Display of the actual hint is controlled by OnShowHint</descr>
8314
<short>Enables the <link id="#lcl.Controls.TControl.Hint">Hint</link> display.</short>
8316
<p>When True, the Hint text is shown when the mouse hovers over the control.
8318
<p>Display of the actual hint is controlled by OnShowHint.
8322
<link id="TControl.Hint">Hint</link>
8054
8323
<link id="#lcl.Controls.TControl.OnShowHint">OnShowHint</link>
8324
<link id="TControl.ParentShowHint">ParentShowHint</link>
8057
8327
<!-- property Visibility: public -->
8328
<element name="TControl.TBDockHeight">
8329
<short>The Height when last docked, with siblings above or below.</short>
8333
<!-- property Visibility: protected -->
8334
<element name="TControl.Text">
8335
<short>The character string associated with the control.</short>
8337
<p>This is the character string, shown in controls with visible text content (<link id="#lcl.StdCtrls.TEdit">TEdit</link>...).</p>
8338
<remark>BEWARE: In other controls it can be the Name or Caption of the control, quite tricky to use.</remark>
8339
<p>The Delphi VCL implementation stores Text mostly in the widgets,
8340
using the virtual <var>Get/SetTextBuf</var> methods to exchange text between widgets and VCL.
8341
This means a lot of text copies and message handling in WM_GETTEXT and WM_SETTEXT.
8343
<p>The LCL instead (typically) stores Text in a field of the control,
8344
and transfers it from/to the widgets only when required.
8346
<p>To maintain VCL compatibility,
8347
the virtual <var>RealGet/SetText</var> methods have been introduced,
8348
which read or write the Caption string directly.
8350
<p>The default <var>Get/SetTextBuf</var> implementation calls the <var>RealGet/SetText</var> methods,
8351
resulting in a string-to-PCHAR and another PCHAR-to-string conversion.
8352
But as long as <var>Get/SetTextBuf</var> is not overridden,
8353
<var>Get/SetText</var> can (and does) safely call <var>RealGet/SetText</var> immediately,
8354
to avoid beforementioned conversions.
8356
<p>To keep things optimal, LCL components should always override RealGet/SetText;
8357
Get/SetTextBuf is only kept for compatibility.
8361
<!-- property Visibility: published -->
8362
<element name="TControl.Top">
8363
<short>The client coordinate of the top edge of the control.</short>
8365
<!-- property Visibility: public -->
8366
<element name="TControl.UndockHeight">
8367
<short>The height of the control in floating state.</short>
8371
<!-- property Visibility: public -->
8372
<element name="TControl.UndockWidth">
8373
<short>The width of the control in floating state.</short>
8377
<!-- property Visibility: public -->
8058
8378
<element name="TControl.Visible">
8061
- can the control be seen?</short>
8379
<short>Allows to show or hide the control, and all of its children.
8063
<pre>The Visible property represents the ability to see a visual control.
8064
If Visible is True the control is shown, otherwise it is hidden.
8065
Calling Show sets, among others, Visible to True.
8066
Setting Visible to False is equivalent to calling Hide method.</pre>
8067
<remark>The Visible property does not depend on control's parent visibility. Use IsVisible method to consider this and get real visibility.</remark>
8382
<p>Visible is set to True by <var>Show</var>, or to False by <var>Hide</var>.
8383
Calling these methods is equivalent to setting the Visible property.
8385
<remark>Reading the Visible property does not take into account control's parent visibility.
8386
Use the IsVisible method to get the real visibility.</remark>
8070
8389
<link id="#lcl.Controls.TControl.IsVisible"/>
9566
9420
<li>Adjusts the size of the client rectangle</li>
9567
9421
<li>Adjusts the bounds of the whole control</li>
9569
<p>Because this method involves so much overhead, the simpler <link id="#lcl.Controls.TControl.AdjustSize">TControl.AdjustSize</link> is often called instead.</p>
9573
<link id="#LCL.Controls.TControl.DoAutoSize">TControl.DoAutoSize</link>
9426
<link id="TControl.DoAutoSize"/>
9429
<!-- procedure Visibility: protected -->
9430
<element link="TControl.DoAllAutoSize" name="TWinControl.DoAllAutoSize"/>
9431
<!-- function Visibility: protected -->
9432
<element name="TWinControl.AutoSizeCanStart">
9433
<short>Deprecated, don't use it.</short>
9435
<element name="TWinControl.AutoSizeCanStart.Result">
9438
<!-- procedure Visibility: protected -->
9439
<element name="TWinControl.AllAutoSized">
9440
<short>Called by DoAllAutoSize after all bounds are computed.</short>
9444
<link id="#lcl.forms.TCustomForm.AllAutoSized"/>
9576
9447
<!-- procedure Visibility: protected -->
9577
9448
<element name="TWinControl.CalculatePreferredSize">
9579
<var>CalculatePreferredSize</var> - calculates the default/preferred width and height for a TWinControl, which is used by the LCL autosizing algorithms as default size</short>
9449
<short>Override this method to return a different preferred height and width for autosizing.
9581
<p>procedure <var>TWinControl.CalculatePreferredSize</var>(var <var>PreferredWidth</var>,
9582
<var>PreferredHeight</var>: integer; <var>WithThemeSpace</var>: Boolean);</p>
9583
<p>Calls the inherited method to calculate the default/preferred width and height for a <var>TWinControl</var>, which is used by the LCL autosizing algorithms as default size. Only positive values are valid. Negative or 0 are treated as undefined and the LCL uses other sizes instead.</p>
9452
<p>Calls the inherited method to calculate the default/preferred width and height for a <var>TWinControl</var>, which is used by the LCL autosizing algorithms as default size.
9453
Only positive values are valid. Negative or 0 are treated as undefined and the LCL uses other sizes instead.</p>
9585
9455
<var>TWinControl</var> overrides this:</p>
9587
9457
<li>If there are child components, their total preferred size is calculated</li>
9588
9458
<li>If this value can not be computed (e.g. the children depend too much on their
9589
parent clientrect), then the interface is asked for the preferred size</li>
9459
parent clientrect), then the interface is asked for the preferred size</li>
9591
9461
<p>For example the preferred size of a <var>TButton</var> is the size, where the label fits
9592
exactly. This depends heavily on the current theme and widgetset.</p>
9593
<p>This value is independent of constraints and siblings, only the inner parts
9462
exactly. This depends heavily on the current theme and widgetset.</p>
9463
<p>This value is independent of constraints and siblings, only the inner parts are relevant.</p>
9596
<var>WithThemeSpace</var>: If true, adds space for stacking. For example:
9602
<var>TRadioButton</var>
9603
has a minimum size. But for stacking multiple TRadioButtons there should be
9604
some space around. This space is theme dependent, so it is passed as a parameter to
9465
<var>WithThemeSpace</var>: If true, adds space for stacking. For example:
9468
<var>TRadioButton</var> has a minimum size. But for stacking multiple TRadioButtons there should be some space around.
9469
This space is theme dependent, so it is passed as a parameter to the widgetset. </p>
9609
<link id="#LCL.Controls.TControl.CalculatePreferredSize">TControl.CalculatePreferredSize</link>
9473
<link id="TControl.CalculatePreferredSize"/>
9612
<!-- argument Visibility: default -->
9613
9476
<element name="TWinControl.CalculatePreferredSize.PreferredWidth">
9616
<!-- argument Visibility: default -->
9617
9479
<element name="TWinControl.CalculatePreferredSize.PreferredHeight">
9620
<!-- procedure Visibility: protected -->
9621
<element name="TWinControl.GetChildBounds">
9627
<!-- argument Visibility: default -->
9628
<element name="TWinControl.GetChildBounds.ChildBounds">
9631
<!-- argument Visibility: default -->
9632
<element name="TWinControl.GetChildBounds.WithBorderSpace">
9482
<element name="TWinControl.CalculatePreferredSize.WithThemeSpace">
9635
9485
<!-- procedure Visibility: protected -->
9636
9486
<element name="TWinControl.GetChildren">
9638
<var>GetChildren</var> - makes a list of all the child components for this control</short>
9487
<short>Calls Proc with every child control, owned by Root.
9642
9492
<link id="#rtl.Classes.TComponent.GetChildren">TComponent.GetChildren</link>
9645
<!-- argument Visibility: default -->
9646
9495
<element name="TWinControl.GetChildren.Proc">
9496
<short>The callback procedure.</short>
9649
<!-- argument Visibility: default -->
9650
9498
<element name="TWinControl.GetChildren.Root">
9499
<short>The Owner of the reported controls.</short>
9653
9501
<!-- function Visibility: protected -->
9654
9502
<element name="TWinControl.ChildClassAllowed">
9656
<var>ChildClassAllowed</var> - returns True if the given child class is permitted</short>
9503
<short>Returns True if the given class is allowed for child controls.</short>
9661
<!-- function result Visibility: default -->
9662
9508
<element name="TWinControl.ChildClassAllowed.Result">
9665
<!-- argument Visibility: default -->
9666
9511
<element name="TWinControl.ChildClassAllowed.ChildClass">
9669
9514
<!-- procedure Visibility: protected -->
9670
9515
<element name="TWinControl.PaintControls">
9672
<var>PaintControls</var> - method for painting a series of controls</short>
9516
<short>Paint all child controls which don't have a Handle.
9518
<descr>Controls that are not TWinControl, have no handle of their own,
9519
and so they are repainted as part of the parent.
9677
<!-- argument Visibility: default -->
9678
9524
<element name="TWinControl.PaintControls.DC">
9525
<short>The device context usable for painting child controls.</short>
9681
<!-- argument Visibility: default -->
9682
9527
<element name="TWinControl.PaintControls.First">
9528
<short>First of the controls in Controls[], which remain to paint.
9685
9531
<!-- procedure Visibility: protected -->
9686
9532
<element name="TWinControl.PaintHandler">
9688
<var>PaintHandler</var> - message handler for painting</short>
9533
<short>Handler for TLMPaint, manages the painting of child controls.
9693
<!-- argument Visibility: default -->
9694
9539
<element name="TWinControl.PaintHandler.TheMessage">
9697
9542
<!-- procedure Visibility: protected -->
9698
9543
<element name="TWinControl.PaintWindow">
9700
<var>PaintWindow</var> - method for painting a window</short>
9544
<short>Paints an clipped part (child control) of the DC.
9705
<!-- argument Visibility: default -->
9706
9550
<element name="TWinControl.PaintWindow.DC">
9709
9553
<!-- procedure Visibility: protected -->
9710
9554
<element name="TWinControl.CreateBrush">
9712
<var>CreateBrush</var> - method to create a brush for painting</short>
9555
<short>Creates the <link id="#lcl.Controls.TWinControl.Brush">Brush</link>, if not already created.
9561
<!-- procedure Visibility: protected -->
9562
<element name="TWinControl.ScaleControls">
9563
<short>Scales (resizes) all child controls.</short>
9567
<link id="TWinControl.ChangeScale"/>
9570
<element name="TWinControl.ScaleControls.Multiplier">
9573
<element name="TWinControl.ScaleControls.Divider">
9576
<!-- procedure Visibility: protected -->
9577
<element link="TControl.ChangeScale" name="TWinControl.ChangeScale">
9578
<short>Scales (resizes) the control and all child controls.
9584
<element name="TWinControl.ChangeScale.Multiplier">
9587
<element name="TWinControl.ChangeScale.Divider">
9590
<!-- procedure Visibility: protected -->
9591
<element name="TWinControl.CMBiDiModeChanged">
9593
changed <link id="#lcl.Controls.TControl.BiDiMode">BiDiMode</link>
9595
Notifies the widget and all child controls.
9601
<element name="TWinControl.CMBiDiModeChanged.Message">
9604
<!-- procedure Visibility: protected -->
9605
<element name="TWinControl.CMBorderChanged">
9607
changed Border properties
9609
Adjusts and invalidates the control.
9612
<element name="TWinControl.CMBorderChanged.Message">
9717
9615
<!-- procedure Visibility: protected -->
9718
9616
<element name="TWinControl.CMEnabledChanged">
9720
<var>CMEnabledChanged</var> - control message for a change in the
9727
<var>Enabled</var> property</short>
9618
changed <link id="#lcl.Controls.TControl.Enabled">Enabled</link>
9620
Notifies the widgetset.
9732
<!-- argument Visibility: default -->
9733
9626
<element name="TWinControl.CMEnabledChanged.Message">
9736
9629
<!-- procedure Visibility: protected -->
9630
<element name="TWinControl.CMShowingChanged">
9632
changed <link id="TWinControl.Showing">Showing</link>
9634
Notifies the widgetset.
9640
<element name="TWinControl.CMShowingChanged.Message">
9643
<!-- procedure Visibility: protected -->
9737
9644
<element name="TWinControl.CMShowHintChanged">
9739
<var>CMShowHintChanged</var> - control message for a change in the
9746
<var>ShowHint</var> property</short>
9646
changed <link id="TWinControl.ShowHint">ShowHint</link>
9648
Notifies all child controls.
9751
<!-- argument Visibility: default -->
9752
9654
<element name="TWinControl.CMShowHintChanged.Message">
9755
9657
<!-- procedure Visibility: protected -->
9658
<element name="TWinControl.CMVisibleChanged">
9660
changed <link id="#lcl.Controls.TControl.Visible">Visible</link>
9662
Handles Focus, forces UpdateControlState.
9668
<element name="TWinControl.CMVisibleChanged.Message">
9671
<!-- procedure Visibility: protected -->
9672
<element name="TWinControl.CMEnter">
9677
<notes><note>?</note>
9680
<element name="TWinControl.CMEnter.Message">
9683
<!-- procedure Visibility: protected -->
9684
<element name="TWinControl.CMExit">
9689
<notes><note>?</note>
9692
<element name="TWinControl.CMExit.Message">
9695
<!-- procedure Visibility: protected -->
9696
<element name="TWinControl.WMContextMenu">
9697
<short>Handler for an
9698
<link id="TControl.PopupMenu">ContextMenu</link> event.
9699
Eventually delegates handling to the affected child control.
9705
<element name="TWinControl.WMContextMenu.Message">
9708
<!-- procedure Visibility: protected -->
9756
9709
<element name="TWinControl.WMEraseBkgnd">
9758
<var>WMEraseBkgnd</var> - LCL message for erasing background</short>
9710
<short>Erases the background,
9711
if <link id="TWinControlFlag.wcfEraseBackground">required</link>.
9763
<!-- argument Visibility: default -->
9764
9717
<element name="TWinControl.WMEraseBkgnd.Message">
9767
9720
<!-- procedure Visibility: protected -->
9768
9721
<element name="TWinControl.WMNotify">
9770
<var>WMNotify</var> - LCL Notify message</short>
9722
<short>Handles (dispatches) notification messages.
9775
<!-- argument Visibility: default -->
9776
9728
<element name="TWinControl.WMNotify.Message">
9779
9731
<!-- procedure Visibility: protected -->
9780
9732
<element name="TWinControl.WMSetFocus">
9782
<var>WMSetFocus</var> - LCL Message to set focus</short>
9733
<short>Handler for receiving Focus event.</short>
9737
<notes><note>do what?</note>
9787
<!-- argument Visibility: default -->
9788
9740
<element name="TWinControl.WMSetFocus.Message">
9791
9743
<!-- procedure Visibility: protected -->
9792
9744
<element name="TWinControl.WMKillFocus">
9794
<var>WMKillFocus</var> - LCL Message to kill focus</short>
9748
Eventually triggers <link id="#lcl.Controls.TControl.EditingDone"/>.
9799
<!-- argument Visibility: default -->
9800
9754
<element name="TWinControl.WMKillFocus.Message">
9803
9757
<!-- procedure Visibility: protected -->
9804
9758
<element name="TWinControl.WMShowWindow">
9806
<var>WMShowWindow</var> - LCL Message to show window</short>
9759
<short>Handler for changed visibility notification
9764
<notes><note>?</note>
9811
<!-- argument Visibility: default -->
9812
9767
<element name="TWinControl.WMShowWindow.Message">
9815
9770
<!-- procedure Visibility: protected -->
9816
9771
<element name="TWinControl.WMEnter">
9818
<var>WMEnter</var> - LCL Message for entry to the control</short>
9776
<notes><note>?</note>
9823
<!-- argument Visibility: default -->
9824
9779
<element name="TWinControl.WMEnter.Message">
9827
9782
<!-- procedure Visibility: protected -->
9828
9783
<element name="TWinControl.WMExit">
9830
<var>WMExit</var> - LCL Message for exit from control</short>
9788
<notes><note>?</note>
9835
<!-- argument Visibility: default -->
9836
9791
<element name="TWinControl.WMExit.Message">
9839
9794
<!-- procedure Visibility: protected -->
9840
<element name="TWinControl.WMMouseWheel">
9846
<!-- argument Visibility: default -->
9847
<element name="TWinControl.WMMouseWheel.Message">
9850
<!-- procedure Visibility: protected -->
9851
9795
<element name="TWinControl.WMKeyDown">
9853
<var>WMKeyDown</var> - LCL Message for a key down</short>
9796
<short>Event handler for key pressed, not handled by the widget.
9797
Tries <link id="TWinControl.DoRemainingKeyDown"/>.
9858
<!-- argument Visibility: default -->
9859
9803
<element name="TWinControl.WMKeyDown.Message">
9862
9806
<!-- procedure Visibility: protected -->
9863
9807
<element name="TWinControl.WMSysKeyDown">
9865
<var>WMSysKeyDown</var> - LCL Message for a system key down</short>
9808
<short>Event handler for sys key pressed, not handled by the widget.
9809
Tries <link id="TWinControl.DoRemainingKeyDown"/>.
9814
<notes><note>what's this?</note>
9870
<!-- argument Visibility: default -->
9871
9817
<element name="TWinControl.WMSysKeyDown.Message">
9874
9820
<!-- procedure Visibility: protected -->
9875
9821
<element name="TWinControl.WMKeyUp">
9877
<var>WMKeyUp</var> - LCL Message for a key up</short>
9822
<short>Event handler for
9823
key released, not handled by the widget.
9824
Tries <link id="TWinControl.DoRemainingKeyUp"/>.
9882
<!-- argument Visibility: default -->
9883
9830
<element name="TWinControl.WMKeyUp.Message">
9886
9833
<!-- procedure Visibility: protected -->
9887
9834
<element name="TWinControl.WMSysKeyUp">
9889
<var>WMSysKeyUp</var> - LCL Message for a system key up</short>
9835
<short>Event handler for
9836
system key released, not handled by the widget.
9837
Tries <link id="TWinControl.DoRemainingKeyUp"/>.
9894
<!-- argument Visibility: default -->
9895
9843
<element name="TWinControl.WMSysKeyUp.Message">
9898
9846
<!-- procedure Visibility: protected -->
9899
9847
<element name="TWinControl.WMChar">
9901
<var>WMChar</var> - LCL Message signifying a character</short>
9849
message sent by the widget, after it has handled the keypress itself.
9906
<!-- argument Visibility: default -->
9907
9855
<element name="TWinControl.WMChar.Message">
9910
9858
<!-- procedure Visibility: protected -->
9911
9859
<element name="TWinControl.WMSysChar">
9913
<var>WMSysChar</var> - LCL Message signifying a system character</short>
9861
message sent by the widget, after it has handled the keypress itself.
9918
<!-- argument Visibility: default -->
9919
9867
<element name="TWinControl.WMSysChar.Message">
9922
9870
<!-- procedure Visibility: protected -->
9923
9871
<element name="TWinControl.WMPaint">
9925
<var>WMPaint</var> - LCL Message for Paint</short>
9872
<short>Manages paint requests, handles double buffering.
9930
<!-- argument Visibility: default -->
9931
9878
<element name="TWinControl.WMPaint.Msg">
9934
9881
<!-- procedure Visibility: protected -->
9935
9882
<element name="TWinControl.WMDestroy">
9937
<var>WMDestroy</var> - LCL Message for control destruction</short>
9884
widget destroyed message. Clears the Handle.
9942
<!-- argument Visibility: default -->
9943
9890
<element name="TWinControl.WMDestroy.Message">
9946
9893
<!-- procedure Visibility: protected -->
9947
9894
<element name="TWinControl.WMMove">
9949
<var>WMMove</var> - LCL Message for movement</short>
9896
widget moved message. Updates the Bounds.
9954
<!-- argument Visibility: default -->
9955
9902
<element name="TWinControl.WMMove.Message">
9958
9905
<!-- procedure Visibility: protected -->
9959
9906
<element name="TWinControl.WMSize">
9961
<var>WMSize</var> - LCL Message for sizing control</short>
9907
<short>Event handler for size messages.
9910
<p>This method is called whenever width, height, clientwidth or clientheight have changed.
9912
<p>If the source of the message is the interface, the new size is stored
9913
in FBoundsRealized to avoid sending a size message back to the interface.
9966
<!-- argument Visibility: default -->
9967
9919
<element name="TWinControl.WMSize.Message">
9970
9922
<!-- procedure Visibility: protected -->
9923
<element name="TWinControl.WMWindowPosChanged">
9924
<short>Event handler for size/move messages.
9927
<p>This method is called whenever left, top, width, height, clientwidth or clientheight have changed.
9929
<p>If the source of the message is the interface, the new size is stored
9930
in FBoundsRealized to avoid sending a size message back to the interface.
9936
<element name="TWinControl.WMWindowPosChanged.Message">
9939
<!-- procedure Visibility: protected -->
9971
9940
<element name="TWinControl.CNKeyDown">
9973
<var>CNKeyDown</var> - control message for key down</short>
9942
a key pushed notification.
9943
The message is handled by DoKeyDownBeforeInterface by default.
9978
<!-- argument Visibility: default -->
9979
9949
<element name="TWinControl.CNKeyDown.Message">
9982
9952
<!-- procedure Visibility: protected -->
9983
9953
<element name="TWinControl.CNSysKeyDown">
9985
<var>CNSysKeyDown</var> - control message for system key down</short>
9955
a system key pushed notification.
9956
The message is handled by DoKeyDownBeforeInterface by default.
9990
<!-- argument Visibility: default -->
9991
9962
<element name="TWinControl.CNSysKeyDown.Message">
9994
9965
<!-- procedure Visibility: protected -->
9995
9966
<element name="TWinControl.CNKeyUp">
9997
<var>CNKeyUp</var> - control message for key up</short>
9968
a key released notification.
9969
The message is handled by DoKeyUpBeforeInterface by default.
10002
<!-- argument Visibility: default -->
10003
9975
<element name="TWinControl.CNKeyUp.Message">
10006
9978
<!-- procedure Visibility: protected -->
10007
9979
<element name="TWinControl.CNSysKeyUp">
10009
<var>CNSysKeyUp</var> - control message for system key up</short>
9981
a system key released notification.
9982
The message is handled by DoKeyUpBeforeInterface by default.
10014
<!-- argument Visibility: default -->
10015
9988
<element name="TWinControl.CNSysKeyUp.Message">
10018
9991
<!-- procedure Visibility: protected -->
10019
9992
<element name="TWinControl.CNChar">
10021
<var>CNChar</var> - control message specifying a character</short>
9994
a key pressed notification.
9995
CNChar is sent by the widget before it has handled the keypress itself.
10026
<!-- argument Visibility: default -->
10027
10001
<element name="TWinControl.CNChar.Message">
10030
10004
<!-- procedure Visibility: protected -->
10031
<element name="TWinControl.CNSysChar">
10005
<element name="TWinControl.DoDragMsg">
10006
<short>Dispatches a drag message, sent by the DragManager.</short>
10008
<p>On dmFindTarget a TWinControl returns the child control under the mouse, or Self if none is found.
10010
<p>All other messages are handled by inherited <link id="TControl.DoDragMsg"/>.
10014
<link id="TControl.DoDragMsg"/>
10017
<element name="TWinControl.DoDragMsg.Result">
10020
<element name="TWinControl.DoDragMsg.ADragMessage">
10023
<element name="TWinControl.DoDragMsg.APosition">
10026
<element name="TWinControl.DoDragMsg.ADragObject">
10029
<element name="TWinControl.DoDragMsg.ATarget">
10032
<element name="TWinControl.DoDragMsg.ADocking">
10035
<!-- function Visibility: protected -->
10036
<element name="TWinControl.DoDockClientMsg">
10037
<short>Handles a dmDragDock message, when a control has been docked to this site.</short>
10039
<p>Called when a control is dropped for docking.
10041
<p>Asks the dropped control to Dock itself into this control (adjust HostDockSite etc.).
10043
Calls an installed DockManager to adjust the coordinates of the docked control.
10045
<p>The Result is always True (unless overridden).
10050
<element name="TWinControl.DoDockClientMsg.Result">
10053
<element name="TWinControl.DoDockClientMsg.DragDockObject">
10056
<element name="TWinControl.DoDockClientMsg.aPosition">
10059
<!-- function Visibility: protected -->
10060
<element name="TWinControl.DoUndockClientMsg">
10061
<short>Notifies the DockManager of the undock of a client control.
10037
<!-- argument Visibility: default -->
10038
<element name="TWinControl.CNSysChar.Message">
10066
<link id="TDockManager.RemoveControl"/>
10069
<element name="TWinControl.DoUndockClientMsg.Result">
10070
<short>Always True.</short>
10072
<element name="TWinControl.DoUndockClientMsg.NewTarget">
10075
<element name="TWinControl.DoUndockClientMsg.Client">
10041
10078
<!-- procedure Visibility: protected -->
10042
10079
<element name="TWinControl.DoAddDockClient">
10043
<short>Adjust the Parent of the docked Client.</short>
10044
<descr>The default action is to set the Parent to the new docksite (this control), so that the client is displayed within the new site.</descr>
10080
<short>Adjust the Parent of a newly docked Client.</short>
10081
<descr>The default action is to set the Parent to the new docksite (this control),
10082
so that the client is displayed within the new site.</descr>
10046
<!-- argument Visibility: default -->
10047
10084
<element name="TWinControl.DoAddDockClient.Client">
10050
<!-- argument Visibility: default -->
10051
10087
<element name="TWinControl.DoAddDockClient.ARect">
10054
10090
<!-- procedure Visibility: protected -->
10055
10091
<element name="TWinControl.DockOver">
10056
<short>Position DockRect, invoke OnDockOver (via DoDockOver)</short>
10092
<short>Called to check whether this control allows docking and where.
10058
<p>Called on dragmanager messages dmEnter/Leave/Move, to get the DockRect to show.</p>
10059
<p>Accept has been set to True, to signal acceptance.</p>
10060
<p>Everything can be overridden by the OnDockOver handler, if installed.</p>
10095
<p>Called on dragmanager messages dmEnter/Leave/Move, to get the DockRect to show.
10097
<p>Positions the DockRect, invokes OnDockOver (via DoDockOver)
10099
<p>Everything can be overridden by the OnDockOver handler, if installed.
10063
10103
<link id="TControl.PositionDockRect"/>
10104
<link id="TControl.OnDockOver"/>
10066
<!-- argument Visibility: default -->
10067
10107
<element name="TWinControl.DockOver.Source">
10070
<!-- argument Visibility: default -->
10071
10110
<element name="TWinControl.DockOver.X">
10074
<!-- argument Visibility: default -->
10075
10113
<element name="TWinControl.DockOver.Y">
10078
<!-- argument Visibility: default -->
10079
10116
<element name="TWinControl.DockOver.State">
10082
<!-- argument Visibility: default -->
10083
10119
<element name="TWinControl.DockOver.Accept">
10120
<short>Initially True, set to False to reject an drop.</short>
10086
10122
<!-- procedure Visibility: protected -->
10087
10123
<element name="TWinControl.DoDockOver">
10088
10124
<short>Invoke the <link id="TWinControl.OnDockOver">OnDockOver</link> handler.</short>
10090
<!-- argument Visibility: default -->
10091
10126
<element name="TWinControl.DoDockOver.Source">
10094
<!-- argument Visibility: default -->
10095
10129
<element name="TWinControl.DoDockOver.X">
10098
<!-- argument Visibility: default -->
10099
10132
<element name="TWinControl.DoDockOver.Y">
10102
<!-- argument Visibility: default -->
10103
10135
<element name="TWinControl.DoDockOver.State">
10106
<!-- argument Visibility: default -->
10107
10138
<element name="TWinControl.DoDockOver.Accept">
10110
10141
<!-- procedure Visibility: protected -->
10111
10142
<element name="TWinControl.DoRemoveDockClient">
10112
<short>Perform special actions on removal of an docked client.</short>
10143
<short>Override this method to take special actions on removal of an docked client.</short>
10113
10144
<descr>The default implementation does nothing.</descr>
10115
<!-- argument Visibility: default -->
10116
10146
<element name="TWinControl.DoRemoveDockClient.Client">
10119
10149
<!-- function Visibility: protected -->
10120
10150
<element name="TWinControl.DoUnDock">
10121
<short>Notifies an <var>OnUnDock</var> handler and DockManager of the undocked client control.</short>
10122
<descr>The OnUnDock handler can deny to undock the control.</descr>
10151
<short>Notifies an <var>OnUnDock</var> handler and DockManager of an undocked client control.</short>
10152
<descr>The OnUnDock handler can deny to undock the control.
10153
This can cause trouble, the control better should not be draggable instead.
10125
10157
<link id="TWinControl.DoUndockClientMsg"/>
10158
<link id="TWinControl.OnUnDock"/>
10128
<!-- function result Visibility: default -->
10129
10161
<element name="TWinControl.DoUnDock.Result">
10162
<short>Set to False to deny undocking.</short>
10132
<!-- argument Visibility: default -->
10133
10164
<element name="TWinControl.DoUnDock.NewTarget">
10165
<short>The new docksite, Nil for floating.</short>
10136
<!-- argument Visibility: default -->
10137
10167
<element name="TWinControl.DoUnDock.Client">
10168
<short>The control being undocked.</short>
10170
<element name="TWinControl.DoUnDock.KeepDockSiteSize">
10172
<notes><note>?</note>
10140
10175
<!-- procedure Visibility: protected -->
10141
10176
<element name="TWinControl.GetSiteInfo">
10142
10177
<short>Return information about this dock site (InfluenceRect).</short>
10143
<descr>The InfluenceRect determines the screen coordinates, within which a drop is accepted.<br/>
10144
The InfluenceRect is the slightly inflated WindowRect of the dock site, adjustable in an OnGetSiteInfo handler.</descr>
10178
<descr>The InfluenceRect determines the screen coordinates,
10179
within which a drop is accepted.<br/>
10180
The InfluenceRect is the slightly inflated WindowRect of the dock site,
10181
adjustable in an OnGetSiteInfo handler.
10146
<!-- argument Visibility: default -->
10147
10184
<element name="TWinControl.GetSiteInfo.Client">
10185
<short>The dragged control</short>
10186
<notes><note>?</note>
10150
<!-- argument Visibility: default -->
10151
10189
<element name="TWinControl.GetSiteInfo.InfluenceRect">
10190
<short>The screen rectangle within which a drop is allowed.</short>
10154
<!-- argument Visibility: default -->
10155
10192
<element name="TWinControl.GetSiteInfo.MousePos">
10193
<short>The current mouse position.</short>
10158
<!-- argument Visibility: default -->
10159
10195
<element name="TWinControl.GetSiteInfo.CanDock">
10196
<short>Can be set to False to reject an drop.</short>
10162
10198
<!-- procedure Visibility: protected -->
10163
10199
<element name="TWinControl.ReloadDockedControl">
10164
10200
<short>Returns the docked control of the specified name.</short>
10166
<p>The control is searched in the controls owned by the owner of this control.</p>
10167
<p>Override to search other places, or to create a control of the requested name.</p>
10202
<p>This method is used during the restore of the layout of a docksite.
10204
<p>The control is searched in the controls owned by the owner of the docksite.
10206
<p>Override to search other places, or to create a control of the requested name.
10170
<!-- argument Visibility: default -->
10171
10210
<element name="TWinControl.ReloadDockedControl.AControlName">
10211
<short>The name of the control to be docked.</short>
10174
<!-- argument Visibility: default -->
10175
10213
<element name="TWinControl.ReloadDockedControl.AControl">
10214
<short>The matching control.</short>
10178
10216
<!-- function Visibility: protected -->
10179
10217
<element name="TWinControl.CreateDockManager">
10864
10784
<!-- procedure Visibility: protected -->
10865
10785
<element name="TWinControl.ChildHandlesCreated">
10867
<var>ChildHandlesCreated</var> - called after a child's handles are created</short>
10872
<!-- procedure Visibility: protected -->
10873
<element name="TWinControl.ReAlign">
10875
<var>ReAlign</var> - realign all children</short>
10880
<!-- procedure Visibility: protected -->
10881
<element link="#LCL.Controls.TControl.RealSetText" name="TWinControl.RealSetText">
10887
<!-- argument Visibility: default -->
10786
<short>Called after all child handles have been created. Resets wcfCreatingChildHandles.
10792
<!-- procedure Visibility: protected -->
10793
<element link="#LCL.Controls.TControl.RealSetText" name="TWinControl.RealSetText"/>
10888
10794
<element name="TWinControl.RealSetText.AValue">
10891
10797
<!-- procedure Visibility: protected -->
10892
10798
<element name="TWinControl.RemoveFocus">
10894
<var>RemoveFocus</var> from this WinContro</short>
10799
<short>Notifies the parent form of the focus loss.
10899
<!-- argument Visibility: default -->
10900
10805
<element name="TWinControl.RemoveFocus.Removing">
10903
10808
<!-- procedure Visibility: protected -->
10904
<element link="#LCL.Controls.TControl.SendMoveSizeMessages" name="TWinControl.SendMoveSizeMessages">
10910
<!-- argument Visibility: default -->
10809
<element link="#LCL.Controls.TControl.SendMoveSizeMessages" name="TWinControl.SendMoveSizeMessages"/>
10911
10810
<element name="TWinControl.SendMoveSizeMessages.SizeChanged">
10914
<!-- argument Visibility: default -->
10915
10813
<element name="TWinControl.SendMoveSizeMessages.PosChanged">
10918
10816
<!-- procedure Visibility: protected -->
10919
<element name="TWinControl.SetBorderStyle">
10921
<var>SetBorderStyle</var> - specify the style for the border</short>
10926
<!-- argument Visibility: default -->
10817
<element link="TWinControl.BorderStyle" name="TWinControl.SetBorderStyle"/>
10927
10818
<element name="TWinControl.SetBorderStyle.NewStyle">
10930
10821
<!-- procedure Visibility: protected -->
10931
<element link="#LCL.Controls.TControl.SetColor" name="TWinControl.SetColor">
10937
<!-- argument Visibility: default -->
10822
<element link="#LCL.Controls.TControl.SetColor" name="TWinControl.SetColor"/>
10938
10823
<element name="TWinControl.SetColor.Value">
10941
10826
<!-- procedure Visibility: protected -->
10942
<element name="TWinControl.SetZOrder">
10948
<!-- argument Visibility: default -->
10949
<element name="TWinControl.SetZOrder.Topmost">
10952
<!-- procedure Visibility: protected -->
10953
<element name="TWinControl.SetZOrderPosition">
10959
<!-- argument Visibility: default -->
10960
<element name="TWinControl.SetZOrderPosition.NewPosition">
10827
<element name="TWinControl.SetChildZPosition">
10828
<short>Updates the position of the child control in the Z plane (ie front-to-back).
10834
<element name="TWinControl.SetChildZPosition.AChild">
10837
<element name="TWinControl.SetChildZPosition.APosition">
10963
10840
<!-- procedure Visibility: protected -->
10964
10841
<element name="TWinControl.ShowControl">
10966
<var>ShowControl</var> - method for showing the specified control</short>
10842
<short>Asks the parent to show ourself.
10971
<!-- argument Visibility: default -->
10972
10848
<element name="TWinControl.ShowControl.AControl">
10975
<!-- procedure Visibility: protected -->
10976
<element link="#LCL.Controls.TControl.Update" name="TWinControl.Update">
10849
<short>The control to show, here: ignored!</short>
10982
10851
<!-- procedure Visibility: protected -->
10983
10852
<element name="TWinControl.UpdateControlState">
10985
<var>UpdateControlState</var> - update the state of the control</short>
10853
<short>Essentially updates the visible state of the control, and of the widget if already created.
10990
10859
<!-- procedure Visibility: protected -->
10991
10860
<element name="TWinControl.UpdateShowing">
10993
<var>UpdateShowing</var> - update the value of the
11000
<var>Showing</var> property</short>
10861
<short>When the widget should be visible and has not yet been created, it's created along with all children.
11005
10867
<!-- procedure Visibility: protected -->
11006
10868
<element name="TWinControl.WndProc">
11008
<var>WndProc</var> - makes specific reactions according to the message passed, then calls inherited
10869
<short>Adds special handling for focus and input messages, notifies an DockManager.
11018
10872
<p>LM_SETFOCUS: gets parent form and show this control as focused</p>
11019
10873
<p>LM_KILLFOCUS: removes focus fromthis control</p>
11020
10874
<p>LM_NCHITTEST: check transparency etc</p>
11021
<p>Mouse and Button messages: process any docking instructions</p>
10875
<p>Mouse messages: send to DockManager.</p>
11025
10879
<link id="#LCL.Controls.TControl.WndProc">TControl.WndProc</link>
11028
<!-- argument Visibility: default -->
11029
10882
<element name="TWinControl.WndProc.Message">
11032
<!-- property Visibility: protected -->
11033
<element name="TWinControl.BorderStyle">
11035
<var>BorderStyle</var>
11036
- none, or single</short>
11038
<!-- property Visibility: protected -->
11039
<element name="TWinControl.OnGetSiteInfo">
11041
<var>OnGetSiteInfo</var> - event handler for finding out information about the (docking) site</short>
11045
<!-- property Visibility: public -->
11046
<element name="TWinControl.BorderWidth">
11047
<short>Property to determine width of the window's border</short>
11048
<descr>// properties which are supported by all descendants<br/>
11049
<br/>Either reads a flag to find the width or sets the width. <br/>Default is set to zero.</descr>
11051
<!-- property Visibility: public -->
11052
<element name="TWinControl.BoundsLockCount">
11053
<short>Finds how many of the Bounds are locked</short>
11054
<descr>// properties which are supported by all descendants</descr>
11056
<!-- property Visibility: public -->
11057
<element name="TWinControl.Brush">
11058
<short>Find which type of brush to use for drawing the control</short>
11060
<link id="#lcl.graphics.TBrush"/>
11063
<!-- property Visibility: public -->
11064
<element name="TWinControl.CachedClientHeight">
11065
<short>Stored value of client height (read-only).</short>
11067
<!-- property Visibility: public -->
11068
<element name="TWinControl.CachedClientWidth">
11069
<short>Stored value of Client Width (read-only).</short>
11071
<!-- property Visibility: public -->
11072
<element name="TWinControl.ChildSizing">
11073
<short>Definitions how any child control is to be sized (read/write).</short>
11075
<link id="#lcl.Controls.TControlChildSizing"/>
11078
<!-- property Visibility: public -->
11079
<element name="TWinControl.ControlCount">
11080
<short>The number of controls associated with this window (read-only).</short>
11082
<!-- property Visibility: public -->
11083
<element name="TWinControl.Controls">
11084
<short>The indexed list of child controls in this window (read-only).</short>
11086
<!-- argument Visibility: default -->
11087
<element name="TWinControl.Controls.Index">
11088
<short>Numerical value to identify the control within the window</short>
11090
<!-- property Visibility: public -->
11091
<element name="TWinControl.DefWndProc">
11092
<short>The default procedure to be associated with the window</short>
11093
<descr>// properties which are supported by all descendants<br/>reads or writes a flag to define what is the default procedure</descr>
11095
<!-- property Visibility: public -->
11096
<element name="TWinControl.DockClientCount">
11097
<short>The number of clients docked into this control.</short>
11098
<descr>The docked controls can be accessed in<link id="TWinControl.DockClients">DockClients[]</link>. <var>DockClientCount</var> is equivalent to DockClients.Count, but handles also the special case when DockClients is Nil.</descr>
11100
<link id="TWinControl.DockClients"/>
11103
<!-- property Visibility: public -->
11104
<element name="TWinControl.DockClients">
11105
<short>The indexed list of controls docked into this control</short>
11107
<!-- argument Visibility: default -->
11108
<element name="TWinControl.DockClients.Index">
11109
<short>Index of the docked client.</short>
11111
<!-- property Visibility: public -->
11112
<element name="TWinControl.DockManager">
11113
<short>The docking layout manager for this control.</short>
11115
<p>A docksite can be managed (using an DockManager) or unmanaged (positioning docked controls in the event handlers). The DockManager determines the placement of docked controls, by setting DropOnControl and DropAlign before the drop, and by resizing and positioning the control when it's dropped.
11117
<p>A DockManager is used only when UseDockManager also is True. Setting UseDockManager to True creates an DockManager of the DefaultDockManagerClass for this docksite, if none was previously installed.
11119
<p>An unmanaged docksite, without an DockManager, can handle the placement of dropped controls in the OnDockOver and OnDockDrop event handlers.
11123
<link id="TWinControl.UseDockManager"/>
11124
<link id="TWinControl.DockSite"/>
11125
<link id="TWinControl.OnDockDrop"/>
11126
<link id="TWinControl.OnDockOver"/>
11127
<link id="DefaultDockTreeClass"/>
11130
<!-- property Visibility: public -->
11131
<element name="TWinControl.DockSite">
11132
<short>Is this a dock site? (read/write, default is False)</short>
11133
<descr>Enable this to use the DockManager automatically. For example to call DockManager.ResetBounds when the control resizes.</descr>
11135
<!-- property Visibility: public -->
11136
<element name="TWinControl.DoubleBuffered">
11137
<short>Is painting of this window double buffered? (read/write)</short>
11139
<!-- property Visibility: public -->
11140
<element name="TWinControl.Handle">
11141
<short>Operating System Handle for identifying and manipulating this window (read/write).</short>
11143
<!-- property Visibility: public -->
11144
<element name="TWinControl.IsResizing">
11145
<short>Is the window being re-sized?</short>
11146
<descr>Reads or writes flag to indicate re-sizing</descr>
11148
<!-- property Visibility: public -->
11149
<element name="TWinControl.TabOrder">
11150
<short>The place this control occupies in the list of tabs</short>
11151
<descr>Reads or writes information in flag; default is -1</descr>
11153
<!-- property Visibility: public -->
11154
<element name="TWinControl.TabStop">
11155
<short>Is the control in the sequence of controls accessed by successive presses of the Tab key?</short>
11157
<p>Use the TabStop to allow or disallow access to the control using the Tab key.
11159
<p>If the TabStop is True, the control is in the tab order. If TabStop is False, the control is not in the tab order and the user can't press the Tab key to move to the control.</p>
11162
<!-- property Visibility: public -->
11163
<element name="TWinControl.OnDockDrop">
11164
<short>Event handler for the drop of a control to be docked.</short>
11166
<!-- property Visibility: public -->
11167
<element name="TWinControl.OnDockOver">
11168
<short>Event handler for moves of a control over this docksite.</short>
11170
<!-- property Visibility: public -->
11171
<element name="TWinControl.OnEnter">
11174
- event handler for when the mouse enters the control, and the control receives focus</short>
11176
<!-- property Visibility: public -->
11177
<element name="TWinControl.OnExit">
11180
- event handler for when the mouse leaves the control and it loses focus</short>
11182
<!-- property Visibility: public -->
11183
<element name="TWinControl.OnKeyDown">
11185
<var>OnKeyDown</var>
11186
- event handler for instance when key is down while control has focus</short>
11189
<var>OnKeyDown</var>
11190
- event handler for instance when key is down while control has focus</p>
11191
<p>Differs from <link id="#lcl.Controls.TWinControl.OnKeyPress">OnKeyPress</link> in that the key may have already been down when the control received focus; with <var>OnKeyPress</var> the key needs to become pressed while the control has focus.</p>
11194
<!-- property Visibility: public -->
11195
<element name="TWinControl.OnKeyPress">
11196
<short>OnKeyPress - event controller for a key being pressed while the control has focus. To properly handle national chars use UTF8KeyPress instead.</short>
11199
<var>OnKeyPress</var>
11200
- event controller for a key being pressed while the control has focus</p>
11201
<p>Differs from <link id="#lcl.Controls.TWinControl.OnKeyDown">OnKeyDown</link> in that the key needs to become pressed while the control has focus; with <var>OnKeyDown</var> the key may have already been down when the control received focus.</p>
11202
<p>Note: we recommend you to use OnUTF8KeyPress to prevent data lost. National chars are converted from UTF8 to the system encoding in OnKeyPressEvent. This can cause a data lost if symbol cannot be converted, which means OnKeyPress is not called or with Char=#0. OnUTF8KeyPress does not perform this conversion.</p>
11205
<!-- property Visibility: public -->
11206
<element name="TWinControl.OnKeyUp">
11209
- event handler for instance when a key is up (not pressed) while the control has focus</short>
11213
- event handler for instance when a key is up (not pressed) while the control has focus</p>
11214
<p>The key may already have been up when the control received focus, or a pressed key may become released during the time the control has focus.</p>
11217
<!-- property Visibility: public -->
11218
<element name="TWinControl.OnMouseWheel">
11219
<short>Event handler for any movement of the mouse wheel</short>
11223
<!-- property Visibility: public -->
11224
<element name="TWinControl.OnMouseWheelDown">
11225
<short>Event handler for downward movement of the mouse wheel</short>
11229
<!-- property Visibility: public -->
11230
<element name="TWinControl.OnMouseWheelUp">
11231
<short>Event handler for upward movement of the mouse wheel</short>
11235
<!-- property Visibility: public -->
11236
<element name="TWinControl.OnUnDock">
11237
<short>Event handler for control becoming disconnected (undocked) from parent.</short>
11239
<!-- property Visibility: public -->
11240
<element name="TWinControl.OnUTF8KeyPress">
11241
<short>UTF8KeyPress - event controller for a key being pressed while the control has focus.</short>
11244
<var>OnUTF8KeyPress</var> - event controller for a key being pressed while the control has focus</p>
11245
<p>Differs from <link id="#lcl.Controls.TWinControl.OnKeyPress">OnKeyDown</link> in that the char does not converts to the system encoding</p>
11249
<!-- property Visibility: public -->
11250
<element name="TWinControl.ParentCtl3D">
11252
<var>ParentCtl3D</var> - does it inherit Ctl3D properties from parents? (Deprecated)</short>
11256
<!-- property Visibility: public -->
11257
<element name="TWinControl.Showing">
11258
<short>Is the window showing? (similar to Visible in other contexts)</short>
11262
<!-- property Visibility: public -->
11263
<element name="TWinControl.UseDockManager">
11264
<short>Create DockManager for docking (read/write)</short>
11265
<descr>The DockManager is created via a call to CreateDockManager.</descr>
11267
<!-- property Visibility: public -->
11268
<element name="TWinControl.VisibleDockClientCount">
11269
<short>The number of visible docked controls.</short>
11271
<!-- procedure Visibility: public -->
11272
<element name="TWinControl.AdjustSize">
11278
<!-- function Visibility: public -->
11279
<element link="#LCL.Controls.TControl.AutoSizeDelayed" name="TWinControl.AutoSizeDelayed">
11285
<!-- function result Visibility: default -->
10885
<!-- procedure Visibility: protected -->
10886
<element name="TWinControl.WSSetText">
10887
<short>Sends text to the widget (from WM_SETTEXT?).
10893
<element name="TWinControl.WSSetText.AText">
10894
<short>The text to send.</short>
10896
<!-- function Visibility: public -->
10897
<element name="TWinControl.AutoSizePhases">
10898
<short>Translates state flags into AutoSizePhases</short>
10902
<notes><note>?</note>
10905
<element name="TWinControl.AutoSizePhases.Result">
10908
<!-- function Visibility: public -->
10909
<element link="#LCL.Controls.TControl.AutoSizeDelayed" name="TWinControl.AutoSizeDelayed"/>
11286
10910
<element name="TWinControl.AutoSizeDelayed.Result">
10913
<!-- function Visibility: public -->
10914
<element name="TWinControl.AutoSizeCheckParent">
10915
<short>Checks for a parent control or widget.</short>
10920
<element name="TWinControl.AutoSizeCheckParent.Result">
10921
<short>True when a parent exists.</short>
11289
10923
<!-- procedure Visibility: public -->
11290
10924
<element name="TWinControl.BeginUpdateBounds">
11292
<var>BeginUpdateBounds</var> - start updating the bounds of the current WinControl</short>
10925
<short>Start of Bounds updates. Disables SetBounds by incrementing BoundsLockCount.</short>
10929
<link id="TWinControl.EndUpdateBounds"/>
11297
10932
<!-- procedure Visibility: public -->
11298
10933
<element name="TWinControl.EndUpdateBounds">
11300
<var>EndUpdateBounds</var> - finishes updating the bounds setting</short>
10934
<short>End of Bounds update. Decrements BoundsLockCount and eventually calls SetBounds.
10939
<link id="TWinControl.BeginUpdateBounds"/>
11305
10942
<!-- procedure Visibility: public -->
11306
10943
<element name="TWinControl.LockRealizeBounds">
11308
<var>LockRealizeBounds</var> - make the realized bounds unaccessible</short>
10944
<short>Disables sending bounds to the widget, by incrementing FRealizeBoundsLockCount.
10949
<link id="TWinControl.UnlockRealizeBounds"/>
11313
10952
<!-- procedure Visibility: public -->
11314
10953
<element name="TWinControl.UnlockRealizeBounds">
11316
<var>UnlockRealizeBounds</var> - unlock the previously locked realized bounds</short>
10954
<short>Enables sending bounds to the widget again, eventually updates the widget.
10959
<link id="TWinControl.LockRealizeBounds"/>
11321
10962
<!-- function Visibility: public -->
11322
10963
<element name="TWinControl.ControlAtPos">
11323
10964
<short>Get the child control at the given client position.</short>
11324
<descr>capfHasScrollOffset: Take into account scroll offset of scrollable wincontrol. (when not???)
11325
capfWinControls: skip wincontrols if False (when???)
11326
capfRecursive: find child of wincontrol
11328
WinControls are found before Controls (if overlapping).</descr>
10966
<p>WinControls are found before Controls (if overlapping).</p>
11332
<!-- function result Visibility: default -->
11333
<element name="TWinControl.ControlAtPos.Result">
11336
<!-- argument Visibility: default -->
11337
<element name="TWinControl.ControlAtPos.Pos"/>
11338
<!-- argument Visibility: default -->
11339
<element name="TWinControl.ControlAtPos.AllowDisabled">
11342
<!-- function Visibility: public -->
11343
<element name="TWinControl.ControlAtPos">
11344
<short>Returns the child control at the specified client coordinates.</short>
11346
<!-- function result Visibility: default -->
11347
<element name="TWinControl.ControlAtPos.Result">
11350
<!-- argument Visibility: default -->
11351
<element name="TWinControl.ControlAtPos.Pos">
11354
<!-- argument Visibility: default -->
11355
<element name="TWinControl.ControlAtPos.AllowDisabled">
11358
<!-- argument Visibility: default -->
11359
<element name="TWinControl.ControlAtPos.AllowWinControls">
11362
<!-- function Visibility: public -->
11363
<element name="TWinControl.ControlAtPos">
11364
<short>Returns the child control at the specified client coordinates.</short>
11366
<!-- function result Visibility: default -->
11367
<element name="TWinControl.ControlAtPos.Result">
11370
<!-- argument Visibility: default -->
11371
<element name="TWinControl.ControlAtPos.Pos">
11374
<!-- argument Visibility: default -->
11375
<element name="TWinControl.ControlAtPos.AllowDisabled">
11378
<!-- argument Visibility: default -->
11379
<element name="TWinControl.ControlAtPos.AllowWinControls">
11382
<!-- argument Visibility: default -->
10971
<element name="TWinControl.ControlAtPos.Result">
10972
<short>The found control, Nil if none found.</short>
10974
<element name="TWinControl.ControlAtPos.Pos">
10975
<short>The client coordinates.</short>
10977
<element name="TWinControl.ControlAtPos.AllowDisabled">
10978
<short>Allow finding disabled controls.</short>
10980
<element name="TWinControl.ControlAtPos.AllowWinControls">
10981
<short>Allow finding TWinControls, in addition to TControls.</short>
11383
10983
<element name="TWinControl.ControlAtPos.OnlyClientAreas">
10984
<short>Only search in client areas.</short>
10986
<element name="TWinControl.ControlAtPos.Flags">
10987
<short>Encoded Allow... conditions.</short>
10989
<!-- function Visibility: protected -->
10990
<element name="TWinControl.ContainsControl">
10991
<short>Returns True if this is a parent of the given control.
10997
<element name="TWinControl.ContainsControl.Result">
10998
<short>True when we are a parent of Control.</short>
11000
<element name="TWinControl.ContainsControl.Control">
11001
<short>The (possible) child control.</short>
11386
11003
<!-- procedure Visibility: public -->
11387
11004
<element name="TWinControl.DoAdjustClientRectChange">
11389
<var>DoAdjustClientRectChange</var> - perform any adjustments needed when the client rectangle changes</short>
11005
<short>Asks the widget if clientrect has changed since last AlignControl,
11006
and calls AdjustSize on change.
11012
<element name="TWinControl.DoAdjustClientRectChange.InvalidateRect">
11394
11015
<!-- procedure Visibility: public -->
11395
11016
<element name="TWinControl.InvalidateClientRectCache">
11397
<var>InvalidateClientRectCache</var> - render invalid any information in the client rectangle cache</short>
11017
<short>The ClientRect is cached.
11018
Call this procedure to invalidate the cache,
11019
so that next time the ClientRect is fetched from the widget.
11402
<!-- argument Visibility: default -->
11403
11025
<element name="TWinControl.InvalidateClientRectCache.WithChildControls">
11026
<short>Also invalidate all child controls, if True.</short>
11406
11028
<!-- function Visibility: public -->
11407
11029
<element name="TWinControl.ClientRectNeedsInterfaceUpdate">
11409
<var>ClientRectNeedsInterfaceUpdate</var> - True if update needed</short>
11030
<short>The ClientRect is cached - check if the cache is valid.
11414
<!-- function result Visibility: default -->
11415
11036
<element name="TWinControl.ClientRectNeedsInterfaceUpdate.Result">
11037
<short>True if update needed.</short>
11418
11039
<!-- procedure Visibility: public -->
11419
11040
<element link="#LCL.Controls.TControl.SetBounds" name="TWinControl.SetBounds">
11423
11041
<short>Sets the control bounds and adjusts child and docked controls.</short>
11425
<!-- argument Visibility: default -->
11426
11043
<element name="TWinControl.SetBounds.aLeft">
11429
<!-- argument Visibility: default -->
11430
11046
<element name="TWinControl.SetBounds.aTop">
11433
<!-- argument Visibility: default -->
11434
11049
<element name="TWinControl.SetBounds.aWidth">
11437
<!-- argument Visibility: default -->
11438
11052
<element name="TWinControl.SetBounds.aHeight">
11055
<!-- function Visibility: protected -->
11056
<element link="#LCL.Controls.TControl.GetChildsRect" name="TWinControl.GetChildsRect"/>
11057
<element name="TWinControl.GetChildsRect.Result">
11060
<element name="TWinControl.GetChildsRect.Scrolled">
11063
<!-- procedure Visibility: public -->
11064
<element link="TWinControl.DisableAutoSizing" name="TWinControl.DisableAlign"/>
11065
<!-- procedure Visibility: public -->
11066
<element link="TWinControl.EnableAutoSizing" name="TWinControl.EnableAlign"/>
11067
<!-- procedure Visibility: protected -->
11068
<element link="TControl.AdjustSize" name="TWinControl.ReAlign"/>
11069
<!-- procedure Visibility: public -->
11070
<element name="TWinControl.ScrollBy">
11071
<short>Move all child controls.</short>
11076
<element name="TWinControl.ScrollBy.DeltaX">
11077
<short>Increment for Left.</short>
11079
<element name="TWinControl.ScrollBy.DeltaY">
11080
<short>Increment for Top</short>
11082
<!-- procedure Visibility: public -->
11083
<element link="#LCL.Controls.TControl.WriteLayoutDebugReport" name="TWinControl.WriteLayoutDebugReport"/>
11084
<element name="TWinControl.WriteLayoutDebugReport.Prefix">
11441
11087
<!-- constructor Visibility: public -->
11442
<element name="TWinControl.Create">
11444
<link id="#rtl.Classes.TComponent.Create"/>
11445
<link id="#LCL.Controls.TControl.Create"/>
11448
<!-- argument Visibility: default -->
11088
<element name="TWinControl.Create"/>
11449
11089
<element name="TWinControl.Create.TheOwner">
11452
11092
<!-- constructor Visibility: public -->
11453
11093
<element name="TWinControl.CreateParented">
11455
<var>CreateParented</var> - constructor for a window that is the child of a specified parent</short>
11094
<short>Constructor for a control that is the child of the given widget.</short>
11460
<!-- argument Visibility: default -->
11461
<element name="TWinControl.CreateParented.ParentWindow">
11099
<element name="TWinControl.CreateParented.AParentWindow">
11464
11102
<!-- function Visibility: public -->
11465
<element name="TWinControl.CreateParentedControl">
11467
<var>CreateParentedControl</var> - returns a newly created window control that has a specified window as its parent</short>
11472
<!-- function result Visibility: default -->
11103
<element link="TWinControl.CreateParented" name="TWinControl.CreateParentedControl"/>
11473
11104
<element name="TWinControl.CreateParentedControl.Result">
11476
<!-- argument Visibility: default -->
11477
<element name="TWinControl.CreateParentedControl.ParentWindow">
11107
<element name="TWinControl.CreateParentedControl.AParentWindow">
11480
11110
<!-- destructor Visibility: public -->
11481
<element name="TWinControl.Destroy">
11483
<var>Destroy</var> - destructor for
11490
<var>TWinControl</var> and derived classes. Removes handles and docked controls, frees resources, then calls inherited
11501
<var>Destroy</var> - destructor for
11508
<var>TWinControl</var> and derived classes</p>
11509
<p>Destroys any allocated handles, removes any docking links, and frees the resources used by the control, then performs inherited <var>Destroy</var>
11511
<p>Overrides ancestor destructors, and may in turn be overridden</p>
11514
<link id="#LCL.Controls.TControl.Destroy">TControl.Destroy</link>
11111
<element name="TWinControl.Destroy"/>
11517
11112
<!-- procedure Visibility: public -->
11518
11113
<element name="TWinControl.DockDrop">
11519
<short>A dragged control has been dropped onto this docksite</short>
11520
<descr>Asks the dropped control to dock itself into the target control, updating its Parent, HostDockSite and the DockClients of the old and new DockSite. When a DockManager is installed, asks the DockManager to position the docked control (InsertControl). Finally sends an OnDockDrop event.</descr>
11114
<short>Handler for a DragManager dmDragDrop message,
11115
sent when a dragged control has been dropped onto this docksite.
11118
<p>Asks the dropped control to dock itself into this docksite,
11119
updating its Parent, HostDockSite,
11120
and the DockClients of the old and new DockSite.
11122
<p>When a DockManager is installed,
11123
asks the DockManager to position the docked control (InsertControl).
11125
<p>Finally creates an OnDockDrop event.
11522
11129
<link id="TWinControl.DoDockClientMsg"/>
11523
11130
<link id="TWinControl.OnDockDrop"/>
11524
11131
<link id="TDragDockObject"/>
11527
<!-- argument Visibility: default -->
11528
<element name="TWinControl.DockDrop.DockObject">
11134
<element name="TWinControl.DockDrop.DragDockObject">
11531
<!-- argument Visibility: default -->
11532
11137
<element name="TWinControl.DockDrop.X">
11535
<!-- argument Visibility: default -->
11536
11140
<element name="TWinControl.DockDrop.Y">
11539
11143
<!-- function Visibility: public -->
11540
11144
<element name="TWinControl.CanFocus">
11542
<var>CanFocus</var> - is the current window allowed to receive focus?</short>
11145
<short>Is this control allowed to receive the focus?</short>
11146
<descr>A control can get the focus only when all of its Parents except the form are Visible and Enabled.
11147
While CanFocus checks all control parents it does not check whether a form control is placed on can have focus.</descr>
11547
<!-- function result Visibility: default -->
11548
11151
<element name="TWinControl.CanFocus.Result">
11551
11154
<!-- function Visibility: public -->
11552
11155
<element name="TWinControl.GetControlIndex">
11554
<var>GetControlIndex</var> - find the index value for the given control</short>
11156
<short>Finds the index value for the given control,
11157
in <link id="TWinControl.Controls">Controls[]</link>.
11559
<!-- function result Visibility: default -->
11560
11163
<element name="TWinControl.GetControlIndex.Result">
11164
<short>The index in Controls, -1 if not found.</short>
11563
<!-- argument Visibility: default -->
11564
11166
<element name="TWinControl.GetControlIndex.AControl">
11167
<short>The (possible) child control.</short>
11567
11169
<!-- procedure Visibility: public -->
11568
<element name="TWinControl.SetControlIndex">
11570
<var>SetControlIndex</var> - set a new index value for the given control</short>
11575
<!-- argument Visibility: default -->
11170
<element link="TWinControl.SetChildZPosition" name="TWinControl.SetControlIndex"/>
11576
11171
<element name="TWinControl.SetControlIndex.AControl">
11579
<!-- argument Visibility: default -->
11580
11174
<element name="TWinControl.SetControlIndex.NewIndex">
11583
11177
<!-- function Visibility: public -->
11584
11178
<element name="TWinControl.Focused">
11586
<var>Focused</var> - is the current window receiving focus?</short>
11179
<short>Checks whether the control has the focus.
11591
<!-- function result Visibility: default -->
11592
11185
<element name="TWinControl.Focused.Result">
11186
<short>True when we have the focus.</short>
11595
11188
<!-- function Visibility: public -->
11596
11189
<element name="TWinControl.PerformTab">
11598
<var>PerformTab</var> - perform a tab - is it in the forward direction?</short>
11190
<short>Sets the focus to the next (or preceding) control.
11603
<!-- function result Visibility: default -->
11604
11196
<element name="TWinControl.PerformTab.Result">
11197
<short>True when the focus has been transferred.</short>
11607
<!-- argument Visibility: default -->
11608
11199
<element name="TWinControl.PerformTab.ForwardTab">
11200
<short>The direction of transfer: True for the next control in the TabOrder, False for the preceding control.</short>
11611
11202
<!-- function Visibility: public -->
11612
<element name="TWinControl.ControlByName">
11614
<var>ControlByName</var> - returns the identity of a control whose name is given as an argument</short>
11203
<element name="TWinControl.FindChildControl">
11204
<short>Finds a child control by name.
11619
<!-- function result Visibility: default -->
11620
<element name="TWinControl.ControlByName.Result">
11210
<element name="TWinControl.FindChildControl.Result">
11211
<short>True when the control has been found.</short>
11623
<!-- argument Visibility: default -->
11624
<element name="TWinControl.ControlByName.ControlName">
11213
<element name="TWinControl.FindChildControl.ControlName">
11214
<short>The Name of the control to find.</short>
11627
11216
<!-- procedure Visibility: public -->
11628
11217
<element name="TWinControl.SelectNext">
11630
<var>SelectNext</var> - move to the next windowed control and give it focus</short>
11218
<short>Transfers the focus to the next child control.
11221
<p>The search wraps around on the boundaries of the TabOrder array.
11223
<p>When no next control can be found, the focus remains unchanged.
11228
<link id="TWinControl.FindNextControl"/>
11635
<!-- argument Visibility: default -->
11636
11231
<element name="TWinControl.SelectNext.CurControl">
11232
<short>The control which is assumed to have the focus.</short>
11639
<!-- argument Visibility: default -->
11640
11234
<element name="TWinControl.SelectNext.GoForward">
11235
<short>False when the control preceding CurControl shall be found.</short>
11643
<!-- argument Visibility: default -->
11644
11237
<element name="TWinControl.SelectNext.CheckTabStop">
11238
<short>When True, only select a control that can receive the focus.</short>
11240
<!-- procedure Visibility: public -->
11241
<element link="#LCL.Controls.TControl.SetTempCursor" name="TWinControl.SetTempCursor"/>
11242
<element name="TWinControl.SetTempCursor.Value">
11647
11245
<!-- procedure Visibility: public -->
11648
11246
<element name="TWinControl.BroadCast">
11650
<var>BroadCast</var> - send
11652
<var>ToAllMessage</var> to all recipients</short>
11247
<short>Sends a message to all child controls.
11250
<link id="TWinControl.NotifyControls"/>
11654
<!-- argument Visibility: default -->
11655
11253
<element name="TWinControl.BroadCast.ToAllMessage">
11254
<short>The message to send.</short>
11658
11256
<!-- procedure Visibility: public -->
11659
11257
<element name="TWinControl.NotifyControls">
11661
<var>NotifyControls</var> - send
11669
<var>Msg </var>(a message) to all controls</short>
11258
<short>Sends a message to all child controls.
11263
<link id="TWinControl.BroadCast"/>
11674
<!-- argument Visibility: default -->
11675
11266
<element name="TWinControl.NotifyControls.Msg">
11267
<short>The message ID.</short>
11678
11269
<!-- procedure Visibility: public -->
11679
11270
<element name="TWinControl.DefaultHandler">
11681
<var>DefaultHandler</var> - performs
11688
<var>CallDefaultWndHandler</var>
11271
<short>Handles all messages that the control doesn't fully handle itself.
11274
<p>This implementation sends the message to the widget's message handler.
11276
<p>Override this method to implement your own message handling.
11277
If the message Result is nonzero, the message already has been handled;
11278
otherwise set the Result to nonzero (depending on the message ID),
11279
when the message has been handled.
11693
11284
<link id="#rtl.System.TObject.DefaultHandler">TObject.DefaultHandler</link>
11696
<!-- argument Visibility: default -->
11697
11287
<element name="TWinControl.DefaultHandler.AMessage">
11700
<!-- procedure Visibility: public -->
11701
<element name="TWinControl.DisableAlign">
11706
<!-- procedure Visibility: public -->
11707
<element name="TWinControl.EnableAlign">
11709
<var>EnableAlign</var> - turn on the alignment process</short>
11288
<short>The message to process.</short>
11714
11290
<!-- function Visibility: public -->
11715
<element link="#LCL.Controls.TControl.GetTextLen" name="TWinControl.GetTextLen">
11721
<!-- function result Visibility: default -->
11291
<element link="#LCL.Controls.TControl.GetTextLen" name="TWinControl.GetTextLen"/>
11722
11292
<element name="TWinControl.GetTextLen.Result">
11725
11295
<!-- procedure Visibility: public -->
11726
11296
<element name="TWinControl.Invalidate">
11732
<!-- procedure Visibility: public -->
11733
<element name="TWinControl.InsertControl">
11735
<var>InsertControl</var> - insert the specified control into the list, optionally with the specified index</short>
11737
<!-- argument Visibility: default -->
11738
<element name="TWinControl.InsertControl.AControl">
11741
<!-- procedure Visibility: public -->
11742
<element name="TWinControl.InsertControl">
11748
<!-- argument Visibility: default -->
11749
<element name="TWinControl.InsertControl.AControl">
11752
<!-- argument Visibility: default -->
11297
<short>Schedule an repaint request.
11299
<descr>This implementation invokes the Invalidate method of the widget.
11304
<!-- procedure Visibility: public -->
11305
<element name="TWinControl.AddControl">
11306
<short>Tell widgetset to add Handle object to parent's Handle object.
11311
<notes><note>?</note>
11314
<!-- procedure Visibility: public -->
11315
<element name="TWinControl.InsertControl">
11316
<short>Insert control into Controls[].
11319
<element name="TWinControl.InsertControl.AControl">
11320
<short>The control to insert.</short>
11753
11322
<element name="TWinControl.InsertControl.Index">
11323
<short>Insert at index (optional).</short>
11756
11325
<!-- procedure Visibility: public -->
11757
11326
<element name="TWinControl.RemoveControl">
11759
<var>RemoveControl</var> - remove the specified control from the list</short>
11327
<short>Remove control from Controls[].</short>
11764
<!-- argument Visibility: default -->
11765
11332
<element name="TWinControl.RemoveControl.AControl">
11768
<!-- procedure Visibility: public -->
11769
<element name="TWinControl.Insert">
11775
<!-- argument Visibility: default -->
11776
<element name="TWinControl.Insert.AControl">
11779
<!-- procedure Visibility: public -->
11780
<element name="TWinControl.Insert">
11786
<!-- argument Visibility: default -->
11787
<element name="TWinControl.Insert.AControl">
11790
<!-- argument Visibility: default -->
11791
<element name="TWinControl.Insert.Index">
11794
<!-- procedure Visibility: public -->
11795
<element name="TWinControl.Remove">
11801
<!-- argument Visibility: default -->
11802
<element name="TWinControl.Remove.AControl">
11805
<!-- procedure Visibility: public -->
11806
<element link="#LCL.Controls.TControl.Repaint" name="TWinControl.Repaint">
11333
<short>The control to remove.</short>
11335
<!-- procedure Visibility: public -->
11336
<element link="#LCL.Controls.TControl.Repaint" name="TWinControl.Repaint"/>
11337
<!-- procedure Visibility: protected -->
11338
<element link="#LCL.Controls.TControl.Update" name="TWinControl.Update"/>
11812
11339
<!-- procedure Visibility: public -->
11813
11340
<element name="TWinControl.SetFocus">
11818
<!-- function Visibility: public -->
11819
<element name="TWinControl.FindChildControl">
11821
<var>FindChildControl</var> - find what controls are descended from the current one</short>
11826
<!-- function result Visibility: default -->
11827
<element name="TWinControl.FindChildControl.Result">
11830
<!-- argument Visibility: default -->
11831
<element name="TWinControl.FindChildControl.ControlName">
11834
11345
<!-- procedure Visibility: public -->
11835
11346
<element name="TWinControl.FlipChildren">
11837
<var>FlipChildren</var> - reverse the order of the child components</short>
11347
<short>Flip children horizontally. That means mirroring the Left position and anchoring.
11349
<descr>Child controls arranged in left-to-right order appear in right-to-left order after flipping.
11350
All anchors are adjusted accordingly.
11354
<link id="TWinControl.DoFlipChildren"/>
11842
<!-- argument Visibility: default -->
11843
11357
<element name="TWinControl.FlipChildren.AllLevels">
11358
<short>Flip recursive?</short>
11360
<!-- procedure Visibility: public -->
11361
<element link="TWinControl.ChangeScale" name="TWinControl.ScaleBy"/>
11362
<element name="TWinControl.ScaleBy.Multiplier">
11365
<element name="TWinControl.ScaleBy.Divider">
11368
<!-- function Visibility: public -->
11369
<element name="TWinControl.GetDockCaption">
11370
<short>Returns the caption for the docked control.</short>
11372
<element name="TWinControl.GetDockCaption.Result">
11375
<element name="TWinControl.GetDockCaption.AControl">
11378
<!-- procedure Visibility: public -->
11379
<element name="TWinControl.UpdateDockCaption">
11380
<short>Updates the Caption to reflect the names of the docked clients.</short>
11382
<p>Called when this is a hostdocksite and either the list of docked clients have changed, or one of their captions.</p>
11383
<p>When a control is currently being undocked, but still is in the DockClients list, Exclude is set to this control.</p>
11388
<element name="TWinControl.UpdateDockCaption.Exclude">
11389
<short>Control to exclude from the DockCaption.</short>
11846
11391
<!-- procedure Visibility: public -->
11847
11392
<element name="TWinControl.GetTabOrderList">
11849
<var>GetTabOrderList</var> - find the list with the Tab Order</short>
11393
<short>Fill the list with all TabStop controls, recursing into child controls.</short>
11854
<!-- argument Visibility: default -->
11855
11398
<element name="TWinControl.GetTabOrderList.List">
11399
<short>The list to which the controls shall be added.</short>
11858
11401
<!-- function Visibility: public -->
11859
11402
<element name="TWinControl.HandleAllocated">
11861
<var>HandleAllocated</var> - find if the operating system has allocated a handle to this control</short>
11403
<short>Check whether a widget has been assigned to this control.
11866
<!-- function result Visibility: default -->
11867
11409
<element name="TWinControl.HandleAllocated.Result">
11410
<short>True when a widget exists (Handle is not Nil).</short>
11412
<!-- function Visibility: protected -->
11413
<element link="#LCL.Controls.TControl.ParentHandlesAllocated" name="TWinControl.ParentHandlesAllocated"/>
11414
<element name="TWinControl.ParentHandlesAllocated.Result">
11870
11417
<!-- procedure Visibility: public -->
11871
11418
<element name="TWinControl.HandleNeeded">
11873
<var>HandleNeeded</var> - tell the Operating System that this control requires a handle</short>
11419
<short>Call this method when your code requires a valid Handle for this control.
11422
<p>An attempt is made to create a widget, when not already done.</p>
11423
<remark>In certain situations it may be impossible to create a widget right now!</remark>
11878
11428
<!-- function Visibility: public -->
11879
11429
<element name="TWinControl.BrushCreated">
11881
<var>BrushCreated</var> - has a brush been created for this control?</short>
11430
<short>Has a <link id="TWinControl.Brush">Brush</link>
11431
been created for this control?</short>
11886
<!-- function result Visibility: default -->
11887
11436
<element name="TWinControl.BrushCreated.Result">
11437
<short>True when a Brush has been created.</short>
11890
11439
<!-- procedure Visibility: public -->
11891
11440
<element name="TWinControl.EraseBackground">
11893
<var>EraseBackground</var> - remove all material from the background</short>
11441
<short>Fills the entire control with the designed background color and pattern.
11444
<p>This method can be called during Paint requests only, which provide an valid DC.
11446
<p>The background may be transparent or non-rectangular as well!
11451
<notes><note>?</note>
11898
<!-- argument Visibility: default -->
11899
11454
<element name="TWinControl.EraseBackground.DC">
11455
<short>The device context to use; may be clipped to a certain shape.</short>
11456
<notes><note>?</note>
11902
11459
<!-- function Visibility: public -->
11903
11460
<element name="TWinControl.IntfUTF8KeyPress">
11905
<var>IntfUTF8KeyPress</var> - returns the UTF8 value of the pressed key from the interface</short>
11461
<short>Called by the interface after the navigation and specials keys are handled;
11462
i.e. after KeyDown but before KeyPress.
11464
<descr>Essentially expands an repeat count into multiple keystrokes,
11465
but not for SysKeys.
11469
<notes><note>?</note>
11910
<!-- function result Visibility: default -->
11911
11472
<element name="TWinControl.IntfUTF8KeyPress.Result">
11473
<short>True when multiple keystrokes have been processed.</short>
11914
<!-- argument Visibility: default -->
11915
11475
<element name="TWinControl.IntfUTF8KeyPress.UTF8Key">
11476
<short>The UTF-8 encoding of the character.</short>
11918
<!-- argument Visibility: default -->
11919
11478
<element name="TWinControl.IntfUTF8KeyPress.RepeatCount">
11479
<short>Must be greater than zero, the exact value is ignored</short>
11480
<notes><note>?</note>
11483
<element name="TWinControl.IntfUTF8KeyPress.SystemKey">
11484
<short>Must be False, else nothing happens.</short>
11485
<notes><note>?</note>
11488
<!-- procedure Visibility: public -->
11489
<element name="TWinControl.PaintTo">
11490
<short>Paints only when a widget exists.</short>
11494
<notes><note>what?</note>
11497
<element name="TWinControl.PaintTo.DC">
11500
<element name="TWinControl.PaintTo.X">
11503
<element name="TWinControl.PaintTo.Y">
11506
<element name="TWinControl.PaintTo.ACanvas">
11509
<!-- procedure Visibility: public -->
11510
<element name="TWinControl.SetShape">
11511
<short>Specifies the (non-rectangular) shape of the widget.
11517
<element name="TWinControl.SetShape.AShape">
11520
<!-- property Visibility: protected -->
11521
<element name="TWinControl.BorderStyle">
11522
<short>Allows to show a border (line) around the control,
11525
<link id="TWinControl.BorderWidth"/>
11528
<!-- property Visibility: public -->
11529
<element name="TWinControl.BorderWidth">
11530
<short>Width of the Border around the control; default is zero.
11533
<link id="TWinControl.BorderStyle"/>
11536
<!-- property Visibility: public -->
11537
<element name="TWinControl.BoundsLockCount">
11538
<short>For internal use: When greater zero, updates of the BoundsRect are blocked.
11541
<!-- property Visibility: public -->
11542
<element name="TWinControl.Brush">
11543
<short>The Brush used to paint the background of the control.
11546
<link id="#lcl.graphics.TBrush"/>
11549
<!-- property Visibility: public -->
11550
<element name="TWinControl.CachedClientHeight">
11551
<short>The intended ClientHeight, as sent to the widget.
11554
<!-- property Visibility: public -->
11555
<element name="TWinControl.CachedClientWidth">
11556
<short>The intended ClientWidth, as sent to the widget.
11559
<!-- property Visibility: public -->
11560
<element name="TWinControl.ChildSizing">
11561
<short>Parameters for child control arrangement and spacing.
11564
<link id="#lcl.Controls.TControlChildSizing"/>
11567
<!-- property Visibility: public -->
11568
<element name="TWinControl.ControlCount">
11569
<short>The number of immediate child controls.
11572
<link id="TWinControl.Controls"/>
11575
<!-- property Visibility: public -->
11576
<element name="TWinControl.Controls">
11577
<short>The indexed list of immediate child controls.</short>
11578
<descr>The index also indicates the Z-order of the children, zero for topmost
11581
<link id="TWinControl.ControlCount"/>
11583
<notes><note>?</note>
11586
<element name="TWinControl.Controls.Index">
11587
<short>Index of the requested control.</short>
11589
<!-- property Visibility: public -->
11590
<element name="TWinControl.DefWndProc">
11591
<short>The default WndProc on Windows widgetset and platforms.
11593
<notes><note>Usage?</note>
11596
<!-- property Visibility: public -->
11597
<element name="TWinControl.DockClientCount">
11598
<short>The number of clients docked into this control.</short>
11600
<p>The docked controls can be accessed in<link id="TWinControl.DockClients">DockClients[]</link>.</p>
11602
<var>DockClientCount</var> is equivalent to DockClients.Count, but handles the special case when DockClients is Nil.</p>
11605
<link id="TWinControl.DockClients"/>
11608
<!-- property Visibility: public -->
11609
<element name="TWinControl.DockClients">
11610
<short>The indexed list of controls docked into this control.</short>
11612
<link id="TWinControl.DockClientCount"/>
11615
<element name="TWinControl.DockClients.Index">
11616
<short>Index of the requested docked client.</short>
11618
<!-- property Visibility: public -->
11619
<element name="TWinControl.DockManager">
11620
<short>The docking layout manager for this control.</short>
11622
<p>A docksite can be managed (using an DockManager) or unmanaged (positioning docked controls in the event handlers).
11623
The DockManager determines the placement of docked controls,
11624
by setting DropOnControl and DropAlign before the drop,
11625
and by resizing and positioning the control when it's dropped.</p>
11626
<p>A DockManager is used only when UseDockManager also is True.
11627
Setting UseDockManager to True creates an DockManager of the DefaultDockManagerClass for this docksite, if none was previously installed.</p>
11628
<p>An unmanaged docksite, without an DockManager,
11629
can handle the placement of dropped controls in the OnDockOver and OnDockDrop event handlers.</p>
11632
<link id="TWinControl.UseDockManager"/>
11633
<link id="TWinControl.DockSite"/>
11634
<link id="TWinControl.OnDockDrop"/>
11635
<link id="TWinControl.OnDockOver"/>
11636
<link id="TDockManager"/>
11639
<!-- property Visibility: public -->
11640
<element name="TWinControl.DockSite">
11641
<short>Allows to drag-dock other controls into this control.
11644
<p>A DockSite reacts on controls dragged over this control,
11645
signals acceptance and where a dragged control would be dropped.
11647
<remark>A DockSite should initially be empty, not containing any child controls.
11651
<link id="TWinControl.DockManager"/>
11652
<link id="TWinControl.UseDockManager"/>
11655
<!-- property Visibility: public -->
11656
<element name="TWinControl.DoubleBuffered">
11657
<short>Allows to reduce flicker in the painting of the control.</short>
11659
<p>Paint requests typically are buffered in the message queue.
11660
When a paint message arrives, all elements of the control are drawn onto the screen,
11661
according to their type, style, state and content.
11663
<p>This can cause flicker, when stacked controls wipe out preceding paintings,
11664
e.g. when unchanged text is erased from the screen before it is painted again,
11665
when it takes some time to retrieve the text of list entries,
11666
or wrapping long text at the current control boundaries.
11667
Owner-drawing also can cause noticeable flicker.
11669
<p>To reduce such flicker, DoubleBuffered controls use a buffer bitmap
11670
into which all painting is redirected.
11671
When the bitmap has been updated, a paint request is queued for the control.
11672
When that paint request is received again,
11673
the prepared bitmap is output in one fast BitBlt transfer, eliminating any flicker.
11675
<p>All this happens automatically, when DoubleBuffered is set to True,
11676
no further changes are required in application or custom control code.
11680
<!-- property Visibility: public -->
11681
<element name="TWinControl.Handle">
11682
<short>A reference to the widget, associated with this control.
11685
<!-- property Visibility: public -->
11686
<element name="TWinControl.IsResizing">
11687
<short>Check IsResizing and drop or delay changes to the control,
11688
until the new size has been determined.
11691
<element name="TWinControl.OnAlignInsertBefore">
11692
<short>Handler for custom-aligned child controls,
11693
determines the order of control placement.
11696
<element name="TWinControl.OnAlignPosition">
11697
<short>Handler for custom-aligned child controls,
11698
determines the position of the child control.
11701
<!-- property Visibility: public -->
11702
<element name="TWinControl.OnDockDrop">
11703
<short>Notification handler for the drop of a control to be docked.</short>
11705
<!-- property Visibility: public -->
11706
<element name="TWinControl.OnDockOver">
11707
<short>Event handler for moves of a control over this docksite.
11708
Determines acceptance or rejection of an possible drop.
11711
<!-- property Visibility: public -->
11712
<element name="TWinControl.OnEnter">
11713
<short>Handler for control receiving the focus.
11716
<!-- property Visibility: public -->
11717
<element name="TWinControl.OnExit">
11718
<short>Handler for control loosing the focus.
11719
This is a good place for checking the finished user input.
11722
<!-- property Visibility: protected -->
11723
<element name="TWinControl.OnGetDockCaption">
11724
<short>This handler can provide a special DockCaption,
11725
different from the Caption default.
11730
<!-- property Visibility: protected -->
11731
<element name="TWinControl.OnGetSiteInfo">
11732
<short>Provides information about the DockSite.
11735
<p>The handler can adjust the InfluenceRect,
11736
within which mouse moves are recognized by this control.
11738
<p>The handler also can deny any drops, depending on the type of the dragged control.
11740
<p>This event occurs before OnDockOver.
11744
<link id="TWinControl.OnDockOver"/>
11747
<!-- property Visibility: public -->
11748
<element name="TWinControl.OnKeyDown">
11750
keyboard key pressed.
11753
<p>This handler can filter keys, for special use in e.g. non-textual controls.
11755
<p>The handler receives all keystrokes, including control and other non-visual keys.
11756
Keys are encoded as <b>virtual</b> keys, with separate active modifier keys.
11758
<p>Text input instead should be checked in an OnKeyPress handler.
11762
<link id="TWinControl.OnKeyUp"/>
11763
<link id="TWinControl.OnKeyPress"/>
11766
<!-- property Visibility: public -->
11767
<element name="TWinControl.OnKeyPress">
11768
<short>Handler for a character entered by the user.
11771
<p>This handler only receives characters, not control or other special keycodes.
11772
Control keys should be handled by an OnKeyDown handler instead.
11774
<p>The handler can convert the character into a different one.
11776
<remark>We recommend you to use OnUTF8KeyPress to prevent data loss.
11777
Characters are converted from UTF8 to the system encoding in OnKeyPressEvent,
11778
with possible loss of characters outside the Ansi codepage.
11782
<link id="TWinControl.OnKeyDown"/>
11783
<link id="TWinControl.OnUTF8KeyPress"/>
11786
<!-- property Visibility: public -->
11787
<element name="TWinControl.OnKeyUp">
11789
keyboard key released.
11792
<p>Unlike OnKeyDown, this event occurs only once for auto-repeated keys.
11794
<p>For details see <link id="TWinControl.OnKeyDown"/>.
11798
<link id="TWinControl.OnKeyDown"/>
11799
<link id="TWinControl.OnKeyPress"/>
11802
<!-- property Visibility: public -->
11803
<element name="TWinControl.OnUnDock">
11804
<short>Event handler for control being undocked from this DockSite.</short>
11806
<p>The handler can disallow undocking.
11810
<!-- property Visibility: public -->
11811
<element name="TWinControl.OnUTF8KeyPress">
11812
<short>Handler for a character entered by the user.
11815
<p>This handler only receives characters, not control or other special keycodes.
11816
Control keys should be handled by an OnKeyDown handler instead.
11818
<p>The handler can convert the character into a different one.
11820
<p>While <link id="TWinControl.OnKeyPress">OnKeyPress</link>
11821
only receives Ansi characters,
11822
with possible loss of characters outside the Ansi codepage,
11823
the OnUTF8KeyPress handler receives the UTF-8 character code.
11827
<link id="TWinControl.OnKeyDown"/>
11828
<link id="TWinControl.OnKeyPress"/>
11831
<!-- property Visibility: public -->
11832
<element name="TWinControl.ParentWindow">
11833
<short>The Handle of the parent widget.</short>
11836
<notes><note>Usage?</note>
11839
<!-- property Visibility: public -->
11840
<element name="TWinControl.Showing">
11841
<short>Cached widget visibility, not necessarily in sync with the widget.
11846
<!-- property Visibility: public -->
11847
<element name="TWinControl.TabOrder">
11848
<short>Determines the sequence of controls, reachable when the user presses the Tab key.
11852
<link id="TWinControl.TabStop"/>
11855
<!-- property Visibility: public -->
11856
<element name="TWinControl.TabStop">
11857
<short>Allows the user to navigate to this control, by pressing the Tab key.
11861
<link id="TWinControl.TabOrder"/>
11864
<!-- property Visibility: public -->
11865
<element name="TWinControl.UseDockManager">
11866
<short>Determines whether a DockManager is used for this DockSite.
11869
<p>When this property becomes True, and DockSite also is True,
11870
a DockManager is created automatically.
11872
<p>When False an eventually existing DockManager is ignored.
11874
<p>If you want to use an special DockManager,
11875
install it before setting UseDockManager to True.
11879
<link id="TWinControl.DockSite"/>
11880
<link id="TWinControl.DockManager"/>
11881
<link id="TWinControl.CreateDockManager"/>
11884
<!-- property Visibility: public -->
11885
<element name="TWinControl.VisibleDockClientCount">
11886
<short>The number of visible docked controls.</short>
11888
<link id="TWinControl.DockClientCount"/>
11889
<link id="TWinControl.DockClients"/>
11892
<!-- property Visibility: protected -->
11893
<element name="TWinControl.WindowHandle">
11894
<short>For internal use: allows direct access to Handle, bypassing any getter/setter methods.
11922
11899
<!-- object Visibility: default -->
11923
11900
<element name="TGraphicControl">
11925
<var>TGraphicControl</var>
11926
is the base class for all lightweight controls.</short>
11902
<var>TGraphicControl</var> is the base class for all lightweight controls.</short>
11929
<var>TGraphicControl</var>
11930
supports simple lightweight controls that do not
11931
need the ability to accept keyboard input or contain other controls. </p>
11932
<p>Since lightweight controls do not wrap GUI screen objects, they are faster and use fewer resources than controls based on <var>TWinControl</var>.</p>
11905
<var>TGraphicControl</var> supports simple lightweight controls
11906
that do not need the ability to accept keyboard input or contain other controls.
11908
<p>If you want to accept keyboard input, or need to support child controls,
11909
use a <var>TCustomControl</var> instead.
11911
<p>Since lightweight controls do not wrap GUI widgets,
11912
they use fewer resources than controls based on
11913
<var>TWinControl</var>.
11934
<var>TGraphicControl</var>
11943
<var>Canvas</var> property for access to the control's drawing surface and a virtual
11951
<var>Paint</var> method called in response to paint requests received by the parent control.</p>
11916
<var>TGraphicControl</var> provides a
11919
<var>Canvas</var> property for access to the control's drawing surface
11922
<var>Paint</var> method and an
11924
<var>OnPaint</var> handler,
11925
called in response to paint requests received by the parent control.
11927
<p>Override the Paint method or supply your own OnPaint handler,
11928
to do the actual drawing of the control.
11954
<link id="#lcl.Controls.TWinControl"/>
11932
<link id="#lcl.Controls.TCustomControl"/>
11933
<link id="TGraphicControl.Paint"/>
11934
<link id="TGraphicControl.OnPaint"/>
11955
11935
<link id="#lcl.Graphics.TCanvas"/>
11958
11938
<!-- variable Visibility: private -->
11959
<element name="TGraphicControl.FCanvas">
11960
<short>A reference to the parent's Canvas.</short>
11961
<descr>The canvas isn't "owned" by the TGraphicControl, but by its parent.</descr>
11963
<!-- variable Visibility: private -->
11964
<element name="TGraphicControl.FOnPaint">
11939
<element link="TGraphicControl.Canvas" name="TGraphicControl.FCanvas"/>
11940
<element link="TGraphicControl.OnPaint" name="TGraphicControl.FOnPaint"/>
11969
11941
<!-- procedure Visibility: private -->
11970
11942
<element name="TGraphicControl.WMPaint">
11943
<short>Event handler for paint messages.</short>
11976
<!-- argument Visibility: default -->
11977
11945
<element name="TGraphicControl.WMPaint.Message">
11980
11948
<!-- procedure Visibility: protected -->
11949
<element link="#LCL.LCLClasses.TLCLComponent.WSRegisterClass" name="TGraphicControl.WSRegisterClass"/>
11950
<element link="#LCL.Controls.TControl.FontChanged" name="TGraphicControl.FontChanged"/>
11951
<element name="TGraphicControl.FontChanged.Sender">
11954
<!-- procedure Visibility: protected -->
11981
11955
<element name="TGraphicControl.Paint">
11982
<short>Virtual <var>Paint</var> method called in response to paint requests.</short>
11983
<descr>Virtual <var>Paint</var> method called in response to paint requests received by the parent control.</descr>
11956
<short>Override this method with your own painting code.
11958
<descr>The default implementation invokes the OnPaint handler.
11961
<link id="TGraphicControl.OnPaint"/>
11964
<!-- procedure Visibility: protected -->
11965
<element link="#LCL.Controls.TControl.DoOnChangeBounds" name="TGraphicControl.DoOnChangeBounds"/>
11966
<!-- procedure Visibility: protected -->
11967
<element name="TGraphicControl.DoOnParentHandleDestruction"/>
11968
<!-- procedure Visibility: public -->
11969
<element name="TGraphicControl.Update"/>
11985
11970
<!-- constructor Visibility: public -->
11986
<element name="TGraphicControl.Create">
11988
<var>Create</var> - constructor for
11995
<var>TGraphicControl</var>: performs inherited
12002
<var>Create</var> then creates local
12013
<var>Create</var> - constructor for
12020
<var>TGraphicControl</var>: performs inherited
12027
<var>Create</var> then creates local
12036
<p>Overrides ancestor and may be overridden</p>
12039
<link id="#LCL.Controls.TControl.Create">TControl.Create</link>
12042
<!-- argument Visibility: default -->
12043
<element name="TGraphicControl.Create.AOwner">
11971
<element name="TGraphicControl.Create"/>
11972
<element name="TGraphicControl.Create.AOwner"/>
12046
11973
<!-- destructor Visibility: public -->
12047
<element name="TGraphicControl.Destroy">
12049
<var>Destroy</var> - destructor for
12056
<var>TGraphicControl</var>: frees local canvas and performs inherited
12067
<var>Destroy</var> - destructor for
12074
<var>TGraphicControl</var>: frees local canvas and performs inherited
12083
<p>Overrides ancestor destructors, and may be overridden</p>
12086
<link id="#LCL.Controls.TControl.Destroy">TControl.Destroy</link>
11974
<element name="TGraphicControl.Destroy"/>
12089
11975
<!-- property Visibility: public -->
12090
11976
<element name="TGraphicControl.Canvas">
12091
<short>A clipping window to the parent canvas.</short>
11977
<short>A clipped window into the parent Canvas.</short>
12094
<var>The TGraphicsControl.Canvas</var>
12095
is a clipping window to the parent canvas.</p>
12096
<p>If you ask for the <var>Canvas.Width</var> or <var>Canvas.Height</var>, you are actually
12097
getting the parent control's Canvas dimensions.</p>
12098
<p>To get the dimensions of the <var>TGraphicControl,</var> you must query the <var>ClientRect</var>.</p>
11979
<p>Don't paint on the entire Canvas!
11980
Instead use the dimensions of the <var>TGraphicControl</var>
11981
stored in the <var>ClientRect</var>.
11983
<p>If you ask for the <var>Canvas.Width</var> or <var>Canvas.Height</var>,
11984
you are actually getting the Parent control's Canvas dimensions.
11988
<link id="TControl.ClientRect"/>
11989
<link id="TControl.ClientWidth"/>
11990
<link id="TControl.ClientHeight"/>
12101
11991
<link id="#lcl.Graphics.TCanvas">TCanvas</link>
11992
<link id="TControl.BoundsRect"/>
12104
11995
<!-- property Visibility: public -->
12105
11996
<element name="TGraphicControl.OnPaint">
12108
- event handler for request to paint canvas</short>
11997
<short>Supply your own OnPaint handler for painting the control.
12000
<link id="TGraphicControl.Paint"/>
12110
12003
<!-- object Visibility: default -->
12111
12004
<element name="TCustomControl">
12113
<var>TCustomControl </var>- a base class for many window controls</short>
12005
<short>The base class for windowed controls which paint themselves.
12115
<p>Contains simple basic definitions to create, destroy and paint window controls and set basic properties like canvas and border</p>
12008
<p>In contrast to TGraphicControl,
12009
a TCustomControl can accept keyboard input (get the Focus)
12010
and can have child controls.
12012
<p>Override the Paint method or supply your own OnPaint handler,
12013
to do the actual drawing of the control.
12118
<link id="#lcl.Controls.TWinControl">TWinControl</link>
12119
<link id="#lcl.Controls.TControl">TControl</link>
12017
<link id="TWinControl"/>
12018
<link id="TGraphicControl"/>
12122
12021
<!-- variable Visibility: private -->
12123
<element name="TCustomControl.FCanvas">
12128
<!-- variable Visibility: private -->
12129
<element name="TCustomControl.FOnPaint">
12022
<element link="TCustomControl.Canvas" name="TCustomControl.FCanvas"/>
12023
<element link="TCustomControl.OnPaint" name="TCustomControl.FOnPaint"/>
12024
<element link="#LCL.LCLClasses.TLCLComponent.WSRegisterClass" name="TCustomControl.WSRegisterClass"/>
12134
12025
<!-- procedure Visibility: protected -->
12135
12026
<element name="TCustomControl.WMPaint">
12137
<var>WMPaint</var> - LCL message for painting</short>
12027
<short>Event handler for paint messages.</short>
12142
<!-- argument Visibility: default -->
12143
12029
<element name="TCustomControl.WMPaint.Message">
12032
<!-- procedure Visibility: public -->
12033
<element link="#LCL.Controls.TWinControl.DestroyWnd" name="TCustomControl.DestroyWnd"/>
12146
12034
<!-- procedure Visibility: protected -->
12147
12035
<element link="#LCL.Controls.TWinControl.PaintWindow" name="TCustomControl.PaintWindow">
12148
<short>Paint handler plug-in</short>
12149
<descr>This is a plug-in in TWinControl to get the DC, <br/>
12150
assign it to our canvas and call the paint method for <br/>
12151
descendants to do the actual painting
12036
<short>The Paint handler plug-in, intercepting paint requests.</short>
12037
<descr>PaintWindow prepares the Canvas for painting,
12038
and invokes the Paint method to do the actual painting.
12154
<link id="#lcl.Controls.TWinControl.PaintWindow">TWinControl.PaintWindow</link>
12041
<link id="TWinControl.PaintWindow"/>
12157
<!-- argument Visibility: default -->
12158
12044
<element name="TCustomControl.PaintWindow.DC">
12159
<short>The Device Context in which to paint</short>
12161
<!-- constructor Visibility: public -->
12162
<element name="TCustomControl.Create">
12164
<var>Create</var> - constructor for
12171
<var>TCustomControl</var>: performs inherited
12178
<var>Create</var>, then creates local
12185
<var>Canvas</var> and sets
12192
<var>DoubleBuffered</var> to be False</short>
12194
<link id="#LCL.Controls.TControl.Create">TControl.Create</link>
12195
<link id="#LCL.Controls.TWinControl.Create">TWinControl.Create</link>
12198
<!-- argument Visibility: default -->
12199
<element name="TCustomControl.Create.AOwner">
12200
<short>Owner, ie the component that called this control</short>
12202
<!-- destructor Visibility: public -->
12203
<element name="TCustomControl.Destroy">
12205
<var>Destroy</var> - destructor for
12212
<var>TCustomControl</var>: frees local
12219
<var>Canvas</var> then performs inherited
12230
<var>Destroy</var> - destructor for
12237
<var>TCustomControl</var>: frees local
12244
<var>Canvas</var> then performs inherited
12253
<p>Overrides ancestor destructors, may be overridden</p>
12256
<link id="#LCL.Controls.TControl.Destroy">TControl.Destroy</link>
12257
<link id="#LCL.Controls.TWinControl.Destroy">TWinControl.Destroy</link>
12260
<!-- procedure Visibility: public -->
12261
<element name="TCustomControl.DestroyComponent">
12262
<short>If the custom control has been destroyed, free its handle as well</short>
12045
<short>The Device Context in which to paint.</short>
12047
<!-- procedure Visibility: protected -->
12048
<element link="#LCL.Controls.TControl.FontChanged" name="TCustomControl.FontChanged"/>
12049
<element name="TCustomControl.FontChanged.Sender">
12052
<!-- procedure Visibility: protected -->
12053
<element link="#LCL.Controls.TControl.SetColor" name="TCustomControl.SetColor"/>
12054
<element name="TCustomControl.SetColor.Value">
12264
12057
<!-- procedure Visibility: public -->
12265
12058
<element name="TCustomControl.Paint">
12266
<short>The default paint handler for the class</short>
12267
<descr>If using a control derived from this parent, the developer needs to write a specific paint handler to override this one</descr>
12059
<short>Override this method in your derived class with your own paint handler.
12062
<!-- constructor Visibility: public -->
12063
<element name="TCustomControl.Create"/>
12064
<element name="TCustomControl.Create.AOwner"/>
12065
<!-- destructor Visibility: public -->
12066
<element name="TCustomControl.Destroy"/>
12067
<!-- property Visibility: public -->
12068
<element link="#LCL.Controls.TWinControl.BorderStyle" name="TCustomControl.BorderStyle"/>
12269
12069
<!-- property Visibility: public -->
12270
12070
<element name="TCustomControl.Canvas">
12271
<short>The area of a control on which its components are drawn or painted</short>
12272
<descr>The Canvas is the area of screen on which the various components are drawn. <br/>
12273
This inherits its properties from TCanvas, <br/>
12274
and that description should be read to understand their definitions more fully.
12071
<short>The drawing surface for the control,
12072
see <link id="#lcl.Graphics.TCanvas">TCanvas</link> for details.
12277
12076
<link id="#lcl.Graphics.TCanvas">TCanvas</link>
12280
12079
<!-- property Visibility: public -->
12281
<element link="#LCL.Controls.TWinControl.BorderStyle" name="TCustomControl.BorderStyle">
12282
<descr>Only a restricted series of options is available: none or a single border.
12285
<link id="#lcl.Controls.TBorderStyle"/>
12288
<!-- property Visibility: public -->
12289
12080
<element name="TCustomControl.OnPaint">
12290
<short>Event handler for painting</short>
12081
<short>Supply your own OnPaint handler for painting the control.
12084
<link id="TCustomControl.Paint"/>
12292
12087
<!-- object Visibility: default -->
12293
<element name="TImageList">
12294
<short>A list of images, as used for dragging.</short>
12296
<!-- property Visibility: published -->
12297
<element link="#LCL.ImgList.TCustomImageList.BkColor" name="TImageList.BkColor">
12302
<!-- property Visibility: published -->
12303
<element link="#LCL.ImgList.TCustomImageList.Height" name="TImageList.Height">
12308
<!-- property Visibility: published -->
12309
<element link="#LCL.ImgList.TCustomImageList.Masked" name="TImageList.Masked">
12314
<!-- property Visibility: published -->
12315
<element link="#LCL.ImgList.TCustomImageList.Width" name="TImageList.Width">
12320
<!-- property Visibility: published -->
12321
<element link="#LCL.ImgList.TCustomImageList.OnChange" name="TImageList.OnChange">
12088
<element link="TDragImageList" name="TImageList"/>
12089
<!-- property Visibility: published -->
12090
<element link="#lcl.ImgList.TCustomImageList.AllocBy" name="TImageList.AllocBy"/>
12091
<element link="#LCL.ImgList.TCustomImageList.BkColor" name="TImageList.BkColor"/>
12092
<element link="#lcl.ImgList.TCustomImageList.BlendColor" name="TImageList.BlendColor"/>
12093
<element link="#LCL.ImgList.TCustomImageList.DrawingStyle" name="TImageList.DrawingStyle"/>
12094
<element link="#LCL.ImgList.TCustomImageList.Height" name="TImageList.Height"/>
12095
<element link="#LCL.ImgList.TCustomImageList.ImageType" name="TImageList.ImageType"/>
12096
<element link="#LCL.ImgList.TCustomImageList.Masked" name="TImageList.Masked"/>
12097
<element link="#LCL.ImgList.TCustomImageList.OnChange" name="TImageList.OnChange"/>
12098
<element link="#LCL.ImgList.TCustomImageList.ShareImages" name="TImageList.ShareImages"/>
12099
<element link="#LCL.ImgList.TCustomImageList.Width" name="TImageList.Width"/>
12326
12100
<!-- object Visibility: default -->
12327
12101
<element name="TControlPropertyStorage">
12106
<notes><note>?</note>
12333
12109
<!-- procedure Visibility: protected -->
12334
12110
<element name="TControlPropertyStorage.GetPropertyList">
12111
<short>Parses the <link id="TControl.SessionProperties"/> string
12112
into the given list.
12340
<!-- argument Visibility: default -->
12341
12118
<element name="TControlPropertyStorage.GetPropertyList.List">
12344
12121
<!-- object Visibility: default -->
12345
12122
<element name="TDockZone">
12346
<short>Represents an node in an <link id="TDockTree"/>.</short>
12347
<descr>It encapsulates a dock zone, containing either other zones or a single control.</descr>
12349
<!-- variable Visibility: private -->
12350
<element name="TDockZone.FChildControl">
12355
<!-- variable Visibility: private -->
12356
<element name="TDockZone.FChildCount">
12361
<!-- variable Visibility: private -->
12362
<element name="TDockZone.FFirstChildZone">
12367
<!-- variable Visibility: private -->
12368
<element name="TDockZone.FTree">
12373
<!-- variable Visibility: private -->
12374
<element name="TDockZone.FZoneLimit">
12379
<!-- variable Visibility: private -->
12380
<element name="TDockZone.FParentZone">
12385
<!-- variable Visibility: private -->
12386
<element name="TDockZone.FOrientation">
12391
<!-- variable Visibility: private -->
12392
<element name="TDockZone.FNextSibling">
12397
<!-- variable Visibility: private -->
12398
<element name="TDockZone.FPrevSibling">
12123
<short>Represents an node in an <link id="#lcl.Controls.TDockTree">TDockTree</link>.</short>
12125
<p>It encapsulates a dock zone, containing either other zones or a single control.
12127
<p>This implementation is specific to <link id="TDockTree"/>/LDockTree. Every DockManager can (should!) use its own class instead.
12131
<!-- variable Visibility: private -->
12132
<element link="TDockZone.Bounds" name="TDockZone.FBounds"/>
12133
<element link="TDockZone.ChildControl" name="TDockZone.FChildControl"/>
12134
<element link="TDockZone.ChildCount" name="TDockZone.FChildCount"/>
12135
<element link="TDockZone.FirstChild" name="TDockZone.FFirstChildZone"/>
12136
<element link="TDockZone.NextSibling" name="TDockZone.FNextSibling"/>
12137
<element link="TDockZone.Orientation" name="TDockZone.FOrientation"/>
12138
<element link="TDockZone.Parent" name="TDockZone.FParentZone"/>
12139
<element link="TDockZone.PrevSibling" name="TDockZone.FPrevSibling"/>
12140
<element link="TDockZone.Tree" name="TDockZone.FTree"/>
12403
12141
<!-- function Visibility: private -->
12404
<element name="TDockZone.GetHeight">
12406
<var>GetHeight</var> - returns height for dock zone</short>
12411
<!-- function result Visibility: default -->
12142
<element link="TDockZone.Height" name="TDockZone.GetHeight"/>
12412
12143
<element name="TDockZone.GetHeight.Result">
12415
12146
<!-- function Visibility: private -->
12416
<element name="TDockZone.GetLeft">
12418
<var>GetLeft</var> - returns the position of the left hand border</short>
12423
<!-- function result Visibility: default -->
12147
<element link="TDockZone.Left" name="TDockZone.GetLeft"/>
12424
12148
<element name="TDockZone.GetLeft.Result">
12427
12151
<!-- function Visibility: private -->
12428
<element name="TDockZone.GetLimitBegin">
12430
<var>GetLimitBegin</var> - returns the limit for the beginning of the zone</short>
12435
<!-- function result Visibility: default -->
12152
<element link="TDockZone.LimitBegin" name="TDockZone.GetLimitBegin"/>
12436
12153
<element name="TDockZone.GetLimitBegin.Result">
12439
12156
<!-- function Visibility: private -->
12440
<element name="TDockZone.GetLimitSize">
12442
<var>GetLimitSize</var> - returns the limit for the size of the zone</short>
12447
<!-- function result Visibility: default -->
12157
<element link="TDockZone.LimitSize" name="TDockZone.GetLimitSize"/>
12448
12158
<element name="TDockZone.GetLimitSize.Result">
12451
12161
<!-- function Visibility: private -->
12452
<element name="TDockZone.GetTop">
12454
<var>GetTop</var> - returns the position of the top</short>
12459
<!-- function result Visibility: default -->
12162
<element link="TDockZone.Top" name="TDockZone.GetTop"/>
12460
12163
<element name="TDockZone.GetTop.Result">
12463
12166
<!-- function Visibility: private -->
12464
<element name="TDockZone.GetVisible">
12466
<var>GetVisible</var> - returns the
12473
<var>Visible</var> status</short>
12478
<!-- function result Visibility: default -->
12167
<element link="TDockZone.Visible" name="TDockZone.GetVisible"/>
12479
12168
<element name="TDockZone.GetVisible.Result">
12482
12171
<!-- function Visibility: private -->
12483
12172
<element name="TDockZone.GetVisibleChildCount">
12485
<var>GetVisibleChildCount</var> - returns the number of visible children</short>
12173
<short>The number of visible children.</short>
12177
<link id="TDockZone.Visible"/>
12490
<!-- function result Visibility: default -->
12491
12180
<element name="TDockZone.GetVisibleChildCount.Result">
12494
12183
<!-- function Visibility: private -->
12495
<element name="TDockZone.GetWidth">
12497
<var>GetWidth</var> - returns the width of the zone</short>
12502
<!-- function result Visibility: default -->
12184
<element link="TDockZone.Width" name="TDockZone.GetWidth"/>
12503
12185
<element name="TDockZone.GetWidth.Result">
12506
12188
<!-- function Visibility: private -->
12507
<element name="TDockZone.GetZoneLimit">
12513
<!-- function result Visibility: default -->
12514
<element name="TDockZone.GetZoneLimit.Result">
12517
<!-- procedure Visibility: private -->
12518
<element name="TDockZone.SetZoneLimit">
12524
<!-- argument Visibility: default -->
12525
<element name="TDockZone.SetZoneLimit.AValue">
12528
<!-- function Visibility: private -->
12529
<element name="TDockZone.IsOrientationValid">
12535
<!-- function result Visibility: default -->
12536
<element name="TDockZone.IsOrientationValid.Result">
12539
<!-- function Visibility: private -->
12540
12189
<element name="TDockZone.GetNextVisibleZone">
12542
<var>GetNextVisibleZone</var> - returns the next visible zone</short>
12190
<short>The next visible zone.</short>
12194
<link id="TDockZone.Visible"/>
12547
<!-- function result Visibility: default -->
12548
12197
<element name="TDockZone.GetNextVisibleZone.Result">
12198
<short>The zone, or Nil if none found.</short>
12551
12200
<!-- constructor Visibility: public -->
12552
<element name="TDockZone.Create">
12555
<var>Create</var> - constructor for
12562
<var>TDockZone</var>: sets local variables to show the
12569
<var>Tree</var> to which the zone belongs and the
12576
<var>ChildControl</var> which it contains, sets default bounds and then performs inherited
12585
<p>Overrides ancestor constructors, and may be overridden</p>
12588
<var>Create</var> - constructor for
12595
<var>TDockZone</var>: sets local variables to show the
12602
<var>Tree</var> and the
12609
<var>ChildControl</var>, sets default bounds and then performs inherited
12619
<link id="#rtl.System.TObject.Create">TObject.Create</link>
12622
<!-- argument Visibility: default -->
12201
<element name="TDockZone.Create"/>
12623
12202
<element name="TDockZone.Create.TheTree">
12624
<short>The dock tree to which this zone belongs</short>
12626
<!-- procedure Visibility: public -->
12627
<element name="TDockZone.ExpandZoneLimit">
12633
<!-- argument Visibility: default -->
12634
<element name="TDockZone.ExpandZoneLimit.NewLimit">
12203
<short>The dock tree to which this zone belongs.</short>
12205
<element name="TDockZone.Create.TheChildControl">
12206
<short>The control in this zone (may be Nil).</short>
12208
<!-- function Visibility: public -->
12209
<element name="TDockZone.FindZone">
12210
<short>Returns the Dockzone containing the given control.</short>
12215
<element name="TDockZone.FindZone.Result">
12216
<short>The zone containing AControl as ChildControl.</short>
12218
<element name="TDockZone.FindZone.AControl">
12221
<!-- procedure Visibility: public -->
12222
<element name="TDockZone.AddAsFirstChild">
12223
<short>Adds the given zone as the first child.</short>
12228
<element name="TDockZone.AddAsFirstChild.NewChildZone">
12229
<short>The zone to add.</short>
12231
<!-- procedure Visibility: public -->
12232
<element name="TDockZone.AddAsLastChild">
12233
<short>Adds the given zone as the last child.</short>
12238
<element name="TDockZone.AddAsLastChild.NewChildZone">
12239
<short>The zone to add.</short>
12241
<!-- procedure Visibility: public -->
12242
<element name="TDockZone.ReplaceChild">
12244
<var>OldChild</var> zone by
12245
<var>NewChild</var>.
12251
<element name="TDockZone.ReplaceChild.OldChild">
12252
<short>The zone to unlink.</short>
12254
<element name="TDockZone.ReplaceChild.NewChild">
12255
<short>The zone to link in place of OldChild.</short>
12257
<!-- function Visibility: public -->
12258
<element name="TDockZone.GetLastChild">
12259
<short>The last child zone.</short>
12264
<element name="TDockZone.GetLastChild.Result">
12267
<!-- function Visibility: public -->
12268
<element name="TDockZone.GetIndex">
12269
<short>Calculates the index of the zone within its parent zone.</short>
12274
<element name="TDockZone.GetIndex.Result">
12277
<!-- procedure Visibility: public -->
12278
<element name="TDockZone.Remove">
12279
<short>Unlinks the given child zone.</short>
12284
<element name="TDockZone.Remove.ChildZone">
12287
<element name="TDockZone.AddSibling">
12288
<short>Inserts NewZone as preceding or following sibling.</short>
12291
<element name="TDockZone.AddSibling.NewZone">
12292
<short>The zone to add.</short>
12294
<element name="TDockZone.AddSibling.InsertAt">
12295
<short>How to add the zone.</short>
12297
<!-- property Visibility: public -->
12298
<element name="TDockZone.NextSibling">
12299
<short>The next sibling zone.</short>
12303
<!-- property Visibility: public -->
12304
<element name="TDockZone.PrevSibling">
12305
<short>The preceding sibling zone.</short>
12637
12309
<!-- function Visibility: public -->
12638
12310
<element name="TDockZone.FirstVisibleChild">
12640
<var>FirstVisibleChild</var> - returns the first visible child zone</short>
12311
<short>The first visible child zone.</short>
12315
<link id="TDockZone.Visible"/>
12645
<!-- function result Visibility: default -->
12646
12318
<element name="TDockZone.FirstVisibleChild.Result">
12649
12321
<!-- function Visibility: public -->
12650
12322
<element name="TDockZone.NextVisible">
12652
<var>NextVisible</var> - returns next visible</short>
12323
<short>The next visible zone.</short>
12327
<link id="TDockZone.Visible"/>
12657
<!-- function result Visibility: default -->
12658
12330
<element name="TDockZone.NextVisible.Result">
12661
12333
<!-- function Visibility: public -->
12662
12334
<element name="TDockZone.PrevVisible">
12664
<var>PrevVisible</var> - returns the previous visible</short>
12335
<short>The preceding visible zone.</short>
12339
<link id="TDockZone.Visible"/>
12669
<!-- function result Visibility: default -->
12670
12342
<element name="TDockZone.PrevVisible.Result">
12673
<!-- procedure Visibility: public -->
12674
<element name="TDockZone.ResetChildren">
12680
<!-- procedure Visibility: public -->
12681
<element name="TDockZone.ResetZoneLimits">
12687
<!-- procedure Visibility: public -->
12688
<element name="TDockZone.Update">
12694
12345
<!-- property Visibility: public -->
12695
12346
<element name="TDockZone.Tree">
12696
<short>The dock tree of which this dock zone is a part</short>
12347
<short>The dock tree of which this dock zone is a part.</short>
12700
12351
<!-- property Visibility: public -->
12352
<element name="TDockZone.ChildControl">
12353
<short>The control docked in this zone.</short>
12354
<descr>A zone can contain nothing, a control, or child zones.
12358
<!-- property Visibility: public -->
12701
12359
<element name="TDockZone.ChildCount">
12702
<short>The number of child controls for docking</short>
12360
<short>The number of child zones.</short>
12364
<!-- property Visibility: public -->
12365
<element name="TDockZone.FirstChild">
12366
<short>The first child zone.</short>
12706
12370
<!-- property Visibility: public -->
12707
12371
<element name="TDockZone.Height">
12708
<short>The height of the Dock Zone</short>
12372
<short>The height of the zone.</short>
12376
<element link="TDockZone.Height" name="TDockZone.SetHeight"/>
12377
<element name="TDockZone.SetHeight.AValue">
12712
12380
<!-- property Visibility: public -->
12713
12381
<element name="TDockZone.Left">
12714
<short>The position of the left side to the control</short>
12382
<short>The left coordinate of the zone.</short>
12386
<element link="TDockZone.Left" name="TDockZone.SetLeft"/>
12387
<element name="TDockZone.SetLeft.AValue">
12718
12390
<!-- property Visibility: public -->
12719
12391
<element name="TDockZone.LimitBegin">
12720
<short>The beginning limit of the DockZone (Left or Top)</short>
12392
<short>The free coordinate of the DockZone (Left or Top).</short>
12396
<element link="TDockZone.LimitBegin" name="TDockZone.SetLimitBegin"/>
12397
<element name="TDockZone.SetLimitBegin.AValue">
12724
12400
<!-- property Visibility: public -->
12725
12401
<element name="TDockZone.LimitSize">
12726
<short>The size of the limits of the DockZone (Width or Height)</short>
12402
<short>The free size of the DockZone (Width or Height).</short>
12406
<element link="TDockZone.LimitSize" name="TDockZone.SetLimitSize"/>
12407
<element name="TDockZone.SetLimitSize.AValue">
12410
<!-- property Visibility: public -->
12411
<element link="TDockOrientation" name="TDockZone.Orientation">
12412
<short>Whether docking is oriented vertically, horizontally, in pages, or not at all</short>
12415
<li>doNoOrient: zone contains a TControl and no child zones.</li>
12416
<li>doHorizontal: zone's children are stacked top-to-bottom.</li>
12417
<li>doVertical: zone's children are arranged left-to-right.</li>
12418
<li>doPages: zone's children are pages arranged left-to-right.</li>
12423
<!-- property Visibility: public -->
12424
<element name="TDockZone.Parent">
12425
<short>The parent zone in the DockTree.</short>
12730
12429
<!-- property Visibility: public -->
12731
12430
<element name="TDockZone.Top">
12732
<short>The top coordinate of this control</short>
12431
<short>The top coordinate of this zone.</short>
12435
<element link="TDockZone.Top" name="TDockZone.SetTop"/>
12436
<element name="TDockZone.SetTop.AValue">
12736
12439
<!-- property Visibility: public -->
12737
12440
<element name="TDockZone.Visible">
12738
<short>Is the control visible?</short>
12441
<short>A zone is visible if it contains a visible control, or if any child zone is visible.
12445
<link id="TDockZone.VisibleChildCount"/>
12742
12448
<!-- property Visibility: public -->
12743
12449
<element name="TDockZone.VisibleChildCount">
12745
<var>VisibleChildCount</var> - the number of visible child controls</short>
12450
<short>The number of visible child zones.</short>
12749
12454
<!-- property Visibility: public -->
12750
12455
<element name="TDockZone.Width">
12751
<short>The width of this control</short>
12456
<short>The width of this zone.</short>
12755
<!-- property Visibility: public -->
12756
<element name="TDockZone.ZoneLimit">
12460
<element link="TDockZone.Width" name="TDockZone.SetWidth"/>
12461
<element name="TDockZone.SetWidth.AValue">
12761
12464
<!-- "class of" type Visibility: default -->
12762
12465
<element name="TDockZoneClass">
12895
12603
<!-- variable Visibility: private -->
12896
12604
<element name="TDockTree.FBorderWidth">
12901
<!-- variable Visibility: private -->
12902
<element name="TDockTree.FDockSite">
12907
<!-- variable Visibility: private -->
12908
<element name="TDockTree.FDockZoneClass">
12913
<!-- variable Visibility: private -->
12914
<element name="TDockTree.FGrabberSize">
12919
<!-- variable Visibility: private -->
12920
<element name="TDockTree.FGrabbersOnTop">
12605
<short>The width of the border around a dock zone.</short>
12609
<!-- variable Visibility: private -->
12610
<element link="TDockTree.DockSite" name="TDockTree.FDockSite"/>
12611
<element link="TDockTree.DockZoneClass" name="TDockTree.FDockZoneClass"/>
12925
12612
<!-- variable Visibility: private -->
12926
12613
<element name="TDockTree.FFlags">
12931
<!-- variable Visibility: private -->
12932
<element name="TDockTree.FTopZone">
12937
<!-- variable Visibility: private -->
12938
<element name="TDockTree.FTopXYLimit">
12943
<!-- variable Visibility: private -->
12944
<element name="TDockTree.FUpdateCount">
12617
<notes><note>?</note>
12620
<!-- variable Visibility: private -->
12621
<element link="TDockTree.RootZone" name="TDockTree.FRootZone"/>
12622
<element link="TDockTree.BeginUpdate" name="TDockTree.FUpdateCount"/>
12623
<!-- procedure Visibility: private -->
12624
<element link="TDockTree.DockSite" name="TDockTree.SetDockSite"/>
12625
<element name="TDockTree.SetDockSite.AValue">
12628
<!-- property Visibility: public -->
12629
<element name="TDockTree.RootZone">
12630
<short>The root zone of the DockTree.</short>
12634
<element link="#LCL.Controls.TDockManager.MouseMessage" name="TDockTree.MouseMessage"/>
12949
12635
<!-- procedure Visibility: private -->
12950
12636
<element name="TDockTree.DeleteZone">
12637
<short>Destroys the zone and its child zones.</short>
12956
<!-- argument Visibility: default -->
12957
12642
<element name="TDockTree.DeleteZone.Zone">
12960
12645
<!-- procedure Visibility: protected -->
12961
12646
<element name="TDockTree.AdjustDockRect">
12963
<var>AdjustDockRect</var> - adjust the docking rectangle for AControl</short>
12964
<descr>ARect initially describes the dockzone into which the control is docked. From that area the zone decoration is excluded, so that ARect describes the area reserved for the docked control.
12966
AdjustDockRect is not part of the general docking model. It can implemented and used for any purpose in a dock tree manager. Most docking managers will replace it by a method with more arguments, that allow to identify the zone and its properties immediately.</descr>
12647
<short>Adjusts the zone rectangle for AControl.</short>
12649
<p>ARect initially describes the dockzone into which the control is docked.
12650
From that area the zone decoration is excluded, so that ARect describes the area reserved for the docked control.</p>
12651
<p>AdjustDockRect is not part of the general docking model.
12652
It can implemented and used for any purpose in a dock tree manager.
12653
Most docking managers will replace it by a method with more arguments, that allow to identify the zone and its properties immediately.</p>
12970
<!-- argument Visibility: default -->
12971
12658
<element name="TDockTree.AdjustDockRect.AControl">
12974
<!-- argument Visibility: default -->
12975
12661
<element name="TDockTree.AdjustDockRect.ARect">
12978
12664
<!-- procedure Visibility: protected -->
12979
12665
<element link="#LCL.Controls.TDockManager.BeginUpdate" name="TDockTree.BeginUpdate"/>
12980
12666
<!-- procedure Visibility: protected -->
12981
<element link="#LCL.Controls.TDockManager.EndUpdate" name="TDockTree.EndUpdate">
12667
<element link="#LCL.Controls.TDockManager.EndUpdate" name="TDockTree.EndUpdate"/>
12987
12668
<!-- procedure Visibility: protected -->
12988
<element link="#LCL.Controls.TDockManager.GetControlBounds" name="TDockTree.GetControlBounds">
12994
<!-- argument Visibility: default -->
12669
<element link="#LCL.Controls.TDockManager.GetControlBounds" name="TDockTree.GetControlBounds"/>
12995
12670
<element name="TDockTree.GetControlBounds.AControl">
12998
<!-- argument Visibility: default -->
12999
12673
<element name="TDockTree.GetControlBounds.ControlBounds">
13002
12676
<!-- function Visibility: protected -->
13003
12677
<element name="TDockTree.HitTest">
13005
<var>HitTest</var> - performs a Hit test at the specified mouse position, and returns the Control present there </short>
12678
<short>Returns the control and the part of the dockzone, at the given coordinates.
13010
<!-- function result Visibility: default -->
13011
12684
<element name="TDockTree.HitTest.Result">
12685
<short>The docked control.</short>
13014
<!-- argument Visibility: default -->
13015
12687
<element name="TDockTree.HitTest.MousePos">
12688
<short>The client coordinates.</short>
12689
<notes><note>?</note>
13018
<!-- argument Visibility: default -->
13019
12692
<element name="TDockTree.HitTest.HTFlag">
12693
<short>Returns the zone part at MousePos.</short>
13022
12695
<!-- procedure Visibility: protected -->
13023
12696
<element name="TDockTree.InsertControl">
13025
<var>InsertControl</var> - position
13028
<var>DropCtl</var> relative
13031
<var>Control</var>, using the alignment specified by
13034
<var>InsertAt</var>
12697
<short>Positions <var>DropCtl</var> relative <var>Control</var>, using the alignment specified by <var>InsertAt.</var>
13036
<descr>InsertControl determines the layout and appearance of the just docked control, forcing a repaint of the container control if necessary.
13038
When SetReplacingControl has been called with a non-Nil Control before, the dropped control only should replace that control.
13040
A tree docking manager organizes the docksite into layers of horizontol or vertical orientation. As long as no more than one control is docked into a docksite, the tree has no orientation at all. The second docked control determines the orientation of the docksite and the dock tree. All further drops are either isogonal (in direction of the zone orientation) or orthogonal (opposite to the zone orientation). On an isogonal drop a new leaf zone is created for the dropped control, as a sibling of the already existing child zones. On an orthogonal drop the zone containing the DropControl becomes the root of another subtree, whose initial members are the leaf zones for Control and DropCtl.
13042
One value of InsertAt (alCustom) is reserved for notebook docking, where DropCtl is replaced by a tabbed notebook, and Control and DropCtl are moved into pages of the notebook. The notebook is a docksite of its own, further drops into the notebook are handled by the notebook itself, the DockManager of the host docksite is not involved.</descr>
12700
<p>InsertControl determines the layout and appearance of the just docked control, forcing a repaint of the container control if necessary.</p>
12701
<p>When SetReplacingControl has been called with a non-Nil Control before, the dropped control only should replace that control.</p>
12702
<p>A tree docking manager organizes the docksite into layers of horizontol or vertical orientation.
12703
As long as no more than one control is docked into a docksite, the tree has no orientation at all.
12704
The second docked control determines the orientation of the docksite and the dock tree.
12705
All further drops are either isogonal (in direction of the zone orientation) or orthogonal (opposite to the zone orientation).
12706
On an isogonal drop a new leaf zone is created for the dropped control, as a sibling of the already existing child zones.
12707
On an orthogonal drop the zone containing the DropControl becomes the root of another subtree, whose initial members are the leaf zones for Control and DropCtl.</p>
12708
<p>One value of InsertAt (alCustom) is reserved for notebook docking, where DropCtl is replaced by a tabbed notebook, and Control and DropCtl are moved into pages of the notebook.
12709
The notebook is a docksite of its own, further drops into the notebook are handled by the notebook itself, the DockManager of the host docksite is not involved.</p>
13045
12713
<link id="TDockManager.RemoveControl"/>
13048
<!-- argument Visibility: default -->
13049
12716
<element name="TDockTree.InsertControl.AControl">
12717
<short>The control beneath which to place DropControl.</short>
13052
<!-- argument Visibility: default -->
13053
12719
<element name="TDockTree.InsertControl.InsertAt">
12720
<short>How to insert DropControl.</short>
13056
<!-- argument Visibility: default -->
13057
12722
<element name="TDockTree.InsertControl.DropControl">
12723
<short>The control to add.</short>
12725
<element name="TDockTree.DumpLayout">
12726
<short>Stores the layout in an file.</short>
12728
<element name="TDockTree.DumpLayout.FileName">
13060
12731
<!-- procedure Visibility: protected -->
13061
<element link="#LCL.Controls.TDockManager.LoadFromStream" name="TDockTree.LoadFromStream">
13067
<!-- argument Visibility: default -->
12732
<element link="TDockManager.LoadFromStream" name="TDockTree.LoadFromStream"/>
13068
12733
<element name="TDockTree.LoadFromStream.SrcStream">
12736
<!-- procedure Visibility: public -->
12737
<element link="TDockManager.MessageHandler" name="TDockTree.MessageHandler"/>
12738
<element name="TDockTree.MessageHandler.Sender">
12741
<element name="TDockTree.MessageHandler.Message">
13071
12744
<!-- procedure Visibility: protected -->
13072
12745
<element name="TDockTree.PaintDockFrame">
13074
<var>PaintDockFrame</var> - paints the nominated control's canvas at the specified position</short>
12746
<short>Paints the dock header of the zone containing AControl.</short>
13079
<!-- argument Visibility: default -->
13080
12751
<element name="TDockTree.PaintDockFrame.ACanvas">
13083
<!-- argument Visibility: default -->
13084
12754
<element name="TDockTree.PaintDockFrame.AControl">
13087
<!-- argument Visibility: default -->
13088
12757
<element name="TDockTree.PaintDockFrame.ARect">
13091
12760
<!-- procedure Visibility: protected -->
13092
<element link="#LCL.Controls.TDockManager.PositionDockRect" name="TDockTree.PositionDockRect">
13098
<!-- argument Visibility: default -->
12761
<element link="TDockManager.PositionDockRect" name="TDockTree.PositionDockRect"/>
13099
12762
<element name="TDockTree.PositionDockRect.AClient">
13102
<!-- argument Visibility: default -->
13103
12765
<element name="TDockTree.PositionDockRect.DropCtl">
13106
<!-- argument Visibility: default -->
13107
12768
<element name="TDockTree.PositionDockRect.DropAlign">
13110
<!-- argument Visibility: default -->
13111
12771
<element name="TDockTree.PositionDockRect.DockRect">
13114
12774
<!-- procedure Visibility: protected -->
13115
<element link="#LCL.Controls.TDockManager.RemoveControl" name="TDockTree.RemoveControl">
13121
<!-- argument Visibility: default -->
12775
<element link="TDockManager.RemoveControl" name="TDockTree.RemoveControl"/>
13122
12776
<element name="TDockTree.RemoveControl.AControl">
13125
12779
<!-- procedure Visibility: protected -->
13126
<element link="#LCL.Controls.TDockManager.SaveToStream" name="TDockTree.SaveToStream">
13132
<!-- argument Visibility: default -->
12780
<element link="TDockManager.SaveToStream" name="TDockTree.SaveToStream"/>
13133
12781
<element name="TDockTree.SaveToStream.DestStream">
13136
12784
<!-- procedure Visibility: protected -->
13137
<element link="#LCL.Controls.TDockManager.SetReplacingControl" name="TDockTree.SetReplacingControl">
13143
<!-- argument Visibility: default -->
12785
<element link="TDockManager.SetReplacingControl" name="TDockTree.SetReplacingControl"/>
13144
12786
<element name="TDockTree.SetReplacingControl.AControl">
13147
12789
<!-- procedure Visibility: protected -->
13148
<element link="#LCL.Controls.TDockManager.ResetBounds" name="TDockTree.ResetBounds">
13154
<!-- argument Visibility: default -->
12790
<element link="TDockManager.ResetBounds" name="TDockTree.ResetBounds"/>
13155
12791
<element name="TDockTree.ResetBounds.Force">
13158
12794
<!-- procedure Visibility: protected -->
13159
12795
<element name="TDockTree.UpdateAll">
13161
<var>UpdateAll</var> - bring all data up to date</short>
12801
<notes><note>to do what?</note>
13166
12804
<!-- property Visibility: protected -->
13167
12805
<element name="TDockTree.DockSite">
13169
<var>DockSite</var> - the site for docking</short>
12806
<short>The parent control whose docked clients are managed.
13173
12811
<!-- constructor Visibility: public -->
13174
<element name="TDockTree.Create">
13176
<var>Create</var> - constructor for
13183
<var>TDockTree</var>: sets up the
13190
<var>DockSite</var>, performs inherited
13197
<var>Create</var> and sets default
13204
<var>BorderWidth</var>, creates the
13211
<var>RootZone</var> for the Tree</short>
13214
<var>Create</var> - constructor for
13221
<var>TDockTree</var>: sets up the
13228
<var>DockSite</var>, performs inherited
13235
<var>Create</var> and sets default
13242
<var>BorderWidth</var>, creates the
13249
<var>RootZone</var> for the Tree</p>
13250
<p>Overrides ancestor constructors, may be overridden</p>
13253
<link id="#rtl.System.TObject.Create">TObject.Create</link>
13256
<!-- argument Visibility: default -->
12812
<element name="TDockTree.Create"/>
13257
12813
<element name="TDockTree.Create.TheDockSite">
13258
<short>The window control that is to be the site for docking</short>
12814
<short>The window control to be managed.</short>
13260
12816
<!-- destructor Visibility: public -->
13261
<element name="TDockTree.Destroy">
13263
<var>Destroy</var> - destructor for
13270
<var>TDockTree</var>: deletes the
13277
<var>RootZone</var> then performs inherited
13288
<var>Destroy</var> - destructor for
13295
<var>TDockTree</var>: deletes the
13302
<var>RootZone</var> then performs inherited
13311
<p>Overrides ancestor destructors, and may be overridden</p>
13314
<link id="#rtl.Classes.TPersistent.Destroy">TPersistent.Destroy</link>
12817
<element name="TDockTree.Destroy"/>
13317
12818
<!-- procedure Visibility: public -->
13318
<element link="#LCL.Controls.TDockManager.PaintSite" name="TDockTree.PaintSite">
13324
<!-- argument Visibility: default -->
12819
<element link="#LCL.Controls.TDockManager.PaintSite" name="TDockTree.PaintSite"/>
13325
12820
<element name="TDockTree.PaintSite.DC">
13328
12823
<!-- property Visibility: public -->
13329
12824
<element name="TDockTree.DockZoneClass">
13331
<var>DockZoneClass</var> - the class of dock zone</short>
12825
<short>The class of all dock zones in this tree.</short>
12829
<!-- procedure Visibility: protected -->
12830
<element link="TDockTree.DockZoneClass" name="TDockTree.SetDockZoneClass"/>
12831
<element name="TDockTree.SetDockZoneClass.AValue">
13335
12834
<!-- object Visibility: default -->
13336
12835
<element name="TMouse">
13337
12836
<short>Some properties of the Mouse.</short>
13338
<descr>Contains information about current mouse position, whether messages are captured by an object, whether it is dragging an object, and how far the mouse must move before a control starts dragging.</descr>
13340
<!-- variable Visibility: default -->
13341
<element name="TMouse.FCapture">
13346
<!-- variable Visibility: default -->
13347
<element name="TMouse.FDragImmediate">
13352
<!-- variable Visibility: default -->
13353
<element name="TMouse.FDragThreshold">
12837
<descr>Contains information about current mouse position,
12838
whether messages are captured by a window,
12839
whether it is dragging an object,
12840
and how far the mouse must move before a control starts dragging.</descr>
12842
<!-- variable Visibility: default -->
12843
<element link="TMouse.Capture" name="TMouse.FCapture"/>
12844
<element name="TMouse.FDragImmediate"/>
12845
<element name="TMouse.FDragThreshold"/>
12846
<element name="TMouse.FWheelScrollLines"/>
13358
12847
<!-- procedure Visibility: default -->
13359
<element name="TMouse.SetCapture">
13365
<!-- argument Visibility: default -->
12848
<element link="TMouse.Capture" name="TMouse.SetCapture"/>
13366
12849
<element name="TMouse.SetCapture.Value">
13369
12852
<!-- function Visibility: default -->
13370
<element name="TMouse.GetCapture">
13376
<!-- function result Visibility: default -->
12853
<element link="TMouse.Capture" name="TMouse.GetCapture"/>
13377
12854
<element name="TMouse.GetCapture.Result">
13380
12857
<!-- function Visibility: default -->
13381
<element name="TMouse.GetCursorPos">
13387
<!-- function result Visibility: default -->
12858
<element link="TMouse.CursorPos" name="TMouse.GetCursorPos"/>
13388
12859
<element name="TMouse.GetCursorPos.Result">
12862
<!-- procedure Visibility: private -->
12863
<element link="TMouse.CursorPos" name="TMouse.SetCursorPos"/>
12864
<element name="TMouse.SetCursorPos.AValue">
12867
<!-- function Visibility: private -->
12868
<element link="TMouse.WheelScrollLines" name="TMouse.GetWheelScrollLines"/>
12869
<element name="TMouse.GetWheelScrollLines.Result">
12872
<!-- function Visibility: private -->
12873
<element link="TMouse.DragImmediate" name="TMouse.GetDragImmediate"/>
12874
<element name="TMouse.GetDragImmediate.Result">
12877
<!-- procedure Visibility: private -->
12878
<element link="TMouse.DragImmediate" name="TMouse.SetDragImmediate"/>
12879
<element name="TMouse.SetDragImmediate.AValue">
12882
<!-- function Visibility: private -->
12883
<element link="TMouse.DragThreshold" name="TMouse.GetDragThreshold"/>
12884
<element name="TMouse.GetDragThreshold.Result">
12887
<!-- procedure Visibility: private -->
12888
<element link="TMouse.DragThreshold" name="TMouse.SetDragThreshold"/>
12889
<element name="TMouse.SetDragThreshold.AValue">
13391
12892
<!-- function Visibility: default -->
13392
<element name="TMouse.GetIsDragging">
13398
<!-- function result Visibility: default -->
12893
<element link="TMouse.IsDragging" name="TMouse.GetIsDragging"/>
13399
12894
<element name="TMouse.GetIsDragging.Result">
13402
12897
<!-- constructor Visibility: public -->
13403
<element name="TMouse.Create">
13405
<var>Create</var> - constructor for
13412
<var>TMouse</var>: calls inherited
13422
<link id="#rtl.System.TObject.Create">TObject.Create</link>
12898
<element name="TMouse.Create"/>
13425
12899
<!-- destructor Visibility: public -->
13426
<element name="TMouse.Destroy">
13427
<descr>Can be a locally defined method to override the method specified by the parent object
13430
<var>Destroy</var> - destructor for
13437
<var>TMouse</var>: calls inherited
13447
<link id="#rtl.System.TObject.Destroy">TObject.Destroy</link>
12900
<element name="TMouse.Destroy"/>
13450
12901
<!-- property Visibility: public -->
13451
12902
<element name="TMouse.Capture">
13452
<short>System handle for the captured object</short>
13453
<descr>Reads or writes a system variable identifying the captured object</descr>
12903
<short>Handle of the capturing control.</short>
13455
12906
<!-- property Visibility: public -->
13456
12907
<element name="TMouse.CursorPos">
13457
<short>The screen position of the cursor</short>
13458
<descr>Reads or writes a variable to determine the position of the cursor (a point with X, Y co-ordinates)</descr>
12908
<short>The screen position of the cursor.</short>
13460
12911
<!-- property Visibility: public -->
13461
12912
<element name="TMouse.DragImmediate">
13462
<short>Does the object get dragged as soon as the mouse moves?</short>
13463
<descr>Reads or writes a flag to determine whether to move the object immediately the mouse moves: default is true</descr>
12913
<short>Does dragging start immediately (True), or only after a mouse move?</short>
13465
12916
<!-- property Visibility: public -->
13466
12917
<element name="TMouse.DragThreshold">
13467
<short>The least distance the mouse must move before the captured object is moved</short>
13468
<descr>Reads or writes a flag to deterine the threshold movement (if DragImmediate was false). Default is 5 pixels</descr>
12918
<short>The minimum distance the mouse must move before dragging starts (in delayed mode).</short>
12919
<descr>Default is 5 pixels</descr>
13470
12921
<!-- property Visibility: public -->
13471
12922
<element name="TMouse.IsDragging">
13472
<short>Is the mouse being used to drag an object?</short>
13476
<!-- constant Visibility: default -->
13477
<element name="AnchorAlign">
13482
<!-- constant Visibility: default -->
13483
<element name="DefaultSideForAnchorKind">
13488
<!-- constant Visibility: default -->
13489
<element name="AnchorReferenceSide">
13494
<!-- constant Visibility: default -->
13495
<element name="AlignNames">
13496
<short>Array of names for the <link id="TAlign"/> elements.</short>
13498
<remark>The names include the "al;" prefix, e.g. alNone.</remark>
12923
<short>True while dragging an object.
12928
<!-- property Visibility: public -->
12929
<element name="TMouse.WheelScrollLines">
12930
<short>The number of lines to scroll with every notch of the mouse wheel.
13501
12935
<!-- function Visibility: default -->
13502
<element name="FindDragTarget">
12936
<element link="FindControlAtPosition" name="FindDragTarget">
13503
12937
<short>Get control at screen position.</short>
13504
12938
<descr>Disabled controls <b>should</b> be excluded, but are not due to an bug in FindControlAtPosition.</descr>
13508
<!-- function result Visibility: default -->
13509
12942
<element name="FindDragTarget.Result">
12943
<short>The control at Position; Nil if none.</short>
13512
<!-- argument Visibility: default -->
13513
12945
<element name="FindDragTarget.Position">
12946
<short>The screen position.</short>
13516
<!-- argument Visibility: default -->
13517
12948
<element name="FindDragTarget.AllowDisabled">
12949
<short>Also find disabled controls, if True.</short>
13520
12951
<!-- function Visibility: default -->
13521
12952
<element name="FindControlAtPosition">
13522
12953
<short>Get control at screen position.</short>
13523
12954
<descr>When AllowDisabled is True, also a disabled control will be found. In the current implementation AllowDisabled is ignored (assumed to be True).
13525
First a window at the given screen position is searched, then a control within it.</descr>
12955
First a window at the given screen position is searched,
12956
then a control within it.
13529
<!-- function result Visibility: default -->
13530
12961
<element name="FindControlAtPosition.Result">
12962
<short>The control at Position; Nil if none.</short>
13533
<!-- argument Visibility: default -->
13534
12964
<element name="FindControlAtPosition.Position">
12965
<short>The screen position.</short>
13537
<!-- argument Visibility: default -->
13538
12967
<element name="FindControlAtPosition.AllowDisabled">
12968
<short>Also find disabled controls, if True.</short>
13541
12970
<!-- function Visibility: default -->
13542
12971
<element name="FindLCLWindow">
12972
<short>Find the window and its owning control at the given screen coordinates.</short>
13548
<!-- function result Visibility: default -->
13549
12977
<element name="FindLCLWindow.Result">
12978
<short>The control at the ScreenPos; Nil if none was found.</short>
13552
<!-- argument Visibility: default -->
13553
12980
<element name="FindLCLWindow.ScreenPos">
14565
<!-- argument Visibility: default -->
14566
13677
<element name="TDragManager.DragStop.ADrop">
13678
<short>False when dragging was aborted.</short>
14569
13680
<!-- property Visibility: public -->
14570
13681
<element name="TDragManager.DragImmediate">
14571
<short>Start dragging immediately, on MouseDown? (default value)</short>
13682
<short>Start dragging immediately, on MouseDown?</short>
13683
<descr>This is the default value for e.g. BeginDrag.</descr>
14575
13686
<!-- property Visibility: public -->
14576
13687
<element name="TDragManager.DragThreshold">
14577
<short>The threshold amount by which the mouse must move before non-immediate dragging starts. (default 5 pixels)</short>
14580
<!-- variable Visibility: default -->
14581
<element name="DragManager">
14582
<short>The current DragManager.</short>
13688
<short>The threshold amount by which the mouse must move before delayed dragging starts. (default 5 pixels)</short>
13691
<element name="TDragDockCommon.SendDragMessage">
13692
<short>sends to AControl a drag message at specified position for nominated object; returns an integer Result for success</short>
13694
<element name="TDragDockCommon.SendCmDragMsg">
13696
<var>SendCmDragMsg</var> - sends to DragTarget a drag message at specified position for nominated object; returns True for success</short>
13697
<descr>The Result is used to select the DragCursor (deny/accept drop).</descr>
13699
<element name="TDockPerformer.DragMove.FindDockSiteAtPosition">
13700
<short>Find a DockSite under the current mouse position.</short>
13702
<p>The list of registered docksites is searched. Sites are excluded when they are invisible or disabled, or when the site is (a child of) the dragged control.</p>
13703
<p>The Z-order of the docksites should be taken into account. Currently the first site found is returned.</p>
13706
<element name="TDockPerformer.DragMove.GetDropControl">
13707
<short>Determine the target control within the target DockSite.</short>
13709
<p>Do nothing (return Nil) unless a DockManager is installed in the target site and something has already been docked.</p>
13710
<p>When the dragged control is the only client of the docksite, Nil is returned.</p>
13711
<p>[ToDo: The check for an drop of a control onto itself should be done in every case, after the target control has been determined.]</p>
14586
13714
<!-- enumeration type Visibility: default -->
14587
13715
<element name="TControlCellAlign">
13716
<short>Modes for aligning a control in a table cell.</short>
14592
13720
<!-- enumeration value Visibility: default -->
14593
13721
<element name="TControlCellAlign.ccaFill">
13723
<notes><note>?</note>
14596
13726
<!-- enumeration value Visibility: default -->
14597
13727
<element name="TControlCellAlign.ccaLeftTop">
13729
<notes><note>?</note>
14600
13732
<!-- enumeration value Visibility: default -->
14601
13733
<element name="TControlCellAlign.ccaRightBottom">
13735
<notes><note>?</note>
14604
13738
<!-- enumeration value Visibility: default -->
14605
13739
<element name="TControlCellAlign.ccaCenter">
13741
<notes><note>?</note>
14608
13744
<!-- set type Visibility: default -->
14609
<element name="TControlCellAligns">
14614
<!-- variable Visibility: private -->
14615
<element name="TControlBorderSpacing.FCellAlignHorizontal">
14620
<!-- variable Visibility: private -->
14621
<element name="TControlBorderSpacing.FCellAlignVertical">
14626
<!-- variable Visibility: private -->
14627
<element name="TControlBorderSpacing.FInnerBorder">
14632
<!-- function Visibility: private -->
14633
<element name="TControlBorderSpacing.IsInnerBorderStored">
14639
<!-- function result Visibility: default -->
14640
<element name="TControlBorderSpacing.IsInnerBorderStored.Result">
14643
<!-- procedure Visibility: private -->
14644
<element name="TControlBorderSpacing.SetCellAlignHorizontal">
14650
<!-- argument Visibility: default -->
14651
<element name="TControlBorderSpacing.SetCellAlignHorizontal.AValue">
14654
<!-- procedure Visibility: private -->
14655
<element name="TControlBorderSpacing.SetCellAlignVertical">
14661
<!-- argument Visibility: default -->
14662
<element name="TControlBorderSpacing.SetCellAlignVertical.AValue">
14665
<!-- procedure Visibility: private -->
14666
<element name="TControlBorderSpacing.SetInnerBorder">
14672
<!-- argument Visibility: default -->
14673
<element name="TControlBorderSpacing.SetInnerBorder.AValue">
14676
<!-- argument Visibility: default -->
14677
<element name="TControlBorderSpacing.Change.InnerSpaceChanged">
14680
<!-- function Visibility: public -->
14681
<element name="TControlBorderSpacing.GetSideSpace">
14683
<var>GetSideSpace</var> - finds th espace requied at the side for the specified anchor kind</short>
14688
<!-- function result Visibility: default -->
14689
<element name="TControlBorderSpacing.GetSideSpace.Result">
14692
<!-- argument Visibility: default -->
14693
<element name="TControlBorderSpacing.GetSideSpace.Kind">
14696
<!-- property Visibility: published -->
14697
<element name="TControlBorderSpacing.InnerBorder">
14698
<short>Amount of pixel added to the widgetset's preferred size</short>
14699
<descr>When calculating the preferred size of control, the LCL asks first the widgetset. For controls like TButton the widgetset can return a preferred size. The InnerBorder is added twice to this size. If the widgetset does not return a preferred size, the InnerBorder is not used.</descr>
14702
<!-- property Visibility: published -->
14703
<element name="TControlBorderSpacing.CellAlignHorizontal">
14705
<var>CellAlignHorizontal</var> - the sort of horizontal alignment to use if a cell is being aligned</short>
14709
<!-- property Visibility: published -->
14710
<element name="TControlBorderSpacing.CellAlignVertical">
14712
<var>CellAlignVertical</var> - the sort of vertical alignment to use if a cell is being aligned</short>
13745
<element link="TControlCellAlign" name="TControlCellAligns"/>
14716
13746
<!-- enumeration type Visibility: default -->
14717
13747
<element name="TAnchorSideChangeOperation">
13748
<short>Operations in <link id="TControl.ForeignAnchorSideChanged"/>.</short>
14722
<!-- enumeration value Visibility: default -->
14723
13752
<element name="TAnchorSideChangeOperation.ascoAdd">
13753
<short>AnchorSide added.</short>
14726
<!-- enumeration value Visibility: default -->
14727
13755
<element name="TAnchorSideChangeOperation.ascoRemove">
13756
<short>AnchorSide removed.</short>
14730
<!-- enumeration value Visibility: default -->
14731
13758
<element name="TAnchorSideChangeOperation.ascoChangeSide">
14734
<!-- destructor Visibility: public -->
14735
<element name="TAnchorSide.Destroy">
14737
<var>Destroy</var> - destructor for
14744
<var>TAnchorSide</var>: removes all anchoring links then calls inherited
14756
<link id="#rtl.Classes.TPersistent.Destroy">TPersistent.Destroy</link>
14759
<!-- enumeration value Visibility: default -->
14760
<element name="TControlFlag.cfAutoSizeNeeded">
14763
<!-- enumeration value Visibility: default -->
14764
<element name="TControlFlag.cfLeftLoaded">
14767
<!-- enumeration value Visibility: default -->
14768
<element name="TControlFlag.cfTopLoaded">
14771
<!-- enumeration value Visibility: default -->
14772
<element name="TControlFlag.cfWidthLoaded">
14775
<!-- enumeration value Visibility: default -->
14776
<element name="TControlFlag.cfHeightLoaded">
14779
<!-- enumeration value Visibility: default -->
14780
<element name="TControlFlag.cfBaseBoundsValid">
14783
<!-- enumeration value Visibility: default -->
14784
<element name="TControlFlag.cfPreferredMinSizeValid">
14787
<!-- enumeration value Visibility: default -->
14788
<element name="TControlFlag.cfOnResizeNeeded">
14791
<!-- enumeration value Visibility: default -->
14792
<element name="TControlFlag.cfOnChangeBoundsNeeded">
14795
<!-- enumeration value Visibility: default -->
14796
<element name="TControlHandlerType.chtOnVisibleChanging">
14799
<!-- enumeration value Visibility: default -->
14800
<element name="TControlHandlerType.chtOnVisibleChanged">
14803
<!-- variable Visibility: private -->
14804
<element name="TControl.fAnchoredControls">
14809
<!-- variable Visibility: private -->
14810
<element name="TControl.FAutoSizing">
14815
<!-- variable Visibility: private -->
14816
<element name="TControl.FAutoSizingLockCount">
14821
<!-- variable Visibility: private -->
14822
<element name="TControl.FCaptureMouseButtons">
14827
<!-- variable Visibility: private -->
14828
<element name="TControl.fLastAlignedBoundsTried">
14833
<!-- variable Visibility: private -->
14834
<element name="TControl.FLastDoChangeClientSize">
14839
<!-- variable Visibility: private -->
14840
<element name="TControl.FPreferredMinWidth">
14845
<!-- variable Visibility: private -->
14846
<element name="TControl.FPreferredMinHeight">
14851
<!-- variable Visibility: private -->
14852
<element name="TControl.FReadBounds">
14857
<!-- function Visibility: private -->
14858
<element name="TControl.CaptureMouseButtonsIsStored">
14864
<!-- function result Visibility: default -->
14865
<element name="TControl.CaptureMouseButtonsIsStored.Result">
14868
<!-- function Visibility: private -->
14869
<element name="TControl.GetAnchoredControls">
14875
<!-- function result Visibility: default -->
14876
<element name="TControl.GetAnchoredControls.Result">
14879
<!-- argument Visibility: default -->
14880
<element name="TControl.GetAnchoredControls.Index">
14883
<!-- procedure Visibility: private -->
14884
<element name="TControl.SetParentFont">
14890
<!-- argument Visibility: default -->
14891
<element name="TControl.SetParentFont.Value">
14894
<!-- function Visibility: protected -->
14895
<element name="TControl.GetCursor"/>
14896
<!-- function result Visibility: default -->
14897
<element name="TControl.GetCursor.Result">
14900
<!-- procedure Visibility: protected -->
14901
<element name="TControl.BeginAutoSizing">
14902
<short>Sets AutoSizing=true, used to prevent loops.</short>
14904
<!-- procedure Visibility: protected -->
14905
<element name="TControl.EndAutoSizing">
14906
<short>End the autosizing process, reset AutoSizing to False.</short>
14908
<!-- procedure Visibility: protected -->
14909
<element name="TControl.ForeignAnchorSideChanged">
14910
<short>Procedure invoked when the anchor side of a different control (not the current) is changed</short>
14912
<!-- argument Visibility: default -->
14913
<element name="TControl.ForeignAnchorSideChanged.TheAnchorSide">
14916
<!-- argument Visibility: default -->
14917
<element name="TControl.ForeignAnchorSideChanged.Operation">
14920
<!-- argument Visibility: default -->
14921
<element name="TControl.DoBorderSpacingChange.InnerSpaceChanged">
14924
<!-- function Visibility: protected -->
14925
<element name="TControl.IsBorderSpacingInnerBorderStored">
14926
<short>Function to find if details of border spacing are stored</short>
14928
<!-- function result Visibility: default -->
14929
<element name="TControl.IsBorderSpacingInnerBorderStored.Result">
14932
<!-- argument Visibility: default -->
14933
<element name="TControl.CalculatePreferredSize.WithThemeSpace">
14936
<!-- procedure Visibility: protected -->
14937
<element name="TControl.CheckOnChangeBounds">
14938
<short>Checks for changes and calls <var>DoOnChangeBounds</var>
14941
<!-- function Visibility: protected -->
14942
<element name="TControl.IsAParentAligning">
14943
<short>Determine if a parent control is involved in the alignment process</short>
14945
<!-- function result Visibility: default -->
14946
<element name="TControl.IsAParentAligning.Result">
14949
<!-- function Visibility: protected -->
14950
<element name="TControl.GetLogicalClientRect">
14951
<short>Logical client area, can be bigger than the visible client area.</short>
14952
<descr>A TScrollingWinControl has a logical client area, of which only a portion can be visible.
14953
The origin always is (0,0), regardless of an ScrollOffset.</descr>
14955
<link id="TControl.BoundsRect"/>
14956
<link id="TControl.ClientRect"/>
14957
<link id="TControl.GetScrolledClientRect"/>
14960
<!-- function result Visibility: default -->
14961
<element name="TControl.GetLogicalClientRect.Result">
14964
<!-- function Visibility: protected -->
14965
<element name="TControl.IsClientHeightStored"/>
14966
<!-- function result Visibility: default -->
14967
<element name="TControl.IsClientHeightStored.Result">
14970
<!-- function Visibility: protected -->
14971
<element name="TControl.IsClientWidthStored">
14972
<short>Is Client Width Stored?</short>
14974
<!-- function result Visibility: default -->
14975
<element name="TControl.IsClientWidthStored.Result">
14978
<!-- procedure Visibility: protected -->
14979
<element name="TControl.WMContextMenu">
14980
<short>Protected messages to system - when context menu is required</short>
14982
<!-- argument Visibility: default -->
14983
<element name="TControl.WMContextMenu.Message">
14986
<!-- procedure Visibility: protected -->
14987
<element name="TControl.CMTextChanged">
14988
<short>Control Message for a change in the control's text</short>
14990
<!-- argument Visibility: default -->
14991
<element name="TControl.CMTextChanged.Message">
14994
<!-- function Visibility: protected -->
14995
<element name="TControl.GetDragImages">
14996
<short>Get the list of Images to be dragged - returned as a list</short>
14998
<!-- function result Visibility: default -->
14999
<element name="TControl.GetDragImages.Result">
15002
<!-- procedure Visibility: protected -->
15003
<element name="TControl.DoFloatMsg">
15004
<short>Handler called when the control starts floating.</short>
15006
<p>Since TControls cannot float for themselves, a FloatHost site is created and the control is docked into it.</p>
15007
<p>When the control already has a Parent (FloatHost site), the Parent's position and extent is adjusted to fit the DockRect as its ClientRect</p>
15010
<!-- argument Visibility: default -->
15011
<element name="TControl.DoFloatMsg.ADockSource">
15014
<!-- function result Visibility: default -->
15015
<element name="TControl.DoDragMsg.Result">
15018
<!-- argument Visibility: default -->
15019
<element name="TControl.DoDragMsg.ADragMessage">
15022
<!-- argument Visibility: default -->
15023
<element name="TControl.DoDragMsg.APosition">
15026
<!-- argument Visibility: default -->
15027
<element name="TControl.DoDragMsg.ADragObject">
15030
<!-- argument Visibility: default -->
15031
<element name="TControl.DoDragMsg.ATarget">
15034
<!-- argument Visibility: default -->
15035
<element name="TControl.DoDragMsg.ADocking">
15038
<!-- function Visibility: protected -->
15039
<element name="TControl.GetDefaultDockCaption">
15040
<short>Returns the default string for the dock caption, control's Name.</short>
15045
<!-- function result Visibility: default -->
15046
<element name="TControl.GetDefaultDockCaption.Result">
15049
<!-- procedure Visibility: protected -->
15050
<element name="TControl.UpdateMouseCursor">
15052
<var>UpdateMouseCursor</var> - ensure co-ordinates
15060
<var>X, Y </var> for the cursor are correctly stored</short>
15065
<!-- argument Visibility: default -->
15066
<element name="TControl.UpdateMouseCursor.X">
15069
<!-- argument Visibility: default -->
15070
<element name="TControl.UpdateMouseCursor.Y">
15073
<!-- procedure Visibility: protected -->
15074
<element name="TControl.FormEndUpdated">
15076
<var>FormEndUpdated</var> - the update for the Form has ended</short>
15081
<!-- procedure Visibility: protected -->
15082
<element name="TControl.ParentFontChanged">
15084
<var>ParentFontChanged</var> - method for dealing with a change in the font of the parent</short>
15089
<!-- procedure Visibility: protected -->
15090
<element name="TControl.TextChanged">
15091
<short>Procedure to deal with changes in text</short>
15096
<!-- function Visibility: protected -->
15097
<element name="TControl.GetCachedText">
15099
<var>GetCachedText</var> - method for retrieving caption text from cache; returns True if successful</short>
15104
<!-- function result Visibility: default -->
15105
<element name="TControl.GetCachedText.Result">
15108
<!-- argument Visibility: default -->
15109
<element name="TControl.GetCachedText.CachedText">
15112
<!-- procedure Visibility: protected -->
15113
<element name="TControl.VisibleChanged">
15115
<var>VisibleChanged</var> - method to use when the
15122
<var>Visible</var> property has changed</short>
15127
<!-- procedure Visibility: protected -->
15128
<element name="TControl.DoCallNotifyHandler">
15130
<var>DoCallNotifyHandler</var> - calls a Notify Handler of the specified type</short>
15135
<!-- argument Visibility: default -->
15136
<element name="TControl.DoCallNotifyHandler.HandlerType">
15139
<!-- argument Visibility: default -->
15140
<element name="TControl.ManualDock.KeepDockSiteSize">
15143
<!-- argument Visibility: default -->
15144
<element name="TControl.ManualFloat.KeepDockSiteSize">
15147
<!-- function Visibility: public -->
15148
<element name="TControl.NeedParentForAutoSize">
15150
<var>NeedParentForAutoSize</var>: True - need to know parent's properties to do autosize. False - can autosize independently</short>
15152
<!-- function result Visibility: default -->
15153
<element name="TControl.NeedParentForAutoSize.Result">
15156
<!-- procedure Visibility: public -->
15157
<element name="TControl.AnchorToCompanion">
15159
<var>AnchorToCompanion</var> - anchor to another control, not necessarily an immediate neighbour</short>
15161
<!-- argument Visibility: default -->
15162
<element name="TControl.AnchorToCompanion.Side">
15165
<!-- argument Visibility: default -->
15166
<element name="TControl.AnchorToCompanion.Space">
15169
<!-- argument Visibility: default -->
15170
<element name="TControl.AnchorToCompanion.Sibling">
15173
<!-- argument Visibility: default -->
15174
<element name="TControl.AnchorToCompanion.FreeCompositeSide">
15177
<!-- procedure Visibility: public -->
15178
<element name="TControl.AnchorSame">
15179
<short>Anchor on the same side as a sibling</short>
15184
<!-- argument Visibility: default -->
15185
<element name="TControl.AnchorSame.Side">
15188
<!-- argument Visibility: default -->
15189
<element name="TControl.AnchorSame.Sibling">
15192
<!-- procedure Visibility: public -->
15193
<element name="TControl.AnchorAsAlign">
15195
<var>AnchorAsAlign</var> - Anchor following same rules as Align</short>
15200
<!-- argument Visibility: default -->
15201
<element name="TControl.AnchorAsAlign.TheAlign">
15204
<!-- argument Visibility: default -->
15205
<element name="TControl.AnchorAsAlign.Space">
15208
<!-- procedure Visibility: public -->
15209
<element name="TControl.AnchorClient">
15210
<short>Anchor to the client space</short>
15215
<!-- argument Visibility: default -->
15216
<element name="TControl.AnchorClient.Space">
15219
<!-- function Visibility: public -->
15220
<element name="TControl.AnchoredControlCount">
15221
<short>The number of controls anchored to this one</short>
15223
<!-- function result Visibility: default -->
15224
<element name="TControl.AnchoredControlCount.Result">
15227
<!-- property Visibility: public -->
15228
<element name="TControl.AnchoredControls">
15229
<short>The indexed list of controls anchored to this one</short>
15231
<!-- argument Visibility: default -->
15232
<element name="TControl.AnchoredControls.Index">
15235
<!-- argument Visibility: default -->
15236
<element name="TControl.GetPreferredSize.WithThemeSpace">
15239
<!-- function Visibility: public -->
15240
<element name="TControl.GetDefaultWidth">
15241
<short>Find default width (by reference to ancestor)</short>
15243
<!-- function result Visibility: default -->
15244
<element name="TControl.GetDefaultWidth.Result">
15247
<!-- function Visibility: public -->
15248
<element name="TControl.GetDefaultHeight">
15249
<short>Find the default height (by reference to ancestor)</short>
15251
<!-- function result Visibility: default -->
15252
<element name="TControl.GetDefaultHeight.Result">
15255
<!-- function Visibility: public -->
15256
<element name="TControl.GetControlClassDefaultSize">
15257
<short>Find the default size for this class of controls (by reference to parents)</short>
15259
<!-- function result Visibility: default -->
15260
<element name="TControl.GetControlClassDefaultSize.Result">
15263
<!-- function Visibility: public -->
15264
<element name="TControl.GetSidePosition">
15265
<short>Find which side is being used for anchoring</short>
15267
<!-- function result Visibility: default -->
15268
<element name="TControl.GetSidePosition.Result">
15271
<!-- argument Visibility: default -->
15272
<element name="TControl.GetSidePosition.Side">
15275
<!-- procedure Visibility: public -->
15276
<element name="TControl.CNPreferredSizeChanged">
15278
<var>CNPreferredSizeChanged</var> - issue control signal to show that preferrd size has changed</short>
15283
<!-- function Visibility: public -->
15284
<element name="TControl.GetAnchorsDependingOnParent">
15285
<short>Find out the required anchor settings by reference to the parents</short>
15287
<!-- function result Visibility: default -->
15288
<element name="TControl.GetAnchorsDependingOnParent.Result">
15291
<!-- argument Visibility: default -->
15292
<element name="TControl.GetAnchorsDependingOnParent.WithNormalAnchors">
15295
<!-- procedure Visibility: public -->
15296
<element name="TControl.DisableAutoSizing">
15297
<short>Turn off automatic sizing - implies that default is accepted or sizing is done manually</short>
15299
<!-- procedure Visibility: public -->
15300
<element name="TControl.EnableAutoSizing">
15301
<short>Turns on (enables) automatic sizing</short>
15306
<!-- property Visibility: public -->
15307
<element name="TControl.BaseBounds">
15308
<short>The rectangle defining [what?].</short>
15310
<!-- property Visibility: public -->
15311
<element name="TControl.ReadBounds">
15313
<var>ReadBounds</var> - find out what bounds have been defined</short>
15317
<!-- procedure Visibility: public -->
15318
<element name="TControl.WriteLayoutDebugReport">
15319
<short>Used for debugging</short>
15321
<!-- argument Visibility: default -->
15322
<element name="TControl.WriteLayoutDebugReport.Prefix">
15325
<!-- function Visibility: public -->
15326
<element name="TControl.GetTopParent">
15327
<short>Find which control is the top parent (ie ultimate ancestor)</short>
15332
<!-- function result Visibility: default -->
15333
<element name="TControl.GetTopParent.Result">
15336
<!-- function Visibility: public -->
15337
<element name="TControl.IsControlVisible">
15338
<short>Is the control visible on the current desktop?</short>
15340
<p>Does not check for invisible parents</p>
15345
<!-- function result Visibility: default -->
15346
<element name="TControl.IsControlVisible.Result">
15349
<!-- function Visibility: public -->
15350
<element name="TControl.FormIsUpdating">
15351
<short>True if the form is being updated</short>
15356
<!-- function result Visibility: default -->
15357
<element name="TControl.FormIsUpdating.Result">
15360
<!-- procedure Visibility: public -->
15361
<element name="TControl.ActiveDefaultControlChanged">
15362
<short>The active default control has changed to <var>NewControl</var>
15368
<!-- argument Visibility: default -->
15369
<element name="TControl.ActiveDefaultControlChanged.NewControl">
15372
<!-- function Visibility: public -->
15373
<element name="TControl.ParentDestroyingHandle">
15375
<var>ParentDestroyingHandle</var> - returns True if the parent control is destroying the Handle</short>
15380
<!-- function result Visibility: default -->
15381
<element name="TControl.ParentDestroyingHandle.Result">
15384
<!-- procedure Visibility: public -->
15385
<element name="TControl.ShowHelp">
15386
<short>Procedure for displaying the Help associated with this control</short>
15391
<!-- function Visibility: public -->
15392
<element name="TControl.HasHelp">
15393
<short>Indicates that this control has an entry in the Help-file</short>
15398
<!-- function result Visibility: default -->
15399
<element name="TControl.HasHelp.Result">
15402
<!-- procedure Visibility: public -->
15403
<element name="TControl.AddHandlerOnVisibleChanging">
15405
<var>AddHandlerOnVisibleChanging</var> - method for adding a handler for the
15412
<var>OnVisibleChanging</var> event</short>
15417
<!-- argument Visibility: default -->
15418
<element name="TControl.AddHandlerOnVisibleChanging.OnVisibleChangingEvent">
15421
<!-- argument Visibility: default -->
15422
<element name="TControl.AddHandlerOnVisibleChanging.AsLast">
15425
<!-- procedure Visibility: public -->
15426
<element name="TControl.RemoveHandlerOnVisibleChanging">
15428
<var>RemoveHandlerOnVisibleChanging</var> - method to remove a handler for the
15435
<var>OnVisibleChanging</var> event</short>
15440
<!-- argument Visibility: default -->
15441
<element name="TControl.RemoveHandlerOnVisibleChanging.OnVisibleChangingEvent">
15444
<!-- procedure Visibility: public -->
15445
<element name="TControl.AddHandlerOnVisibleChanged">
15447
<var>AddHandlerOnVisibleChanged</var> - method for adding a handler for the
15454
<var>OnVisibleChanged</var> event</short>
15459
<!-- argument Visibility: default -->
15460
<element name="TControl.AddHandlerOnVisibleChanged.OnVisibleChangedEvent">
15463
<!-- argument Visibility: default -->
15464
<element name="TControl.AddHandlerOnVisibleChanged.AsLast">
15467
<!-- procedure Visibility: public -->
15468
<element name="TControl.RemoveHandlerOnVisibleChanged">
15470
<var>RemoveHandlerOnVisibleChanged</var> - method to remove handler for the
15477
<var>OnVisibleChanged</var> event</short>
15482
<!-- argument Visibility: default -->
15483
<element name="TControl.RemoveHandlerOnVisibleChanged.OnVisibleChangedEvent">
15486
<!-- property Visibility: public -->
15487
<element name="TControl.CaptureMouseButtons">
15488
<short>Which mouse button(s) to be used for capture? Default left button, but may be a set of up to three</short>
15492
<!-- variable Visibility: private -->
15493
<element name="TControl.FBiDiMode">
15498
<!-- variable Visibility: private -->
15499
<element name="TControl.FParentBiDiMode">
15504
<!-- function Visibility: private -->
15505
<element name="TControl.IsBiDiModeStored">
15506
<short>Is the BiDi mode stored?</short>
15511
<!-- function result Visibility: default -->
15512
<element name="TControl.IsBiDiModeStored.Result">
15515
<!-- procedure Visibility: private -->
15516
<element name="TControl.SetBiDiMode">
15518
<var>SetBiDiMode</var> - specifies the BiDi mode</short>
15523
<!-- argument Visibility: default -->
15524
<element name="TControl.SetBiDiMode.AValue">
15527
<!-- procedure Visibility: private -->
15528
<element name="TControl.SetParentBiDiMode">
15530
<var>SetParentBiDiMode</var> - specifies the BiDi mode for the parent control</short>
15535
<!-- argument Visibility: default -->
15536
<element name="TControl.SetParentBiDiMode.AValue">
15539
<!-- procedure Visibility: private -->
15540
<element name="TControl.CMBiDiModeChanged">
15542
<var>CMBiDiModeChanged</var> - issues control message when BiDi mode is changed</short>
15547
<!-- argument Visibility: default -->
15548
<element name="TControl.CMBiDiModeChanged.Message">
15551
<!-- procedure Visibility: private -->
15552
<element name="TControl.CMParentBiDiModeChanged">
15554
<var>CMParentBiDiModeChanged</var> - issues a control message when the parent control's BiDi mode is changed</short>
15559
<!-- argument Visibility: default -->
15560
<element name="TControl.CMParentBiDiModeChanged.Message">
15563
<!-- function Visibility: public -->
15564
<element name="TControl.UseRightToLeftAlignment">
15566
<var>UseRightToLeftAlignment</var> - as opposed to usual left to right</short>
15567
<descr>Needs <var>BiDiMode</var> enabled
15572
<!-- function result Visibility: default -->
15573
<element name="TControl.UseRightToLeftAlignment.Result">
15576
<!-- function Visibility: public -->
15577
<element name="TControl.UseRightToLeftReading">
15579
<var>UseRightToLeftReading </var>- as opposed to usual left to right</short>
15580
<descr>Needs <var>BiDiMode</var> enabled</descr>
15584
<!-- function result Visibility: default -->
15585
<element name="TControl.UseRightToLeftReading.Result">
15588
<!-- function Visibility: public -->
15589
<element name="TControl.UseRightToLeftScrollBar">
15591
<var>UseRightToLeftScrollBar</var> - as opposed to usual left to right</short>
15592
<descr>Needs <var>BiDiMode</var> enabled</descr>
15596
<!-- function result Visibility: default -->
15597
<element name="TControl.UseRightToLeftScrollBar.Result">
15600
<!-- function Visibility: public -->
15601
<element name="TControl.IsRightToLeft">
15603
<var>IsRightToLeft</var> - as opposed to usual left to right</short>
15604
<descr>Needs <var>BiDiMode</var> enabled</descr>
15608
<!-- function result Visibility: default -->
15609
<element name="TControl.IsRightToLeft.Result">
13759
<short>AnchorSide changed.</short>
15612
13761
<!-- enumeration type Visibility: default -->
15613
13762
<element name="TChildControlResizeStyle">
13763
<short>Modes for resizing child controls.</short>
15618
<!-- enumeration value Visibility: default -->
15619
13767
<element name="TChildControlResizeStyle.crsAnchorAligning">
13768
<short>Using <link id="TControl.Anchors"/> (Delphi compatible).</short>
15622
<!-- enumeration value Visibility: default -->
15623
13770
<element name="TChildControlResizeStyle.crsScaleChilds">
13771
<short>Scale children, keep space between children fixed.</short>
15626
<!-- enumeration value Visibility: default -->
15627
13773
<element name="TChildControlResizeStyle.crsHomogenousChildResize">
13774
<short>Enlarge children equally, i.e. by the same amount of pixels.</short>
15630
<!-- enumeration value Visibility: default -->
15631
13776
<element name="TChildControlResizeStyle.crsHomogenousSpaceResize">
13777
<short>Enlarge space between children equally.</short>
15634
13779
<!-- enumeration type Visibility: default -->
15635
13780
<element name="TControlChildrenLayout">
13781
<short>Modes for wrapping controls.</short>
15640
<!-- enumeration value Visibility: default -->
15641
13785
<element name="TControlChildrenLayout.cclNone">
13786
<short>No wrapping</short>
13787
<notes><note>?</note>
15644
<!-- enumeration value Visibility: default -->
15645
13790
<element name="TControlChildrenLayout.cclLeftToRightThenTopToBottom">
13791
<short>Arrange in rows If BiDiMode not bdLeftToRight then it becomes RightToLeft.</short>
13792
<notes><note>?</note>
15648
<!-- enumeration value Visibility: default -->
15649
13795
<element name="TControlChildrenLayout.cclTopToBottomThenLeftToRight">
15652
<!-- variable Visibility: private -->
15653
<element name="TControlChildSizing.FControlsPerLine">
15658
<!-- variable Visibility: private -->
15659
<element name="TControlChildSizing.FLayout">
15664
<!-- procedure Visibility: private -->
15665
<element name="TControlChildSizing.SetControlsPerLine">
15671
<!-- argument Visibility: default -->
15672
<element name="TControlChildSizing.SetControlsPerLine.AValue">
15675
<!-- procedure Visibility: private -->
15676
<element name="TControlChildSizing.SetLayout">
15682
<!-- argument Visibility: default -->
15683
<element name="TControlChildSizing.SetLayout.AValue">
15686
<!-- procedure Visibility: public -->
15687
<element name="TControlChildSizing.SetGridSpacing">
15689
<var>SetGridSpacing</var> - specifies a value for spacing on the grid (for drawing etc)</short>
15694
<!-- argument Visibility: default -->
15695
<element name="TControlChildSizing.SetGridSpacing.Spacing">
15698
<!-- property Visibility: published -->
15699
<element name="TControlChildSizing.Layout">
15701
<var>Layout</var> - L-R then Top-Bottom, or Top-Bottom then L-R (or none)</short>
15705
<!-- property Visibility: published -->
15706
<element name="TControlChildSizing.ControlsPerLine">
15708
<var>ControlsPerLine</var> - number of controls per line</short>
15712
<!-- enumeration value Visibility: default -->
15713
<element name="TWinControlFlag.wcfHandleVisible">
13796
<short>Arrange in columns</short>
13797
<notes><note>?</note>
15716
13800
<!-- enumeration type Visibility: default -->
15717
13801
<element name="TControlAtPosFlag">
15718
13802
<short>Flags for finding a control at given (client) position.</short>
15719
<descr>capfAllowDisabled: include disabled controls?
15720
capfAllowWinControls: do not find WinControls if False.
15721
capfOnlyClientAreas: hit client areas only.
15722
capfRecursive: search into child controls.
15723
capfHasScrollOffset: crap, ScrollOffset is taken into account only for the first (top level) WinControl.</descr>
13803
<descr>capfAllowDisabled: include disabled controls.
13804
capfAllowWinControls: do not find WinControls if False.
13805
capfOnlyClientAreas: hit client areas only.
13806
capfRecursive: search into child controls.
13807
capfHasScrollOffset: scroll offset is already included in the coordinates.
13810
<link id="TWinControl.ControlAtPos"/>
15726
13813
<!-- enumeration value Visibility: default -->
15727
13814
<element name="TControlAtPosFlag.capfAllowDisabled">
13815
<short>If set: include disabled controls.</short>
15730
13817
<!-- enumeration value Visibility: default -->
15731
13818
<element name="TControlAtPosFlag.capfAllowWinControls">
13819
<short>If set: include TWinControls, in addition to TControls.</short>
15734
13821
<!-- enumeration value Visibility: default -->
15735
13822
<element name="TControlAtPosFlag.capfOnlyClientAreas">
13823
<short>If set: hit client areas only.</short>
15738
13825
<!-- enumeration value Visibility: default -->
15739
13826
<element name="TControlAtPosFlag.capfRecursive">
13827
<short>If set: recurse into grand children.</short>
15742
13829
<!-- enumeration value Visibility: default -->
15743
13830
<element name="TControlAtPosFlag.capfHasScrollOffset">
13831
<short>If set: scroll offset is already included in the coordinates.</short>
15746
13833
<!-- set type Visibility: default -->
15747
<element name="TControlAtPosFlags">
15752
<!-- variable Visibility: private -->
15753
<element name="TWinControl.FOnGetDockCaption">
15758
<!-- procedure Visibility: private -->
15759
<element name="TWinControl.AlignNonAlignedControls">
15765
<!-- argument Visibility: default -->
15766
<element name="TWinControl.AlignNonAlignedControls.ListOfControls">
15769
<!-- argument Visibility: default -->
15770
<element name="TWinControl.AlignNonAlignedControls.BoundsModified">
15773
<!-- function Visibility: private -->
15774
<element link="#LCL.Controls.TControl.IsClientHeightStored" name="TWinControl.IsClientHeightStored">
15780
<!-- function result Visibility: default -->
15781
<element name="TWinControl.IsClientHeightStored.Result">
15784
<!-- function Visibility: private -->
15785
<element link="#LCL.Controls.TControl.IsClientWidthStored" name="TWinControl.IsClientWidthStored">
15791
<!-- function result Visibility: default -->
15792
<element name="TWinControl.IsClientWidthStored.Result">
15795
<!-- procedure Visibility: protected -->
15796
<element name="TWinControl.CreateControlAlignList">
15798
<var>CreateControlAlignList</var> - creates a list of the controls that are aligned with the present window control</short>
15803
<!-- argument Visibility: default -->
15804
<element name="TWinControl.CreateControlAlignList.TheAlign">
15807
<!-- argument Visibility: default -->
15808
<element name="TWinControl.CreateControlAlignList.AlignList">
15811
<!-- argument Visibility: default -->
15812
<element name="TWinControl.CreateControlAlignList.StartControl">
15815
<!-- procedure Visibility: protected -->
15816
<element name="TWinControl.ResizeDelayedAutoSizeChildren">
15818
<var>ResizeDelayedAutoSizeChildren</var> - method for re-sizing children, using autosize delayed</short>
15823
<!-- function result Visibility: default -->
15824
<element name="TWinControl.DoDragMsg.Result">
15827
<!-- argument Visibility: default -->
15828
<element name="TWinControl.DoDragMsg.ADragMessage">
15831
<!-- argument Visibility: default -->
15832
<element name="TWinControl.DoDragMsg.APosition">
15835
<!-- argument Visibility: default -->
15836
<element name="TWinControl.DoDragMsg.ADragObject">
15839
<!-- argument Visibility: default -->
15840
<element name="TWinControl.DoDragMsg.ATarget">
15843
<!-- argument Visibility: default -->
15844
<element name="TWinControl.DoDragMsg.ADocking">
15847
<!-- function Visibility: protected -->
15848
<element name="TWinControl.DoDockClientMsg">
15849
<short>Handles dmDragDock message, when a control has been docked to this site.</short>
15851
<p>Called when a control is dropped for docking.</p>
15852
<p>Asks the dropped control to Dock itself into this control (adjust HostDockSite etc.).<br/>
15853
Calls an installed DockManager to adjust the coordinates of the docked control.</p>
15854
<p>The Result is always True (unless overridden).</p>
15857
<!-- function result Visibility: default -->
15858
<element name="TWinControl.DoDockClientMsg.Result">
15861
<!-- argument Visibility: default -->
15862
<element name="TWinControl.DoDockClientMsg.DragDockObject">
15865
<!-- argument Visibility: default -->
15866
<element name="TWinControl.DoDockClientMsg.Position">
15869
<!-- function Visibility: protected -->
15870
<element name="TWinControl.DoUndockClientMsg">
15871
<short>Notifies the DockManager of the undock of a client control; always returns True.</short>
15875
<link id="TDockManager.RemoveControl"/>
15878
<!-- function result Visibility: default -->
15879
<element name="TWinControl.DoUndockClientMsg.Result">
15882
<!-- argument Visibility: default -->
15883
<element name="TWinControl.DoUndockClientMsg.NewTarget">
15886
<!-- argument Visibility: default -->
15887
<element name="TWinControl.DoUndockClientMsg.Client">
15890
<!-- procedure Visibility: protected -->
15891
<element name="TWinControl.DoSendShowHideToInterface">
15896
<var>DoSendShowHideToInterface</var> - send the Show/Hide status to the interface</short>
15898
<!-- procedure Visibility: protected -->
15899
<element name="TWinControl.RealizeBoundsRecursive">
15901
<var>RealizeBoundsRecursive</var> - perform
15908
<var>RealizeBounds</var> in a recursive manner</short>
15913
<!-- argument Visibility: default -->
15914
<element name="TWinControl.CalculatePreferredSize.WithThemeSpace">
15917
<!-- procedure Visibility: protected -->
15918
<element name="TWinControl.CMBiDiModeChanged">
15920
<var>CMBiDiModeChanged</var> - control message for a change in the
15927
<var>BiDiMode</var> property</short>
15932
<!-- argument Visibility: default -->
15933
<element name="TWinControl.CMBiDiModeChanged.Message">
15936
<!-- argument Visibility: default -->
15937
<element name="TWinControl.DoUnDock.KeepDockSiteSize">
15940
<!-- procedure Visibility: protected -->
15941
<element link="#LCL.Controls.TControl.DoFloatMsg" name="TWinControl.DoFloatMsg">
15942
<short>Handler called when the control starts floating.</short>
15943
<descr>TWinControls can float for themselves, unless they request a special FloatingDockSiteClass.
15945
[Bug: when no FloatingDockSiteClass was assigned, a default floating site is created?]
15950
<!-- argument Visibility: default -->
15951
<element name="TWinControl.DoFloatMsg.ADockSource">
15954
<!-- procedure Visibility: protected -->
15955
<element name="TWinControl.DoGetDockCaption">
15956
<short>Calls an OnGetDockCaption handler, to adjust the dock-caption for the docked control.</short>
15961
<!-- argument Visibility: default -->
15962
<element name="TWinControl.DoGetDockCaption.AControl">
15965
<!-- argument Visibility: default -->
15966
<element name="TWinControl.DoGetDockCaption.ACaption">
15969
<!-- function Visibility: protected -->
15970
<element name="TWinControl.SendDialogChar">
15972
<var>SendDialogChar</var> - LCL key message: returns True if a dialog character has been sent</short>
15977
<!-- function result Visibility: default -->
15978
<element name="TWinControl.SendDialogChar.Result">
15981
<!-- argument Visibility: default -->
15982
<element name="TWinControl.SendDialogChar.Message">
15985
<!-- procedure Visibility: protected -->
15986
<element name="TWinControl.SelectFirst">
15988
<var>SelectFirst</var> - select the first control on the list</short>
15993
<!-- procedure Visibility: protected -->
15994
<element name="TWinControl.FinalizeWnd">
15996
<var>FinalizeWnd</var> - getting ready to remove window (gets called before the Handle is destroyed)</short>
16001
<!-- procedure Visibility: protected -->
16002
<element name="TWinControl.FormEndUpdated">
16004
<var>FormEndUpdated</var> - calls inherited
16011
<var>FormEndUpdated</var> then informs each child control</short>
16015
<link id="#LCL.Controls.TControl.FormEndUpdated">TControl.FormEndUpdated</link>
16018
<!-- procedure Visibility: protected -->
16019
<element name="TWinControl.SetChildZPosition">
16021
<var>SetChildZPosition</var> - specify the position of the child control in the Z plane (ie front-to-back)</short>
16026
<!-- argument Visibility: default -->
16027
<element name="TWinControl.SetChildZPosition.AChild">
16030
<!-- argument Visibility: default -->
16031
<element name="TWinControl.SetChildZPosition.APosition">
16034
<!-- procedure Visibility: protected -->
16035
<element name="TWinControl.WSSetText">
16037
<var>WSSetText</var> - writes the name of the current widget set to a local variable</short>
16042
<!-- argument Visibility: default -->
16043
<element name="TWinControl.WSSetText.AText">
16046
<!-- property Visibility: protected -->
16047
<element name="TWinControl.OnGetDockCaption">
16049
<var>OnGetDockCaption</var> - event handler to find the caption for the docked control</short>
16053
<!-- argument Visibility: default -->
16054
<element name="TWinControl.ControlAtPos.Flags">
16057
<!-- procedure Visibility: public -->
16058
<element link="#LCL.Controls.TControl.WriteLayoutDebugReport" name="TWinControl.WriteLayoutDebugReport">
16064
<!-- argument Visibility: default -->
16065
<element name="TWinControl.WriteLayoutDebugReport.Prefix">
16068
<!-- argument Visibility: default -->
16069
<element name="TWinControl.DockDrop.DragDockObject">
16072
<!-- procedure Visibility: public -->
16073
<element link="#LCL.Controls.TControl.SetTempCursor" name="TWinControl.SetTempCursor">
16078
<!-- argument Visibility: default -->
16079
<element name="TWinControl.SetTempCursor.Value">
16082
<!-- procedure Visibility: public -->
16083
<element name="TWinControl.AddControl">
16085
<var>AddControl</var> - add this control to the list of controls</short>
16090
<!-- function Visibility: public -->
16091
<element name="TWinControl.GetDockCaption">
16092
<short>Returns the caption for the docked control.</short>
16094
<!-- function result Visibility: default -->
16095
<element name="TWinControl.GetDockCaption.Result">
16098
<!-- argument Visibility: default -->
16099
<element name="TWinControl.GetDockCaption.AControl">
16102
<!-- argument Visibility: default -->
16103
<element name="TWinControl.IntfUTF8KeyPress.SystemKey">
16106
<!-- procedure Visibility: public -->
16107
<element name="TWinControl.PaintTo">
16109
<var>PaintTo</var> - Paint to a specified position on the canvas</short>
16114
<!-- argument Visibility: default -->
16115
<element name="TWinControl.PaintTo.DC">
16118
<!-- argument Visibility: default -->
16119
<element name="TWinControl.PaintTo.X">
16122
<!-- argument Visibility: default -->
16123
<element name="TWinControl.PaintTo.Y">
16126
<!-- argument Visibility: default -->
16127
<element name="TWinControl.PaintTo.ACanvas">
16130
<!-- procedure Visibility: public -->
16131
<element name="TWinControl.SetShape">
16133
<var>SetShape</var> - make the specified shape appear on the Window</short>
16138
<!-- argument Visibility: default -->
16139
<element name="TWinControl.SetShape.AShape">
16142
<!-- procedure Visibility: protected -->
16143
<element link="#LCL.Controls.TControl.FontChanged" name="TGraphicControl.FontChanged">
16149
<!-- argument Visibility: default -->
16150
<element name="TGraphicControl.FontChanged.Sender">
16153
<!-- procedure Visibility: protected -->
16154
<element link="#LCL.Controls.TControl.DoOnChangeBounds" name="TGraphicControl.DoOnChangeBounds">
16160
<!-- procedure Visibility: protected -->
16161
<element link="#LCL.Controls.TControl.FontChanged" name="TCustomControl.FontChanged">
16167
<!-- argument Visibility: default -->
16168
<element name="TCustomControl.FontChanged.Sender">
16171
<!-- procedure Visibility: protected -->
16172
<element link="#LCL.Controls.TControl.SetColor" name="TCustomControl.SetColor">
16178
<!-- argument Visibility: default -->
16179
<element name="TCustomControl.SetColor.Value">
16182
<!-- procedure Visibility: public -->
16183
<element link="#LCL.Controls.TWinControl.DestroyWnd" name="TCustomControl.DestroyWnd">
16189
<!-- property Visibility: published -->
16190
<element name="TImageList.AllocBy">
16192
<var>AllocBy</var> - for allocation</short>
16196
<!-- property Visibility: published -->
16197
<element name="TImageList.BlendColor">
16199
<var>BlendColor</var> - the colour for blending</short>
16203
<!-- property Visibility: published -->
16204
<element link="#LCL.ImgList.TCustomImageList.DrawingStyle" name="TImageList.DrawingStyle">
16209
<!-- property Visibility: published -->
16210
<element link="#LCL.ImgList.TCustomImageList.ImageType" name="TImageList.ImageType">
16215
<!-- property Visibility: published -->
16216
<element link="#LCL.ImgList.TCustomImageList.ShareImages" name="TImageList.ShareImages">
16221
<!-- argument Visibility: default -->
16222
<element name="TDockZone.Create.TheChildControl">
16225
<!-- function Visibility: public -->
16226
<element name="TDockZone.FindZone">
16228
<var>FindZone</var> - returns the Dockzone for the nominated control</short>
16233
<!-- function result Visibility: default -->
16234
<element name="TDockZone.FindZone.Result">
16237
<!-- argument Visibility: default -->
16238
<element name="TDockZone.FindZone.AControl">
16241
<!-- procedure Visibility: public -->
16242
<element name="TDockZone.AddAsFirstChild">
16244
<var>AddAsFirstChild</var> - add a new zone as the first child</short>
16249
<!-- argument Visibility: default -->
16250
<element name="TDockZone.AddAsFirstChild.NewChildZone">
16253
<!-- procedure Visibility: public -->
16254
<element name="TDockZone.AddAsLastChild">
16256
<var>AddAsLastChild</var> - add an new zone as the last child</short>
16261
<!-- argument Visibility: default -->
16262
<element name="TDockZone.AddAsLastChild.NewChildZone">
16265
<!-- procedure Visibility: public -->
16266
<element name="TDockZone.ReplaceChild">
16268
<var>ReplaceChild</var> - replace the
16275
<var>OldChild</var> zone with the
16282
<var>NewChild</var>
16288
<!-- argument Visibility: default -->
16289
<element name="TDockZone.ReplaceChild.OldChild">
16292
<!-- argument Visibility: default -->
16293
<element name="TDockZone.ReplaceChild.NewChild">
16296
<!-- function Visibility: public -->
16297
<element name="TDockZone.GetLastChild">
16299
<var>GetLastChild</var> - returns the last child zone</short>
16304
<!-- function result Visibility: default -->
16305
<element name="TDockZone.GetLastChild.Result">
16308
<!-- function Visibility: public -->
16309
<element name="TDockZone.GetIndex">
16311
<var>GetIndex</var> - returns the index of the current zone</short>
16316
<!-- function result Visibility: default -->
16317
<element name="TDockZone.GetIndex.Result">
16320
<!-- procedure Visibility: public -->
16321
<element name="TDockZone.Remove">
16323
<var>Remove</var> the nominated child zone</short>
16328
<!-- argument Visibility: default -->
16329
<element name="TDockZone.Remove.ChildZone">
16332
<!-- property Visibility: public -->
16333
<element name="TDockZone.ChildControl">
16334
<short>The child control to be docked here</short>
16338
<!-- property Visibility: public -->
16339
<element name="TDockZone.FirstChild">
16340
<short>The first child control in the list of controls for docking</short>
16344
<!-- property Visibility: public -->
16345
<element name="TDockZone.Orientation">
16346
<short>Whether docking is oriented vertically, horizontally, in pages, or not at all</short>
16348
<p>doNoOrient : zone contains a TControl and no child zones.</p>
16349
<p>doHorizontal : zone's children are stacked top-to-bottom.</p>
16350
<p>doVertical : zone's children are arranged left-to-right.</p>
16351
<p>doPages : zone's children are pages arranged left-to-right.</p>
16355
<!-- property Visibility: public -->
16356
<element name="TDockZone.Parent">
16357
<short>The parent dock zone to which this control is docked</short>
16361
<!-- property Visibility: public -->
16362
<element name="TDockZone.NextSibling">
16363
<short>The next sibling (related control atthe same level) in the list of docked controls</short>
16367
<!-- property Visibility: public -->
16368
<element name="TDockZone.PrevSibling">
16369
<short>The previous sibling (control at the same level) in the list of docked controls</short>
16373
<!-- variable Visibility: private -->
16374
<element name="TDockTree.FRootZone">
16379
<!-- procedure Visibility: private -->
16380
<element name="TDockTree.SetDockSite">
16386
<!-- argument Visibility: default -->
16387
<element name="TDockTree.SetDockSite.AValue">
16390
<!-- procedure Visibility: protected -->
16391
<element name="TDockTree.SetDockZoneClass">
16393
<var>SetDockZoneClass</var> - specifies the class of dock zone</short>
16398
<!-- argument Visibility: default -->
16399
<element name="TDockTree.SetDockZoneClass.AValue">
16402
<!-- property Visibility: public -->
16403
<element name="TDockTree.RootZone">
16405
<var>RootZone</var> - the zone that forms the root of the current Dock Tree</short>
16409
<!-- variable Visibility: default -->
16410
<element name="DockSplitterClass">
16415
<!-- variable Visibility: private -->
16416
<element name="TMouse.FWheelScrollLines">
16421
<!-- procedure Visibility: private -->
16422
<element name="TMouse.SetCursorPos">
16428
<!-- argument Visibility: default -->
16429
<element name="TMouse.SetCursorPos.AValue">
16432
<!-- function Visibility: private -->
16433
<element name="TMouse.GetWheelScrollLines">
16439
<!-- function result Visibility: default -->
16440
<element name="TMouse.GetWheelScrollLines.Result">
16443
<!-- function Visibility: private -->
16444
<element name="TMouse.GetDragImmediate">
16450
<!-- function result Visibility: default -->
16451
<element name="TMouse.GetDragImmediate.Result">
16454
<!-- procedure Visibility: private -->
16455
<element name="TMouse.SetDragImmediate">
16461
<!-- argument Visibility: default -->
16462
<element name="TMouse.SetDragImmediate.AValue">
16465
<!-- function Visibility: private -->
16466
<element name="TMouse.GetDragThreshold">
16472
<!-- function result Visibility: default -->
16473
<element name="TMouse.GetDragThreshold.Result">
16476
<!-- procedure Visibility: private -->
16477
<element name="TMouse.SetDragThreshold">
16483
<!-- argument Visibility: default -->
16484
<element name="TMouse.SetDragThreshold.AValue">
16487
<!-- property Visibility: public -->
16488
<element name="TMouse.WheelScrollLines">
16490
<var>WheelScrollLines</var> - the number of lines the the scroll wheel has traversed</short>
16494
<!-- constant Visibility: default -->
16495
<element name="MainAlignAnchor">
16500
<!-- constant Visibility: default -->
16501
<element name="OppositeAnchor">
16506
<!-- constant Visibility: default -->
16507
<element name="ClockwiseAnchor">
16512
<!-- constant Visibility: default -->
16513
<element name="AnchorNames">
16518
<!-- argument Visibility: default -->
16519
<element name="SetCaptureControl.AWinControl">
16522
<!-- argument Visibility: default -->
16523
<element name="SetCaptureControl.Position">
16526
<!-- argument Visibility: default -->
16527
<element name="AdjustBorderSpace.Space">
13834
<element link="TControlAtPosFlag" name="TControlAtPosFlags"/>
16530
13835
<!-- function Visibility: default -->
16531
13836
<element name="DbgS">
13837
<short>Converts items of several data types into strings, for debug output.</short>
13839
<errors>[The parameters should have unique names, for every type]</errors>
16537
<!-- function result Visibility: default -->
16538
13842
<element name="DbgS.Result">
13843
<short>The string representing the given parameter(s).</short>
16541
<!-- argument Visibility: default -->
16542
13845
<element name="DbgS.a">
16545
<!-- argument Visibility: default -->
16546
13848
<element name="DbgS.Anchors">
16549
<!-- argument Visibility: default -->
16550
13851
<element name="DbgS.Side">
16553
<element name="TControl.AnchAnchor">
16554
<short>Anchor to the bottom</short>
16556
<element name="TDockZone.Height">
16557
<short>The height of this control</short>
16559
<element name="TControl.OnMouseWheel">
16561
<var>OnMouseWheel</var> - event handler for a movement of the mouse wheel</short>
16563
<element name="TControl.OnMouseWheelDown">
16565
<var>OnMouseWheelDown</var> - event handler for downward movement of mouse wheel</short>
16567
<element name="TControl.OnMouseWheelUp">
16569
<var>OnMouseWheelUp</var> - event handler for upward movement of mouse wheel</short>
16571
<element name="TWinControl.InvalidatePreferredChildSizes">
16573
<var>InvalidatePreferredChildSizes</var> - renders the preferred child sizes invalid</short>
16575
<element name="TDragObject.AutoCreated">
16576
<short>Was the drag object created automatically?</short>
16577
<descr>This property is of little use, more important is the AutoFree property.</descr>
16579
<element name="TDragObject.EndDrag">
16580
<short>Called when a dragging operation ends.</short>
16581
<descr>The default implementation calls source.DoEndDrag, which in turn invokes an OnEndDrag handler.</descr>
16583
<element name="TDragDockObject.DockOffset">
16584
<short>The hotspot offset of the dragged DockRect.</short>
16586
<element name="TDockManager.MouseMessage">
16588
<var>MouseMessage</var> - message sent to system for mouse events</short>
16590
<element name="TDockManager.AutoFreeByControl">
16591
<short>Returns True if the DockManager should be destroyed together with the docksite.</short>
16593
<p>This is a Lazarus specific extension of the Delphi TDockManager. It allows multiple docksites to share the same DockManager instance. </p>
16596
<element name="TControl.WMMouseWheel">
16597
<short>Protected message to system - when mouse wheel moves</short>
16599
<element name="TControl.DoMouseWheel">
16601
<var>DoMouseWheel</var> - performs the action to deal with a movement of the mouse wheel; returns True if handled</short>
16603
<element name="TControl.DoMouseWheelDown">
16605
<var>DoMouseWheelDown</var> - performs the action for a downward movement of the mouse wheel; returns True if handled</short>
16607
<element name="TControl.DoMouseWheelUp">
16609
<var>DoMouseWheelUp</var> - performs the action for an upward movement of the mouse wheel; returns True if handled</short>
16611
<element link="#LCL.Controls.TDockManager.MouseMessage" name="TDockTree.MouseMessage"/>
16612
<element name="TControl.CreateControlBorderSpacing">
16614
<var>CreateControlBorderSpacing</var> - calls
16621
<var>TControlBorderSpacing.Create</var> to create the border spacing for this control</short>
16623
<link id="TControlBorderSpacing.Create">TControlBorderSpacing.Create</link>
16626
<element name="TControl.WMCancelMode">
16627
<short>Protected message to system for CancelMode</short>
16629
<element name="TControl.CMWantSpecialKey">
16630
<short>Control Message when a special key is needed</short>
16632
<element name="TWinControl.CustomAlignInsertBefore">
16634
<var>CustomAlignInsertBefore</var> - returns True if the
16641
<var>OnAlignInsertBefore</var> event handler has been assigned and executes successfully</short>
16643
<element name="TWinControl.CustomAlignPosition">
16645
<var>CustomAlignPosition</var> calls the
16652
<var>OnAlignPosition</var> event handler to make a highly specified alignment</short>
16654
<element name="TWinControl.CMBorderChanged">
16656
<var>CMBorderChanged</var> - ControlMessage for a change in the
16663
<var>Border</var> property</short>
16665
<element name="TWinControl.OnAlignInsertBefore">
16667
<var>OnAlignInsertBefore</var> - event handler for an aligned insertion before action</short>
16669
<element name="TWinControl.OnAlignPosition">
16671
<var>OnAlignPosition</var> - event handler for supplying align position</short>
16673
<element name="TDockZone.AddSibling">
16675
<var>AddSibling</var> - insers a new sibling control into the dock zone</short>
16677
<element name="TDockTree.DumpLayout">
16679
<var>DumpLayout</var> - stores layout in a file</short>
16681
<element name="TDockZone.SetLimitBegin">
16683
<var>SetLimitBegin</var> - specifies the limit for the beginning of the zone</short>
16685
<element name="TDockZone.SetLimitSize">
16687
<var>SetLimitSize</var> - specifies the limit for the size of the zone</short>
16689
<element name="TDockZone.SetHeight">
16691
<var>SetHeight</var> - specifies the height of the zone</short>
16693
<element name="TDockZone.SetLeft">
16695
<var>SetLeft</var> - specifies the left side of the zone</short>
16697
<element name="TDockZone.SetTop">
16699
<var>SetTop</var> - specifies the top of the zone</short>
16701
<element name="TDockZone.SetWidth">
16703
<var>SetWidth</var> - specifies the width of the zone</short>
16705
<element link="#LCL.LCLClasses.TLCLComponent.WSRegisterClass" name="TWinControl.WSRegisterClass"/>
16706
<element link="#LCL.LCLClasses.TLCLComponent.WSRegisterClass" name="TControl.WSRegisterClass"/>
16707
<element link="#LCL.LCLClasses.TLCLComponent.WSRegisterClass" name="TGraphicControl.WSRegisterClass"/>
16708
<element link="#LCL.LCLClasses.TLCLComponent.WSRegisterClass" name="TCustomControl.WSRegisterClass"/>
13854
<element name="DbgS.p">
13857
<element name="DbgS.Phases">
13858
<short>All elements in this set will be shown as a comma-separated list.</short>
13860
<!-- function Visibility: default -->
13861
<element name="operator :=(Variant): TCaption">
13866
<notes><note>?</note>
13869
<element name="operator :=(Variant): TCaption.Result">
13871
<notes><note>?</note>
13874
<element name="operator :=(Variant): TCaption.AVariant">
13876
<notes><note>?</note>
13879
<!-- Variables go here -->
13880
<!-- variable Visibility: implementation -->
13881
<element name="CaptureControl">
13882
<short>Hidden reference to the currently capturing control.</short>
13883
<descr>The interface knows, which TWinControl has the capture.
13884
This stores what child control of this TWinControl has actually the capture.
13888
<!-- variable Visibility: default -->
13889
<element name="DefaultDockManagerClass">
13890
<short>The default DockManager to create for a DockSite.</short>
13894
<!-- variable Visibility: default -->
13895
<element name="DockSplitterClass">
13899
<notes><note>?</note>
13902
<!-- variable Visibility: default -->
13903
<element link="TDragManager" name="DragManager">
13904
<short>The current DragManager (always TDragManagerDefault).</short>
13905
<descr>A DragManager can be implemented only in the Controls unit,
13906
because it must access private elements of the other classes,
13907
declared in this unit.
13911
<!-- variable Visibility: default -->
13912
<element name="Mouse">
13913
<short>The global Mouse object.</short>
13917
<!-- variable Visibility: default -->
13918
<element name="NewStyleControls">
13922
<notes><note>?</note>
13925
<!-- Topics go here -->
16709
13926
<topic name="AutoSize">
16711
13928
<var>AutoSize</var> - boolean property that permits the size of a control to be adjusted automatically</short>
13930
<p>[deverses an review!!!]
16714
13931
<var>AutoSize</var> is a boolean property found in many classes; it permits the size of a control to be adjusted automatically to accommodate differences in the text or graphic contained therein, and allows most efficient use of available space</p>
16715
13932
<p>Many controls call <link id="#lcl.Controls.TControl.DoAutoSize">TControl.DoAutoSize</link> to perform the actual auto-sizing. </p>
16716
13933
<p>IMPORTANT: Many Delphi controls override this method and many call this method directly after setting some properties.</p>