2011-05-05 182 views
0

是否可以設置CLinkCtrl的字體大小?我嘗試了下面的代碼,但它什麼也沒做!設置CLinkCtrl的字體大小

編輯:哎呀,忘了,包括我的嘗試:

CFont* aboutFont=nullptr; 

BOOL AboutDlg::OnInitDialog(){ 
    SpecialDlg::OnInitDialog(); 
    if(aboutFont==nullptr){ 
     aboutFont=new CFont(); 
     aboutFont->CreateFont(
     20,      // nHeight 
     0,       // nWidth 
     0,       // nEscapement 
     0,       // nOrientation 
     FW_NORMAL,     // nWeight 
     FALSE,      // bItalic 
     FALSE,      // bUnderline 
     0,       // cStrikeOut 
     ANSI_CHARSET,    // nCharSet 
     OUT_DEFAULT_PRECIS,  // nOutPrecision 
     CLIP_DEFAULT_PRECIS,  // nClipPrecision 
     DEFAULT_QUALITY,   // nQuality 
     DEFAULT_PITCH | FF_SWISS, // nPitchAndFamily 
     L"Arial"); 
    } 
    ((CLinkCtrl*)GetDlgItem(ID_WEBSITE_LINK))->SetFont(aboutFont,true); 
    return true; 
} 
+0

你的代碼不檢查的事情:從CreateFont返回值;從SetFont返回值。另外,如果將字體設置爲.rc文件本身,會發生什麼情況? – 2011-06-14 05:22:36

+0

CreateFont成功。 SetFont沒有返回。我可以看到一種設置.rc文件中的字體的方法 – Casebash 2011-06-21 00:41:57

回答

1

我不知道什麼是你的代碼錯誤或對話框資源。但我曾嘗試設置CLinkCtrl的字體(即使沒有使用變量或類型轉換),並且成功了。 我使用CFont::CreatePointFont創建字體。

您首先檢查資源ID,並檢查是否使用其他方法創建字體。

+0

感謝您提供CreatePointFont建議。我已經用SysLinkCtrl替換了CLinkCtrl,但現在看來,Visual Studio只允許我創建一個MFC鏈接Ctrl(而不是一個CLinkCtrl)。這個控件看起來像一個按鈕,當我點擊它時似乎沒有把我帶到URL。我不完全確定,發生了什麼,但我很困惑 – Casebash 2011-06-23 01:00:34

+0

儘管我在W7上有VS2010,但是我已經在WinXP上的VS2005上測試過它,並且它工作正常。忽略CLinkCtrl的DDX映射,如果可以,直接更改字體。我不知道你爲什麼只看到一個「按鈕」? – Ajay 2011-06-23 02:35:02

相關問題