  | 
      
        
          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下卻反而不正常了    
       |