0

コンボボックスを作成し、システムで使用可能なすべてのフォントのリストを入力しようとしています。私はこのトピックを見ていた - >利用可能なフォントのリストでComboBoxを埋めると、C#で次のコードが見つかりました:

     List<string> fonts = new List<string>();

        foreach (FontFamily font in System.Drawing.FontFamily.Families) 
         {        
           fonts.Add(font.Name); 
         }

C++/CLI で次のようなものに変換しようとしました。

List<string> fonts = gcnew List<string>();

             foreach (FontFamily font in System::Drawing::FontFamily::Families)
             {
                 fonts->Add(font->Name);
             }

しかし、うまくいきませんでした。その C# コードを C++/CLI に変換するのを手伝ってくれる人はいますか?

4

1 に答える 1

0

このサイトに触発されて、次のように書くことができます:

list<string>* fonts = new list<string>();
System::Collections::IEnumerator^ myEnum = FontFamily::Families->GetEnumerator();

while (myEnum->MoveNext())
{
    FontFamily^ oneFontFamily = safe_cast<FontFamily^>(myEnum->Current);
    fonts->push_back(oneFontFamily->Name);
}

fontsこれはポインターです。C# には存在しないものがあります。注意してください。

于 2013-09-02T02:20:18.247 に答える