Domanda

Ho un app Borland C ++ Builder VCL (quindi non sto lavorando con Unicode ancora), Voglio fornire un semplice traduzione del testo della didascalia controlli a russo in fase di esecuzione.

posso usare facilmente EnumChildWindows per ottenere la didascalia inglese, quindi occhiata la traduzione e sostituire il testo della didascalia utilizzando SetWindowText . Questo non funziona bene per le mie traduzioni dell'Europa occidentale dove non si deve preoccupare il tipo di carattere. Ma io non sono sicuro di come la versione russa di Windows e quindi VCL gestisce i set di caratteri cirillico 8 bit.

Al momento tutti i controlli VCL hanno le impostazioni dei caratteri:

Charset=DEFAULT_CHARSET
name=MS Sans Serif

Ho ragione nel ritenere che quando il mio programma viene eseguito con una versione russa di Windows del set di caratteri sarà cirillico con il DEFAULT_CHARSET Impostazione quindi mi ha bisogno di modificare le impostazioni dei font in tutti i miei controlli?

Se devo cambiare il tipo di carattere (in fase di esecuzione), se la funzione API di Windows SendMessage (hWnd, WM_SETFONT, (WPARAM) HFONT, VERO) il lavoro con i controlli VCL? Ho provato con il CreateFont () e SendMessage (.. WM_SETFONT ..) con RUSSIAN_CHARSET e tipo di carattere cirillico. Questo non sembra avere alcun effetto, mantiene il tipo di carattere che è stato impostato per il controllo nella forma in fase di progettazione (Anche ANSI_CHARSET e un tipo di font standard di Windows installata non influenza i controlli di carattere) in modo da cercare la conferma che non avrò di cambiare il tipo di carattere dei controlli, oppure dimmi qualche metodo VCL per impostare tutte le impostazioni dei caratteri controlli in fase di esecuzione.

Nessuna soluzione corretta

Altri suggerimenti

Non c'è bisogno di reinventare la bicicletta. Perché non utilizzare strumenti di traduzione ambiente di integrazione che sono forniti con Borland C ++ Builder? C'è una procedura guidata che vi aiuterà con traduzioni e farà un file di risorsa speciale che conterrà traduzione di tutte le stringhe di testo nella vostra applicazione. Poi il programma, controllerà la lingua di sistema e file di risorse linguistiche availible all'avvio, e utilizzerà automaticamente la lingua appropriata. Controllare il sistema di aiuto C ++ Builder con indice - "Integrated Traduzione Environment (ITE)" per più dettagliata descrizione del processo.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top