Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Аватара для Flix

Пользователь


Сообщения: 93
Благодарности: 53

Профиль | Отправить PM | Цитировать


Цитата Flix:
Чтобы не переименовывать файл стиля, нужно использовать функцию SkinH_AttachEx (данное утверждение нуждается в проверке). »
Только что проверил - работает. Вот как выглядит код:
Код: Выделить весь код
Function onGUIInit
  InitPluginsDir
  SetOutPath $PLUGINSDIR
  File "${NSISDIR}\Plugins\x86-unicode\SkinH.dll"
  File "${NSISDIR}\Contrib\Skins\0011.she"

  ; При помощи функции SkinH_AttachEx загружаем файл стиля с именем 0011.she
  System::Call SkinH::SkinH_AttachEx(t'$PLUGINSDIR\0011.she')
 
#################### Patches for SkinSharp ####################
  System::Call Kernel32::GetModuleHandle(t"SkinH.dll")i.r0
  IntOp $0 $0 + 0x0002CA98
  System::Call Kernel32::GetCurrentProcess()i.s
  System::Call Kernel32::VirtualProtectEx(is,ir0,i4,i0x40,*i)
  System::Call "*$0(&i1 0)"
###############################################################
FunctionEnd
Пути к файлам у вас конечно же могут быть другие. Я использую Unicode, поэтому и DLL юникодный. Таким образом можно не переименовывать файлы стилей.

Цитата K.A.V.:
Данным элементам присвоен стиль "WS_DISABLED", возможно из-за этого получаются глюки при отображении текста данных элементов »
Да, точно, и это тоже оказывается имеет значение, вы правы. Если элемент не использует стиль WS_DISABLED, то текст отображается нормально.

Последний раз редактировалось Flix, 26-02-2014 в 18:39.

Это сообщение посчитали полезным следующие участники:

Отправлено: 18:34, 26-02-2014 | #1053