  | 
      
        
          11楼
          巨大八爪鱼
          2016-5-24 15:44
          
          
           
         
        [3] ncm.cbSize = sizeof(NONCLIENTMETRICS); SystemParametersInfo(SPI_GETNONCLIENTMETRICS, ncm.cbSize, &ncm, (UINT)NULL); hfontCaption = (HFONT)GetStockObject(DEFAULT_GUI_FONT);  【说明】 ncm.cbSize = sizeof(NONCLIENTMETRICS); 这句话不兼容XP系统 必须减掉一个sizeof(int),SystemParametersInfo才能正常工作  
       | 
    
    
        | 
      
        
          12楼
          巨大八爪鱼
          2016-5-24 15:44
          
          
           
         
        [4] ncm.cbSize = sizeof(NONCLIENTMETRICS) - sizeof(int); SystemParametersInfo(SPI_GETNONCLIENTMETRICS, ncm.cbSize, &ncm, (UINT)NULL); hfontCaption = (HFONT)GetStockObject(DEFAULT_GUI_FONT);   
       | 
    
    
        | 
      
        
          13楼
          巨大八爪鱼
          2016-5-24 15:45
          
          
           
         
        [5] ncm.cbSize = sizeof(NONCLIENTMETRICS) - sizeof(int); SystemParametersInfo(SPI_GETNONCLIENTMETRICS, ncm.cbSize, &ncm, (UINT)NULL); hfontCaption = CreateFontIndirect(&ncm.lfCaptionFont);   
       | 
    
    
        | 
      
        
          14楼
          巨大八爪鱼
          2016-5-24 15:47
          
          
           
         
        [6] ncm.cbSize = sizeof(NONCLIENTMETRICS) - sizeof(int); SystemParametersInfo(SPI_GETNONCLIENTMETRICS, ncm.cbSize, &ncm, (UINT)NULL); ncm.lfCaptionFont.lfWeight = FW_NORMAL; // 取消粗体属性 hfontCaption = CreateFontIndirect(&ncm.lfCaptionFont);   
       | 
    
    
        | 
      
        
          15楼
          巨大八爪鱼
          2016-5-24 15:57
          
          
           
         
        
       | 
    
    
        | 
      
        
          16楼
          巨大八爪鱼
          2016-5-24 15:59
          
          
           
         
        我觉得代码4的字体在两个系统下都很好。 代码6的字体在Win7下很常见(例如记事本的字体对话框就是用的这个字体),但XP中很不常见。
  
       | 
    
    
        | 
      
        
          17楼
          巨大八爪鱼
          2016-5-24 16:03
          
          
           
         
        XP系统下只读文本框的黑色背景块可以在消息处理函数的switch语句中添加如下代码解决: case WM_CTLCOLORSTATIC: // 消除Static控件、滑块控件和只读文本框的背景颜色         return (LRESULT)GetStockObject(WHITE_BRUSH); 效果:   
       | 
    
    
        | 
      
        
          18楼
          巨大八爪鱼
          2016-5-24 16:04
          
          
           
         
        这幅截图的字体是用的代码4
  
       | 
    
    
        | 
      
        
          19楼
          巨大八爪鱼
          2016-5-24 16:05
          
          
           
         
        我记得,Win7中文版下设置IP地址的对话框上的字体就是用的代码4的字体 
       | 
    
    
        | 
      
        
          20楼
          巨大八爪鱼
          2016-5-24 16:23
          
          
           
         
        Windows XP中文版下只有“楷体_GB2312”字体,没有“楷体”字体。 而Windows 7下只有“楷体”字体,没有“楷体_GB2312”字体。(我用的是英文版的系统,中文版不知道是不是这样) 所以上面的截图中XP系统下楷体字没有正常显示。 但是把字体名称改成“楷体_GB2312”后,XP下正常了,但Win7下却反而不正常了    
       |