Question

J'ai une application C ++ Builder Borland VCL (donc je ne travaille pas encore avec Unicode), Je veux donner une simple traduction du texte de la légende de contrôle Russe lors de l'exécution.

Je peux facilement utiliser EnumChildWindows pour obtenir la légende anglaise, puis rechercher la traduction et remplacer le texte de la légende en utilisant SetWindowText . Cela ne fonctionne bien pour mes traductions d'Europe occidentale où je n'ai pas à vous soucier de la police. Mais je ne sais pas comment la version russe de Windows et gère VCL 8 bits jeux de caractères cyrillique.

Actuellement, tous les contrôles VCL ont les paramètres de police:

Charset=DEFAULT_CHARSET
name=MS Sans Serif

Ai-je raison de supposer que lorsque mon programme est exécuté sous une version russe de Windows, le jeu de caractères sera cyrillique avec le réglage DEFAULT_CHARSET , donc je ne vais pas besoin de modifier les paramètres de police dans tous mes contrôles?

Si je dois changer la police (au moment de l'exécution), si la fonction API Windows SendMessage (hwnd, WM_SETFONT, (WPARAM) HFONT, TRUE) travail avec les contrôles VCL? Je l'ai essayé d'utiliser la CreateFont () et SendMessage (.. WM_SETFONT ..) avec RUSSIAN_CHARSET et une police cyrillique. Cela ne semble pas avoir d'effet, il garde la police qui a été défini pour le contrôle sous la forme au moment de la conception (Même ANSI_CHARSET et un visage standard police Windows installé n'affecte pas la police des contrôles) donc je recherche une confirmation que je ne veux pas changer la police des contrôles, ou bien me dire une méthode VCL pour régler tous les les paramètres de police de contrôle lors de l'exécution.

Pas de solution correcte

Autres conseils

Il n'y a pas besoin de réinventer la bicyclette. Pourquoi ne pas utiliser des outils d'intégration de l'environnement de traduction qui sont fournis avec Borland C ++ Builder? Il y a un assistant qui vous aidera avec des traductions et fera un fichier de ressource spéciale qui contiendra la traduction de toutes les chaînes de texte dans votre application. Ensuite, programme, vérifiera les fichiers de ressources langue et la langue macadamia du système au démarrage, et utilisera automatiquement la langue appropriée. Vérifiez C ++ Builder système d'aide avec l'index - « Environnement de traduction intégré (ITE) » pour la description des processus plus détaillés.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top