Language-changing Control σε VB6
Language-changing Control σε VB6
Αναπτύσσω μία δίγλωσση (Αγγλικά - Ελληνικά) εφαρμογή σε VB 6 και για διάφορους λόγους δεν θέλω ο χρήστης να αλλάζει γλώσσα από το Language Bar των Windows ή με Alt-Shift (ή άλλο συνδυασμό πλήκτρων). Θέλω να βάλω ένα control στην εφαρμογή (μενου, κουμπί, οτιδήποτε) που να μου επιτρέπει να αλλάζω την γλώσσα στην οποία θα γράφει ο χρήστης. Είναι αυτό δυαντόν; Υπάρχει κάπου κάτι τέτοιο; Έκανα ένα σχετικό googling αλλά δεν βρήκα κάτι...
It is by will alone I set my mind in motion...
- mikem4600
- Gbyte level
- Posts: 1363
- Joined: Fri Mar 12, 2004 2:00 pm
- Academic status: Alumnus/a
- Gender: ♂
- Location: A Galaxy Far, Far Away
- Contact:
Κατ' αρχάς, κάτι τέτοιο θα παραβιάζει τα Human Interface Guidelines για τα Windows. Αν αγνοήσεις αυτό το γεγονός, νομίζω ότι μπορείς να ορίσεις με κάποια properties του textbox (π.χ.) το range των τακτικών αριθμών που μπορεί να δεχθεί, και να το αλλάζεις δυναμικά έτσι ώστε να δέχετε μόνο αγγλικούς ή μόνο ελληνικούς χαρακτήρες ανάλογα με την περίπτωση (ή κάτι τέτοιο
). Ακόμα χειρότερα, μπορείς να φτιάξεις lookup tables έτσι ώστε πιάνοντας το keypress event να "μεταφράζεις" τον κάθε χαρακτήρα που πατάει ο χρήστης σε ό,τι γλώσσα θες. Βέβαια δεν ξέρω αν αυτά γίνεται στη VB6 καθώς έχω να την κοιτάξω κάτι χρόνια...

Autocracy hates questions. Anarchy hates answers.
- mikem4600
- Gbyte level
- Posts: 1363
- Joined: Fri Mar 12, 2004 2:00 pm
- Academic status: Alumnus/a
- Gender: ♂
- Location: A Galaxy Far, Far Away
- Contact:
Official Guidelines for User Interface Developers and Designers. Π.χ. στο Design Principles λέειnap wrote:mikem4600 wrote:... Human Interface Guidelines για τα Windows.![]()
![]()
![]()
Εκτός κι αν είναι προετοιμασμένοι, οι χρήστες μπορεί να... παραξενευτούν που δεν δουλεύει η αλλαγή γλώσσας όπως σε όλες τις άλλες εφαρμογές.Consistency within the operating environment. By maintaining a high level of consistency between the interaction and interface conventions provided by Windows, your software benefits from the users' ability to apply interactive skills they have already learned.
Autocracy hates questions. Anarchy hates answers.
Καταλαβαίνω, αλλά μάλλον θα είναι προετοιμασμένοι...
Να σου εξηγήσω, η εφαρμογή θα χρησιμοποιείται ως εξής:
Θα συνδέεται ο χρήστης μέσω Remote Desktop Connection σε έναν υπολογιστή (με ένα εντελώς unprivileged account) και εκεί θα ξεκινάει αυτόματα η εφαρμογή, δεν θα βλέπει καθόλου taskbar και language bar των windows... Υπάρχει και ένα προβληματάκι με το αν το RDC στέλνει στον remote υπολογιστή key combinations (alt-shift), θα το χρησιμοποιούν και κάτι μπαρμπάδια που δεν έχουν ιδέα από υπολογιστές (και άρα δεν ξέρουν alt-shift), οπότε πρέπει κάπως να αλλάζουν γλώσσα...
Τώρα μη ρωτήσεις γιατί θα πρέπει να γίνει έτσι, γιατί είναι μια πονεμένη ιστορία με πελάτες, project managers και έναν καημένο developer (εμένα
). Ώρες-ώρες αισθάνομαι σαν τον Ζαχαρία Δεντοφτιάχνω...
Να σου εξηγήσω, η εφαρμογή θα χρησιμοποιείται ως εξής:
Θα συνδέεται ο χρήστης μέσω Remote Desktop Connection σε έναν υπολογιστή (με ένα εντελώς unprivileged account) και εκεί θα ξεκινάει αυτόματα η εφαρμογή, δεν θα βλέπει καθόλου taskbar και language bar των windows... Υπάρχει και ένα προβληματάκι με το αν το RDC στέλνει στον remote υπολογιστή key combinations (alt-shift), θα το χρησιμοποιούν και κάτι μπαρμπάδια που δεν έχουν ιδέα από υπολογιστές (και άρα δεν ξέρουν alt-shift), οπότε πρέπει κάπως να αλλάζουν γλώσσα...
Τώρα μη ρωτήσεις γιατί θα πρέπει να γίνει έτσι, γιατί είναι μια πονεμένη ιστορία με πελάτες, project managers και έναν καημένο developer (εμένα

It is by will alone I set my mind in motion...
- mikem4600
- Gbyte level
- Posts: 1363
- Joined: Fri Mar 12, 2004 2:00 pm
- Academic status: Alumnus/a
- Gender: ♂
- Location: A Galaxy Far, Far Away
- Contact:
LoL, OK.nap wrote:Τώρα μη ρωτήσεις γιατί θα πρέπει να γίνει έτσι, γιατί είναι μια πονεμένη ιστορία με πελάτες, project managers και έναν καημένο developer (εμένα). Ώρες-ώρες αισθάνομαι σαν τον Ζαχαρία Δεντοφτιάχνω...

Autocracy hates questions. Anarchy hates answers.