LoadIconMetric 函式 (commctrl.h)

使用用戶端指定的系統計量載入指定的圖示資源。

語法

HRESULT LoadIconMetric(
  [in]  HINSTANCE hinst,
  [in]  PCWSTR    pszName,
  [in]  int       lims,
  [out] HICON     *phico
);

參數

[in] hinst

類型: HINSTANCE

包含要載入之圖示之 DLL 或可執行檔 (.exe) 檔案模組的句柄。 如需詳細資訊,請參閱 GetModuleHandle

若要載入預先定義的系統圖示或獨立圖示檔案,請將此參數設定為 NULL

[in] pszName

類型: PCWSTR

Null 終止的 Unicode 緩衝區指標,其中包含要載入之圖示的位置資訊。

如果 hinst 為非 NULL,pszName 會依名稱或序數指定圖示資源。 此序數必須使用 MAKEINTRESOURCE 宏封裝。

如果 hinstNULL,pszName 會指定要載入之預先定義系統圖示) 開頭為IDI_前置詞的標識碼 (

[in] lims

類型: int

所需的計量。 下列其中一個值:

意義
LIM_SMALL
對應至 SM_CXSMICON,這是小型圖標的建議圖元寬度。
LIM_LARGE
對應至 圖標的預設圖元寬度SM_CXICON。

[out] phico

類型: HICON*

當此函式傳回時,會包含載入之圖示句柄的指標。

傳回值

類型: HRESULT

如果成功,則傳回S_OK,否則傳回錯誤,包括下列值。

傳回碼 Description
E_INVALIDARG
pszName 所指向之緩衝區的內容不符合任何預期的解譯。

備註

LoadIconMetric 類似於 LoadIcon,但能夠指定圖示計量。 當呼叫的應用程式想要確保高品質圖示時,它會用來取代 LoadIcon 。 這對於每英吋的高點特別有用, (dpi) 情況。

圖示會擷取或建立,如下所示。

  1. 如果在資源中找到完全相同的大小相符專案,則會使用該圖示。
  2. 如果找不到完全相符的大小,而且有較大的圖示可供使用,則會藉由將較大的版本相應減少為所需的大小來建立新的圖示。
  3. 如果找不到完全相符的大小,而且沒有較大的圖示可用,則會藉由將較小的圖示調整為所需的大小來建立新的圖示。
針對 LoadIconMetricLoadIcon,這裡會顯示比較呼叫。
NOTIFYICONDATA  nidIconData  = {0};
nidIconData.hIcon = LoadIcon(hInstance, MAKEINTRESOURCE(IDI_ICON));

// Or...

HRESULT hr = LoadIconMetric(hInstance, MAKEINTRESOURCE(IDI_ICON), LIM_SMALL, &nidIconData.hIcon);

應用程式負責在擷取的圖示上呼叫 DestroyIcon

規格需求

需求
最低支援的用戶端 Windows Vista [僅限傳統型應用程式]
最低支援的伺服器 Windows Server 2008 [僅限傳統型應用程式]
目標平台 Windows
標頭 commctrl.h
程式庫 Comctl32.lib
Dll Comctl32.dll