2011-05-05 183 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

相关问题