Avatar billede js_delphi Nybegynder
23. januar 2011 - 21:20 Der er 7 kommentarer og
1 løsning

Komponenter ændrer højde af sig selv!

Hej,

Jeg har lagt mærke til et fænomen, som jeg ikke kan forklare:

1:
Start et nyt VCL projekt.

2:
Sæt følgende properties for Form1:
- alle Anchors til true.
- AutoScroll til true.
- Scaled til false.

3:
Smæk f.eks. en GroupBox på Form1 med følgende property:
- alle Anchors til true.

4:
Kompiler projektet.

5:
Gem og luk projektet.

6:
Åben projektet.

7:
GroupBoxen har nu ændret højde!


Kan I genskabe dette hos jer??
Jeg bruger Delphi2006 med Windows XP SP3.
Avatar billede a_nor Nybegynder
24. januar 2011 - 08:01 #1
Anvendes Delphi 7 er der ingen ændringer.
Åbnes projektet så i Delphi 2010 er højden af groupboxen reduceret  (100-> 73)
Avatar billede js_delphi Nybegynder
24. januar 2011 - 09:11 #2
Kan man udlede, at dette er en bug i Delphi?
Avatar billede a_nor Nybegynder
24. januar 2011 - 11:09 #3
Der er i hvertfald noget ganske sært:

I Delphi 2010: Skiftes Formen mellem Vis som tekst og Vis som form, reduceres højden af Groupboxen hver gang.

I D7 holdes fast i højden - afvikles programmet med Scaled = false, reduceres højden også her, men tilbage i designmode er højden reetableret.

Problemet opstår tilsyneladende kun når alle dine nævnte betingelser er opfyldt...
Avatar billede js_delphi Nybegynder
25. januar 2011 - 08:52 #4
Det goer det ikke ligefrem nemmere at lave fejlfrie programmer, naar ens programmeringsvaerktoej ikke selv er det.
Jeg har i flere programmer ogsaa problemer med, at hoejden paa formen aendrer sig i design-time fra 768 til 780 pixel.

Laeg svar som tak for hjaelpen.
Avatar billede a_nor Nybegynder
25. januar 2011 - 12:21 #5
Hej igen,

Jeg har også haft problemer med placering af en gruppebox i et login-billede. Brugeren kunne nærmest ikke komme til at indtaste sine initialer og password. 
Jeg har en teori om det skyldes at brugeren anvender Large Fonts / eller speciel skærmopløsning, men da jeg ikke har administratorrettigheder til kundens net (Novell med Zen Works) er det vanskeligt at ændre på. Jeg har så lavet en custom-form, hvor man kan flytte rundt på componentplaceringen, og så gemme denne placering.  Men, Men - andre skærmbilleder  bliver også "for små" på denne computer ?

mvh.
Avatar billede hrc Mester
08. februar 2011 - 10:39 #6
js_delphi. Det er scaled der gør forskellen, men hvorfor sætter du de andre parametre? Hvad gør ankre på en mainform?

a_nor. Det er næsten sikkert skærmens font-størrelse, der er sat til 200% eller lignende. Det giver store problemer. Jeg løste det engang ved at lave en justeringsalgoritme som sørgede for at alle komponenter kunne ses (og at formen ikke forsvandt udover skærmens grænser). Det lavede jeg som en nedarving af TForm så det var indlejret. I dag kan en class-helper måske klare det.

Hvis der er problemer med Delphi så er der et sted hvor man kan rapportere det: http://support.embarcadero.com/delphi
Avatar billede hrc Mester
08. februar 2011 - 10:45 #7
a_nor. Algoritmen har jeg ikke længere, men den var ikke svær at lave mindes jeg (idag forlanger vi, at kunderne ikke leger med font-størrelsen! De rådes til at købe en større skærm i stedet :-))
Avatar billede js_delphi Nybegynder
08. februar 2011 - 18:02 #8
Hej hrc,

ankrene skal selvfoelgelig ikke saettes for formen, var en skrivefejl. Det aendrer dog ikke ved problemet.

Autoscroll vil jeg gerne benytte, saa der kan scrolles, hvis man har gjort formen mindre.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester