Gå til innhold

turbo delphi : enkelte objekter flytter på seg når formen endrer størelse


Anbefalte innlegg

Skrevet

er det noen som vet hvorfor enkelte av objektene som man plasserer på en form flytter på seg når man endrer størrelsen på denne formen , mens andre helder seg i ro. det er snakk om samme type objekter.

dette er i grunnen irriterende

 

objektene er heller ikke låst til noen side eller område med align parameteren og har ellers de samme parametrene

Videoannonse
Annonse
Skrevet

Dette kan ha noe med hvordan "anchors" er spesifisert for komponentene. Og komponentene vil være på samme plass i forhold til parenten. Altså; hvis du har en komponent f.eks et panel og en knapp på denne. Så vil knappen ligge der du plasserte den på panelet, så lenge panelet ikke endrer størrelse. Dette er fordi knappens "anchors" er spesifisert som dette som standard: top=true; right=false; bottom=false; left=true;

Merk at hvis alle "anchors" er satt på en komponent så vil det bli det samme som alClient i Align. Så hvis du vil at komponenten skal være på ett gitt sted hele tida og ikke endre plass når man resizer formen, så setter du alle "anchors" til false. Men hvis du da endrer vinduet så det blir mindre enn det var originalt, så vil det dukke opp en scroll-bar på formen.

 

Håper dette hjelper, selv om det ble litt rotete.

Skrevet (endret)

det virker som om panel komponenten holdt seg på plass når jeg satte alle 4 valgene til true i "anchors" alle andre valg justere den seg på

 

er det slik den skal virke ?

 

som standard verdi ser ut som om det bare er de 2 første valgene som er satt til true

Endret av elg-elg123
Skrevet
det virker som om panel komponenten holdt seg på plass når jeg satte alle 4 valgene til true i "anchors" alle andre valg justere den seg på

 

er det slik den skal virke ?

 

som standard verdi ser ut som om det bare er de 2 første valgene som er satt til true

 

Man kan egentlig forklare anchors med at et anker vil sørge for konstant avstand til kanten av parent-komponenten.

 

Pr default, så er top og left satt til true. Da vil komponenten ikke endre størrelse, og ikke flytte seg.

Setter man right og bottom til true, vil komponenten flytte seg, men ikke endre størrelse.

Setter man right, bottom, left og top til true, vil komponenten ikke flytte seg, men endre størrelse.

Setter man alle fire til false, vil komponenten ikke endre størrelse, men flytte seg.

 

Ønsker du f.eks. en senterert knapp nederst i en dialog som kan endre størrelse, setter du alle til false, bortsett fra bottom som settes til true. Så sentererer du komponenten (vha edit->align, center in window). Når du nå endrer størrelse på dialogen, så vil knappen alltid være like langt fra nederste kant, og den vil alltid holde seg i midten horisontalt.

 

Håper det var til hjelp.

 

-Vegar

Skrevet

jeg ønsker at de som defult skal ikke endre seg på noen måte når jeg endre størrelsen på formen .

derfor må jeg marker alle og så sette alle til true

hvis de flytter seg når størrelsen på formen endrer seg ( også når programmet maximizer eller mimizer ) så mister jeg kontrollen.

 

 

er det mulig å endre default verdien på noen måte ?

Skrevet (endret)

Det er vel mulig å velge alle komponenter og endre i objectinspector'n? Et alternativ er å høyreklikke på formen og velge 'view as text', og så bruke søk-erstatt.

 

Men hvis de ikke skal endre seg på noen måte, så er det left og top som skal være true, og bottom og right false.

 

-Vegar

Endret av Format71

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...