2013-03-31 40 views
0

我想讓我的大膽,斜體,下劃線按鈕與richtextbox中的eachother一起使用。我找到了一個例子,但它在C#中。幫助PLS,其作品在C++如何:FontStyle代碼c#到C++

if(e.Button==toolBarButton1) 
{ 
    int fStyle = (int)FontStyle.Bold + (int)FontStyle.Italic; 
    FontStyle f = (FontStyle)fStyle; 
    richTextBox1.SelectionFont = 
     new Font(richTextBox1.Font.Name, richTextBox1.Font.Size, f); 
} 

我的版本,我要改造它

 if (RichTextBox1->SelectionFont != nullptr) 
    { 
     System::Drawing::Font^ currentFont = RichTextBox1->SelectionFont; 
     System::Drawing::FontStyle newFontStyle; 
     if (RichTextBox1->SelectionFont->Bold == true) 
     { 
     newFontStyle = FontStyle::Regular; 
     } 
     else 
     { 
     newFontStyle = FontStyle::Bold; 
     } 
     RichTextBox1->SelectionFont = gcnew System::Drawing::Font(currentFont->FontFamily,currentFont->Size,newFontStyle); 
+0

你確定你想要求和運算而不是按位運算符嗎? – Machinarius

+0

更精確。 Win32的? MFC? WinForms C++/CLI?你有什麼?你有沒有任何代碼? –

+0

WinForms C++。我增加了它。所以我想檢查選定的文本樣式,也就是說,如果選定的文本是粗體和斜體按鈕被按下,它會使文本在同一時間變爲粗體和斜體。對不起我的英語不好。 – user2227430

回答

0

如果你想在C#和C++/CLI的直接轉換,只需使用:

if (e->Button == toolBarButton1) 
{ 
    int fStyle = safe_cast<int>(FontStyle::Bold) + safe_cast<int>(FontStyle::Italic); 
    FontStyle ^f = safe_cast<FontStyle^>(fStyle); 
    richTextBox1->SelectionFont = gcnew Font(richTextBox1::Font->Name, richTextBox1::Font::Size, f); 
}