我想玩LoadIconWithScaleDown API。 我使用的是Delphi 2007,我編寫了一個簡單的示例程序,在點擊一個按鈕後,我調用COMMCTRL.LoadIconWithScaleDown。我嘗試了各種組合,實例爲零,實例設置爲hInstance,對於第二個參數,我嘗試傳遞當前模塊名稱MAKEINTRESOURCE(IDI_APPLICATION),...總是沒有運氣,我總是得到一個返回值-2147467263 。任何想法我做錯了什麼?LoadIconWithScaleDown總是失敗
根據David的建議編輯,以顯示我如何嘗試調用API。
procedure TForm31.Button1Click(Sender: TObject);
var moduleName : string;
var moduleNameW : widestring;
var retVal : HRESULT;
var iconHandle : HICON;
begin
iconHandle := 0;
SetLength(moduleName, 1024);
WINDOWS.GetModuleFileName(
hInstance,
PCHAR(moduleName),
LENGTH(moduleName));
moduleNameW := moduleName;
retVal := COMMCTRL.LoadIconWithScaleDown(
HINSTANCE,
PWidechar(moduleNameW),
image1.width,
image1.height,
iconHandle);
end;
你在做什麼錯誤是問關於你的代碼的問題,而不包括[mcve] –
我瞭解你的評論David,但我嘗試了各種組合,但都沒有成功。如果你只有一個工作,我會很感激。我會編輯我的信息,舉例說明我嘗試過的。 –
你根本不檢查錯誤。下一步閱讀文檔。聽起來很明顯,但你還沒有做到。仔細閱讀。兩次。您傳遞的資源名稱錯誤是我的猜測。錯誤會告訴你。再次閱讀文檔。這就是他們的目的。 –