Results 1 to 11 of 11

Thread: WinForms en panel alignment

  1. #1

    WinForms en panel alignment

    Ik heb WinForms applicatie met 2 panels. Deze wil ik met Dock op de juiste posities zetten. Bij de bovenste panel zet ik de Dock property op Fill, en de onderste zet ik op Bottom. Dezelfde instellingen als ik gebruikte in Delphi 7.

    Maar nu gaat de panel met Dock op Fill niet goed, deze komt niet goed boven de panel met Bottom, maar gaat er onder zitten ofzo.

    In Delphi 7 had ik gewoon 2 panels, 1 op alBottom en 1 op alClient. Dit werkte perfect. Hoe krijg ik dit in Delphi 8 ook voor elkaar?

  2. #2
    SillyMember
    Join Date
    May 2003
    Location
    Gent
    Posts
    7,725
    Dat werkt hier gewoon goed (heb de panels kleurtje gegeven voor duidelijkheid).
    Attached Thumbnails Attached Thumbnails Click image for larger version. 

Name:	dockpanel.jpg 
Views:	292 
Size:	8.3 KB 
ID:	1881  
    All methodologies are based on fear. -- Kent Beck.

  3. #3
    Ik heb op de bovenste panel even een listbox gezet welke ook op Fill staat:
    Attached Thumbnails Attached Thumbnails Click image for larger version. 

Name:	image1.png 
Views:	288 
Size:	4.3 KB 
ID:	1882  

  4. #4
    Misschien maakt dit het duidelijker, ik heb de listbox geselecteerd en de panel ook ff kleurtjes gegeven (nee, ik ben nog steeds geen homo ):
    Attached Thumbnails Attached Thumbnails Click image for larger version. 

Name:	image1.png 
Views:	264 
Size:	3.6 KB 
ID:	1883  

  5. #5
    SillyMember
    Join Date
    May 2003
    Location
    Gent
    Posts
    7,725
    Ja, ik had het ondertussen ook gemerkt.
    Blijkbaar is Fill niet hetzelfde als alClient.
    De help voor de DockStyle Enumeration lijkt dat te bevestigen:
    All the control's edges are docked to the all edges of its containing control and sized appropriately.
    All methodologies are based on fear. -- Kent Beck.

  6. #6
    Maar wat is dan de manier om dit voor elkaar te krijgen?

  7. #7
    SillyMember
    Join Date
    May 2003
    Location
    Gent
    Posts
    7,725
    Euh, daar ben ik nog niet uit.
    Een soort workaround: zet de DockPadding.Bottom van de bovenste Panel (die met DockStyle.Fill) op de hoogte van de onderste panel.
    Hier in code:
    Code:
    FillPanel.DockPadding.Bottom := BottomPanel.Height;
    Dit zorgt er niet voor dat de FillPanel de juiste grootte heeft, maar wel dat de controls die je er op plaatst (met DockStyle Fill of Bottom) niet verdwijnen achter de andere panel.
    All methodologies are based on fear. -- Kent Beck.

  8. #8
    SillyMember
    Join Date
    May 2003
    Location
    Gent
    Posts
    7,725
    Andere manier (lukt wel maar voor 1 control per container natuurlijk):
    Zet de Bottom Panel op equivalent van alBottom, FillPanel op equivalent van alNone, maar zet alle Anchors van FillPanel en positioneer het juist en geef het de juiste grootte (in design time).
    Dit geeft dan volgende code:
    Code:
    // BottomPanel alBottom
    BottomPanel.Dock := System.Windows.Forms.DockStyle.Bottom;
    // FillPanel alNone + Alle Anchors
    FillPanel.Dock := System.Windows.Forms.DockStyle.Bottom;
    FillPanel.Anchor := (System.Windows.Forms.AnchorStyles
          ((((System.Windows.Forms.AnchorStyles.Top or
              System.Windows.Forms.AnchorStyles.Bottom) or
              System.Windows.Forms.AnchorStyles.Left) or
              System.Windows.Forms.AnchorStyles.Right)));
    All methodologies are based on fear. -- Kent Beck.

  9. #9
    Maar design-time is dit niet voor elkaar te krijgen begrijp ik. Volgens mij ga ik dan het gemak missen van het align-en van componenten tijdens design-time.
    Last edited by Vos; 16-Jul-04 at 16:14.

  10. #10
    SillyMember
    Join Date
    May 2003
    Location
    Gent
    Posts
    7,725
    Design time gaat dat wel, in bovenstaande voorbeeld had ik dat nl. in design-time gedaan. De code is gewoon (bewerkte) copy-paste (Self. verwijderd) uit InitializeComponent ({$REGION 'Windows Form Designer generated code'}).
    All methodologies are based on fear. -- Kent Beck.

  11. #11
    Aha, is toch nog even wennen dat Delphi 8. Maar iig bedankt!

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Similar Threads

  1. Dynamisch geplaatst panel verwijderen
    By wileyecoyote in forum Algemeen
    Replies: 4
    Last Post: 06-Nov-04, 14:59
  2. Panel witte kleur geven
    By Francois Schumans in forum Algemeen
    Replies: 2
    Last Post: 06-Jun-04, 16:36
  3. QRLabel verschijnt niet op print
    By Tanner in forum Algemeen
    Replies: 7
    Last Post: 04-Mar-04, 13:04
  4. Floating panel
    By El Jeffroz in forum Algemeen
    Replies: 2
    Last Post: 01-Sep-03, 14:30
  5. Hoe controleer je een 'Floating' Panel ?
    By Marco in forum Algemeen
    Replies: 6
    Last Post: 20-Feb-02, 18:00

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •