2008-10-16 7 views
1

Je rencontre des problèmes avec la compatibilité des thèmes croisés dans les formulaires Windows. Si vous ne définissez pas la police pour un contrôle sur un formulaire Windows, il utilisera la police système avec la police et la taille correctes. Si vous voulez faire la police en gras, il code dur dans le reste des valeurs de police du système pour le thème en cours avec lequel vous programmez. Par exemple:Comment spécifier une version en gras de la police par défaut du thème?

System::Windows::Forms::Label^ label1 = gcnew System::Windows::Forms::Label(); 

this->label1->AutoSize = true; 
this->label1->Location = System::Drawing::Point(9, 12); 
this->label1->Name = L"lblExample"; 
this->label1->Size = System::Drawing::Size(44, 13); 
this->label1->TabIndex = 3; 
this->label1->Text = L"Example Text"; 

Si je change alors les propriétés de ce via les propriétés éditeur de sorte que gras = true, il ajoute dans cette ligne:

this->label1->Font = (gcnew System::Drawing::Font(L"Microsoft Sans Serif", 8.25F, System::Drawing::FontStyle::Bold, System::Drawing::GraphicsUnit::Point, static_cast<System::Byte>(0))); 

Est-il possible d'utiliser la police par défaut , mais en faisant gras? En outre, existe-t-il un moyen d'utiliser la police système, mais en augmentant la taille de 3 ou 4 points?

Répondre

1

Vous pouvez mettre l'initialisation de la police modifiée directement après l'appel InitializeComponent dans votre constructeur .

en outre, vous pouvez vous l'un des nombreux constructeurs, beaucoup pour changer la taille.

InitializeComponent(); 

label1->Font = gcnew System::Drawing::Font(
    label1->Font->FontFamily, 
    label1->Font->SizeInPoints + 4, 
    FontStyle::Bold, 
    GraphicsUnit::Point); 

Cela empêchera la vue de conception de devenir confuse ... mais vous ne pourrez pas non plus le voir en mode Création.

1

Ah, je crois que je l'ai trouvé la réponse:

this->label1->Font = gcnew System::Drawing::Font(this->label1->Font, FontStyle::Bold); 

Mais cela brise maintenant la vue design :(

Questions connexes