[CLI/C++]Informationen zum Schriftschnitt



  • Sprache und IDE:
    Visual C++ Studio 2005 Express Editions

    Folgendes Problem habe ich.
    Wie bekomme ich die Informationen zum Schriftschnitt eines noch nicht Initialisierten Font?
    Wenn bei Auswahl eines anderen Font´s in der comboBox1 eine Schrift ausgesucht wird
    die nicht den selben Schriftschnitt z.B Regular wie die zuvor ausgewählte
    Schrift hat, stürzt die Anwendung ab. Möchte jetzt vor der neuen Initialisierung einer
    neuen Schrift, Informationen ob dieser Font den Schriftschnitt z.B Regular hat?
    Finde in der MSDN Hilfe keine Informationen darüber.

    Im voraus bereits Dank für die Hilfe.

    Hier der betroffene Scriptausschnitt:

    private: System::Void comboBox1_SelectedIndexChanged(System::Object^ sender, System::EventArgs^ e)
       {	           
           //Fontname aus comboBox1 abfragen. 
           String^ selectedFont = (String^) comboBox1->SelectedItem;
    
           //String in Kleinbuchstaben ändern.       
           selectedFont = selectedFont->ToLower();
    
           //Fontsize aus comboBox2 abfragen.
           String^ selectedSize = (String^)  comboBox2->SelectedItem;
    
           //String aus comboBox2 in einen Typ Float ändern
           float new_size = float::Parse(selectedSize);
    
           //..............................Test.......................
           //Font -Attribute in ein Objekt-Array übergeben
           array<Object^> ^fontStyle  =  { gcnew System::Drawing::Font(selectedFont,new_size)};
    
           System::Collections::IEnumerator^ FsArr =  fontStyle->GetEnumerator();
    
           while ( FsArr->MoveNext() )
           {
               Object^ newFsArr = safe_cast<Object^>(FsArr->Current);    
               String^ FontText = newFsArr->ToString();
               String^ delim = "[]";			
               String^ TrimFontText = FontText->Trim(delim->ToCharArray());
               array<String^>^SplitFontText = TrimFontText->Split( ',' );
               richTextBox1->Text = SplitFontText[0];  			
    
           /*
               IEnumerator^ myEnum = split->GetEnumerator();
               while ( myEnum->MoveNext() )
               {
                   String^ s = safe_cast<String^>(myEnum->Current);
                   if( s == "Font:Arial")
                   richTextBox1->Text = s;            
               }
           // ...............Ende TEST.................................
           */
           }
       }
    


  • Hat sich erledigt.

    Lösung:

    Soll eine Schrift beispielsweise fett und kursiv sein, müssen die entsprechenden Konstanten mit dem bitweisen ODER-Operator verknüpft werden.


Anmelden zum Antworten