![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
|
|
#1
|
||||
|
||||
|
Приветствую всех!
Вообщем есть ".dll" библиотека при помощи которой можно изменять внешний вид программы, правда она сделана для "Inno Setup" кто знает... Inno Setup использует тот же язык программирования поэтому у меня появилась идея прикрутить ее к моей программе в Delphi. В Inno Setup она устанавливается след. образом: Т.е. добавляется в ресурсы сама библиотека и скин. После запуска программы они распаковываются в директорию "%tmp%" Код:
[Files]
; Add the ISSkin DLL used for skinning Inno Setup installations.
Source: ISSkin.dll; DestDir: {app}; Flags: dontcopy
; Add the Visual Style resource contains resources used for skinning,
; you can also use Microsoft Visual Styles (*.msstyles) resources.
Source: Office2007.cjstyles; DestDir: {tmp}; Flags: dontcopyОбъявляем API функции. Код:
// Importing LoadSkin API from ISSkin.DLL procedure LoadSkin(lpszPath: String; lpszIniFileName: String); external 'LoadSkin@files:isskin.dll stdcall'; // Importing UnloadSkin API from ISSkin.DLL procedure UnloadSkin(); external 'UnloadSkin@files:isskin.dll stdcall'; // Importing ShowWindow Windows API from User32.DLL function ShowWindow(hWnd: Integer; uType: Integer): Integer; external 'ShowWindow@user32.dll stdcall'; И тут, собственно при запуске распаковывается скин из ресурсов и загружается. Код:
function InitializeSetup(): Boolean;
begin
ExtractTemporaryFile('Office2007.cjstyles');
LoadSkin(ExpandConstant('{tmp}\Office2007.cjstyles'), '');
Result := True;
end;Далее программа закрывается. Код:
procedure DeinitializeSetup();
begin
// Hide Window before unloading skin so user does not get
// a glimpse of an unskinned window before it is closed.
ShowWindow(StrToInt(ExpandConstant('{wizardhwnd}')), 0);
UnloadSkin();
end;Внимание вопрос!) Возможно ли как то это прикрутить к моему Delphi проекту? И как это собственно сделать? Я ведь затеял все это ради того, что в данном случае есть возможность использовать темы формата ".cjstyles".. Если кто то знает какой нибудь компонент для Delphi который бы работал с этим форматам - подскажите. Буду очень благодарен. Заранее спасибо) |
|
#2
|
||||
|
||||
|
А бугл что по этому поводу пишет?
|
| Этот пользователь сказал Спасибо M.A.D.M.A.N. за это полезное сообщение: | ||
Freeman (03.02.2015)
| ||