Avatar billede vbghost Nybegynder
05. juni 2000 - 01:06 Der er 8 kommentarer og
1 løsning

Få et MDI form til at tilpasse sig billedet.

Jeg har en problem som jeg ikke kan løse:

Jeg skal have min form til at tilpasse sig billedet's størelse... og det kan jeg ikke finde ud af hvordan...
VB 'har' problemmer med Pixel's og Twip...

Dette her virker ikke
Form.Height = Picture.Height
Formen kommer til at se helt 'gakket' ud...?

Dog skal jeg sige at jeg arbejder med MDI formen, og jeg opretter hver gang en ny MDI-child form.

Jeg håber at der er nogen der kan hjælpe...?

P.S. Når jeg skifter fra Twip til Pixels bliver formen kun til title...
Jeg har også prøvet at gøre det i 'runtime'en, ved at sætte dem nye MDI-child til at være billedets størelse...
eks.
mdichild[1].height = Picture.Height
---Picture er en billede som jeg loader den 'rigtige' billede i.
Avatar billede nolle_k Nybegynder
06. juni 2000 - 13:45 #1
Hvorfor vil du skifte fra Twips til Pixels???? Hvis du modtager en eller anden størellse i Pixels og vil have lavet størrelsen om til Twips kan du bruge Screen.TwipsPerPixelX og Screen.TwipsPerPixelY. Hvis du kører alt i Twips burde der ikke være nogen problemer!
Avatar billede vbghost Nybegynder
07. juni 2000 - 19:31 #2
Det er der!
Avatar billede philiph Nybegynder
08. juni 2000 - 00:23 #3
Alt i VB beregnes internt twips, så der er ingen vej udenom. Jeg har prøver at bede den om at køre i pixels, men lå stadig under for de der forbandede twips. Jeg forsøgte f.eks at lave en picture control der var mere end 32768 twips høj (det var et Laaaangt spørgeskema som blev opbygget dynamisk), og selvom jeg specificerede højden i pixels, fik jeg en fejl.

Du kan bruge form funktionerne ScaleX og ScaleY til at omregne dine pixels til twips.

Hvad mener du iøvrigt med at den ser gakket ud? Bliver formularen ikke høj nok? Har du husket at lægge det til som titellinie, menu, toolbar, statusbar, border osv fylder?

Philip
Avatar billede vbghost Nybegynder
09. juni 2000 - 01:34 #4
Gakket ud: Den har næsten altid den samme Højde og Bredde selvom billedet er 1 TWIP eller 1000 TWIP...

OG DOG! Jeg kan altså godt få Formen til at beregne alt i Pixels: Gå ind i Formens Propertis --> Derefter ScaleMode = 3 Pixel! Alt du tegner på formen er nu i pixels...

Og måske har jeg ikke Sagt det tygeligt nok: MIT PROBLEM LIGGER IKKE I PIXELS, men i Visuals Basics formatering af formen EKS: Hvis jeg siger at Form.Height = Picture.Height... så BLIVER højden ikke den samme, selvom det er TWIPS, Pixels .... cm???

Så jeg skal have svar på hvorfor den gør det???
Avatar billede vbghost Nybegynder
09. juni 2000 - 01:40 #5
Og en ting mere: titellinie... toolbar... etc. Helt ærlig mand... det er MDI-Child med et billede i sig og så kode...?
Avatar billede nolle_k Nybegynder
09. juni 2000 - 09:02 #6
Du har vel Nokket i det! Det vil sige kvajet dig!! *GGGGG*

Jeg må indrømme jeg kan ikke se hvordan vi skulle kunne løse det problem!!
Avatar billede philiph Nybegynder
09. juni 2000 - 18:47 #7
Jeg gentager: Form.Height angiver højden på formen INCLUSIV titellinie & border, hvilket et MDI-Child altid har (det kan slås fra, men så har du f.eks. ikke et lukkesymbol på child formularen). Du skal derfor lægge nok pixels/twips til så der er plads til dette, Altså:

Form.Height = Picture.Height + lngCaptionHeight + lngBorderHeight

Både CaptionHeight og BorderHeight kan variere, idet de kan justeres i egenskaber for skærm, faneblad: Udseende. Og det er selvfølgelig så tumpet at der ikke umidlbart er mulighed for at læse disse værdier direkte i VB, men det kan lade sig gøre via Windows API kald.

Avatar billede vbghost Nybegynder
11. juni 2000 - 16:17 #8
Det VIRKER!!!

philiph: soorryy.... jeg trykkede forkeret: svar igen... så for du point
Avatar billede philiph Nybegynder
11. juni 2000 - 20:52 #9
Fino!
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