Hallo @binoyte ,
PropertyManagerPage, een uitgebreid onderwerp...
Hiermee kan een gebruikers/SW-interface worden geïntegreerd in de SW-omgeving, met standaard en gespecialiseerde componenten, allemaal met een Solidworks-look.
Met drie niveaus van containers: de pagina zelf, kaarten met tabbladen (PropertyManagerPageTab) en groepen (PropertyManagerPageGroup).
Elke container kan verschillende en gevarieerde besturingselementen ontvangen, vergelijkbaar met die van een UserForm (zoals Label, TextBox, Button, enz.), en andere gespecialiseerde besturingselementen (selectie van SW-objecten).
Maar het beheer van de positie van de bedieningselementen op de pagina is vrij eenvoudig.
Het probleem is dat Solidworks zelf de positie van de besturingselementen in de PropertyManager-pagina definieert, althans gedeeltelijk.
Laat het me uitleggen: aan het begin wordt er een tabbladkaart op de pagina gemaakt. Op deze kaart worden een knop (PropertyManagerPageButton) en een groep (PropertyManagerPageGroup) gemaakt, in deze volgorde. Logischerwijs zouden we verwachten dat de knop boven de groep zou worden geplaatst. In feite is het eronder geplaatst, bedankt SW.
Omdat SW voorrang geeft aan de groep(en), komen de knoppen na...
Het is ook onmogelijk om de positie van de bedieningselementen binnen dezelfde container nauwkeurig af te stellen.
Aangezien een label en een tekstvak in dezelfde groep zijn gedefinieerd, worden ze standaard onder elkaar geplaatst met slechts één inspringing, enkel of dubbel.
Deze beperking kan worden omzeild door het label (van het type PropertyManagerPageLabel) naar het type OLE-variant te casten en het tekstvak (van het type PropertyManagerPageTextBox) naar het type OLE-variant. De besturingselementen maken dus gebruik van de eigenschappen Boven en Links van hun " voorouders " (zoals PropertyManagerPageControl), waardoor ze hun posities in de container kunnen forceren.

Maar ook daar zijn er beperkingen, aangezien SW dit alles onder toezicht houdt: de eigenschap Links lijkt beperkt te zijn tot het interval [0... 100], waardoor het onmogelijk is om meerdere knoppen over de gehele breedte van de pagina te plaatsen.
Het is onmogelijk om de lijn te voltooien met 4 of 5 knoppen.

Wat betreft de pictogrammen voor de paginacomponenten, deze worden weergegeven door de methode SetPictureLabelByName die is gedefinieerd voor de besturingselementen. Nogmaals, u moet de componenten casten naar het type PropertyManagerPageControl of een neutraal type OLE-variant.

Om nog maar te zwijgen van een paar andere ellende...