Προς το περιεχόμενο

Πρόβλημα σε vb


gsaous

Προτεινόμενες αναρτήσεις

Δημοσ.

Λοιπόν, έχω φτιάξει μια εφαρμογή στην οποία τα αντικείμενα μιας φόρμας αλλάζουν μέγεθος ανάλογα με την ανάλυση της οθόνης. Το πρόβλημα μου είναι ότι στα labels και τα text ενώ αλλάζουν μέγεθος τα αντικείμενα, το κείμενο που είναι γραμμένο μέσα σε αυτά, διατηρεί το μέγεθος που είχε στην αρχη με αποτέλεσμα είτε να μικραίνει το αντικείμενο και το κείμενο να μην φαίνεται ολόκληρο, είτε να μεγαλώνει το αντικείμενο και το κείμενο διατηρώντας το μέγεθος του να φαίνεται πολύ μικρό. Υπάρχει τρόπος το κείμενο να "ακολουθεί" το μέγεθος του αντικειμένου?

Δημοσ.

ναι, ενταξει. Αλλά θα πρέπει να πάρω όλες τις πιθανές περιπτώσεις για κάθε label, το οποίο είναι αρκετά επίπονο... τουλάχιστον, μήπως ξέρεις αν υπάρχει τρόπος να αντιστοιχίσω το μέγεθος των γραμμάτων με το ύψος πχ του label. Για να γίνω πιο σαφής, υπάρχει κάποιος τύπος του στυλ : label1.fontsize=label.height * (κάτι) ;;

Δημοσ.
ναι, ενταξει. Αλλά θα πρέπει να πάρω όλες τις πιθανές περιπτώσεις για κάθε label, το οποίο είναι αρκετά επίπονο... τουλάχιστον, μήπως ξέρεις αν υπάρχει τρόπος να αντιστοιχίσω το μέγεθος των γραμμάτων με το ύψος πχ του label. Για να γίνω πιο σαφής, υπάρχει κάποιος τύπος του στυλ : label1.fontsize=label.height * (κάτι) ;;

 

Και βέβαια μπορείς να το κάνεις αρκεί να φτιάξεις μία συνάρτηση που θα έχει σαν είσοδο το label height και σαν έξοδο κάτι που θα μπορεί να χρησιμοποιηθεί σαν font size. Δηλαδή να μην επιστέφει 12,232 αλλά 12 ή 12,876 αλλά 13. Επίσης θα μπορούσες να έχεις όλα τα label σαν array και να πραγματοποιείς όλες τις αλλαγές σε ένα βρόχο. π.χ.

 

>
for i=0 to 10
    labe1(i).font.size=συνάρτηση(του label height)
next i

Δημοσ.

Κατ'άρχην καλημερα. Τώρα, όσον αφορά την ερώτηση μου, θα επαναδιατυπώσω γιατί νομίζω δεν έχει γίνει αντιληπτό. Λοιπόν, έχω μια εφαρμογή σε vb6 η οποία είναι φτιαγμένη και δουλεύει κανονικά στον υπολογιστή μου(με οθόνη 19" και ανάλυση 1600x1200), αλλά όταν πήγα να την δοκιμάσω σε έναν υπολογιστή με οθόνη 15" και ανάλυση 1024x768 ή κάτι τέτοιο τέλος πάντων, είχα πρόβλημα. Έτσι θέλησα να φτιάξω την εφαρμογή να δουλεύει σε κάθε ανάλυση.

 

Για να το κάνω αυτό, βλέπω στην αρχή το screen height, width κτλ. αλλάζω το μέγεθος της φόρμας και τοποθετώ τα αντικείμενα ανάλογα ενώ προσαρμόζω και το μέγεθος τους ανάλογα με την φόρμα. Το μόνο που δεν μπορώ να αλλάξω αυτήν την στιγμή είναι τα γράμματα(έχω κάνει μια πατέντα και παίρνω κάποια πιθανά μεγέθη των labels και τους βάζω κάποια fontsize, αλλά αυτό δεν μπορώνα είμαι σίγουρος ότι θα δουλεύει πάντα...).

 

Επίσης, βρήκα ότι π.χ. η fontsize 10 δεν είναι διπλάσια σε μέγεθος από την 5 όπως επίσης ότι ο λόγος μεταξύ των γραμματοσειρών δεν είναι σταθερός, άρα η πιθανότητα να υπάρχει μια συνάρτηση, σαν αυτή που ήλπιζα να βρω σε προηγούμενο post μου, είναι μικρή.

 

Το μόνο που μπορώ να σκεφτώ, πλέον, που ίσως να μου κάνει την δουλειά που θέλω είναι να βρώ μια συνάρτηση που να μου δίνει το fontheight και το fontwidth ώστε να το προσαρμόζω ανάλογα με το μέγεθος του label - text.

Ευχαριστώ πολύ για την θέληση να με βοηθήσετε.

Δημοσ.

Καταρχάς σαν μονάδα μέτρησης μην χρησιμοποιείς Pixels αλλά twips (αν γράφεται έτσι). Αυτή η μονάδα μέτρησης υπάρχει για αυτόν ακριβώς τον σκοπό.

Δές και αυτό από το MSDN:

 

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vbcon98/html/vbcondesigningfordifferentdisplaytypes.asp

 

Πιστεύω απαντάει ακριβώς στην ερώτηση σου.

Δημοσ.

nope, δεν λεει τπτ για fonts, αυτά που λέει για τα αντικείμενα τα ξέρω, κάτι τέτοιο έχω χρησιμοποιήσει κι εγώ

Αρχειοθετημένο

Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.

  • Δημιουργία νέου...