如何将图标完美的绘制到PageControl的页签上


最初效果是上面的,有白边,用下面的代码:

您看到的是将Windows Shell图标的大小从32x32调整为16x16的效果。作为从Windows Vista开始的解决方法,您可以使用该SHGetStockIconInfo功能。传递SHGSI_SMALLICON标志以检索由SM_CXSMICON指定的图标的小版本SM_CYSMICON

的值SM_CXSMICONSM_CYSMICON取决于当前的DPI设置。对于DPI 96是16x16



 LIcon := TIcon.Create;
   try
    LIcon.Handle := 0;
    if TOSVersion.Check(6, 0) then
    begin
      ZeroMemory(@LSHStockIconInfo, SizeOf(LSHStockIconInfo));
      LSHStockIconInfo.cbSize := sizeof(LSHStockIconInfo);
      if SHGetStockIconInfo(SIID_INFO, SHGSI_ICON or SHGSI_SMALLICON, LSHStockIconInfo) = S_OK then
      begin
        LIcon.Handle := LSHStockIconInfo.hIcon;
        imageList.AddIcon(LIcon);
      end;
    end;
   finally
    LIcon.Free;
   end;


联系电话:
020-00000000
联系电话:
020-00000000
联系电话:
020-12345678