На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
Модераторы: Rouse_, jack128, Krid
  
    > Как сохранить иконку в файл имея её хендл
      Проще всего через COM

      ExpandedWrap disabled
        uses
          Windows,ActiveX;
         
        function OleSavePictureFile(dispPicture: IDispatch; bstrFileName: TBStr): HResult; stdcall;
                                                                                external 'oleaut32.dll';
         
        // icon - дескриптор иконки
        // FileName - файл, в который сохранять
        // DestroyAfterSave - уничтожать дескриптор иконки после сохранения или нет
        function StoreIconFile(icon:HICON; FileName:string; DestroyAfterSave:boolean=false):boolean;
        const
         IID_IPictureDisp:TGUID = '{7BF80981-BF32-101A-8BBB-00AA00300CAB}';
        var
         pd:TPictDesc;
         ipd:IPictureDisp;
        begin
         pd.cbSizeofstruct:=sizeof(TPictDesc);
         pd.picType:=PICTYPE_ICON;
         pd.hIcon:=icon;
         result:=(OleCreatePictureIndirect(pd,IID_IPictureDisp,DestroyAfterSave,ipd)=S_OK) and
                 (OleSavePictureFile(ipd, StringToOLEStr(FileName))=S_OK)
        end;


      Автор: Krid

      Ссылка по теме Как сохранить иконку в файл имея её хендл
      0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
      0 пользователей:


      Рейтинг@Mail.ru
      [ Script execution time: 0,0225 ]   [ 16 queries used ]   [ Generated: 28.03.24, 18:31 GMT ]