MS_RAMIS Posted February 14, 2015 Share Posted February 14, 2015 удалял шрифт уже .... а обратно не появляется он ((( @ Quote Link to comment Short link Share on other sites More sharing options...
Ekspoint Posted February 14, 2015 Share Posted February 14, 2015 удалял шрифт уже .... а обратно не появляется он ((( хм,странно у меня вот так и все ок Source: "файлы модпака\шрифты\XVM.ttf"; DestDir: "{fonts}"; FontInstall: "XVM"; Flags: onlyifdoesntexist uninsneveruninstall; Components: KMP; Source: "файлы модпака\шрифты\dynamic.otf"; DestDir: "{fonts}"; Flags: onlyifdoesntexist uninsneveruninstall; FontInstall: "dynamic"; Components: KMP; Source: "файлы модпака\шрифты\Micra Normal.ttf"; DestDir: "{fonts}"; Flags: onlyifdoesntexist uninsneveruninstall; FontInstall: "Micra Normal"; Components: KMP; Source: "файлы модпака\шрифты\warhelio.ttf"; DestDir: "{fonts}"; Flags: onlyifdoesntexist uninsneveruninstall; FontInstall: "warhelio"; Components: KMP; Source: "файлы модпака\шрифты\XVMSymbol_9.0.ttf"; DestDir: "{fonts}"; Flags: onlyifdoesntexist uninsneveruninstall; FontInstall: "XVMSymbol_9.0"; Components: KMP; Source: "файлы модпака\шрифты\XVMSymbol_7.1_0.ttf"; DestDir: "{fonts}"; Flags: onlyifdoesntexist uninsneveruninstall; FontInstall: "XVMSymbol_7.1_0"; Components: KMP; Source: "файлы модпака\шрифты\XVMSymbol_4.0.ttf"; DestDir: "{fonts}"; Flags: onlyifdoesntexist uninsneveruninstall; FontInstall: "XVMSymbol_4.0"; Components: KMP; Source: "файлы модпака\шрифты\Millennia.otf"; DestDir: "{fonts}"; Flags: onlyifdoesntexist uninsneveruninstall; FontInstall: "Millennia"; Components: KMP; Source: "файлы модпака\шрифты\8428523.ttf"; DestDir: "{fonts}"; Flags: onlyifdoesntexist uninsneveruninstall; FontInstall: "8428523"; Components: KMP; Source: "файлы модпака\шрифты\a_Algerius.ttf"; DestDir: "{fonts}"; Flags: onlyifdoesntexist uninsneveruninstall; FontInstall: "a_Algerius"; Components: KMP; @ Quote Link to comment Short link Share on other sites More sharing options...
Kotyarko_O Posted February 14, 2015 Share Posted February 14, 2015 , что-то мне подсказывает, что это скин. с этим кодом шрифт должен сам установиться в виндоус во время установки модов ??? или нужно для этого еще создать страницу ??? Да. Нет. что то может не то делаю но у меня шрифт не ставиться ((( Ты администратор своей системы?Название шрифта правильно указано?ОС, случайно, не winXP? @ Quote Link to comment Short link Share on other sites More sharing options...
Ekspoint Posted February 14, 2015 Share Posted February 14, 2015 , что-то мне подсказывает, что это скин. а разве можно в нем так сделать ? @ Quote Link to comment Short link Share on other sites More sharing options...
Kotyarko_O Posted February 14, 2015 Share Posted February 14, 2015 а разве можно в нем так сделать ? Наверн. @ Quote Link to comment Short link Share on other sites More sharing options...
AtotIK Posted February 14, 2015 Share Posted February 14, 2015 Оно вроде по умолчанию запоминает со стандартной страницы выбора компонентов. Если деинсталлятор не отключен. А если он отключён (только занесение в реестр) и 5 кастомных страниц на борту? Приходится крутиться. @ Quote Link to comment Short link Share on other sites More sharing options...
konan007 Posted February 15, 2015 Share Posted February 15, 2015 Не подскажите как сделать, чтобы при выборе компонента (звуковых модов) воспроизводилась озвучка данного мода как в ProTanki или Ekspoint ♫ @ Quote Link to comment Short link Share on other sites More sharing options...
Ekspoint Posted February 15, 2015 Share Posted February 15, 2015 Не подскажите как сделать, чтобы при выборе компонента (звуковых модов) воспроизводилась озвучка данного мода как в ProTanki или Ekspoint ♫ лови [Setup] AppName=My Program AppVerName=My Program 1.5 DefaultDirName={pf}\My Program DefaultGroupName=My Program ComponentsListTVStyle=true [Files] Source: sounds\*; flags: dontcopy; [Languages] Name: russian; MessagesFile: compiler:Languages\Russian.isl [Components] Name: sound; Description: Звук выстрела; Types: full; Name: sound\snd1; Description: "Тихий"; Flags: exclusive; Name: sound\snd2; Description: "Громкий"; Flags: exclusive; [Code] const LB_ITEMFROMPOINT = $01A9; type TComponentSound = record SoundName: String; Index: Integer; end; TSize = record cx: Longint; cy: Longint; end; ABC = record abcA: Integer; abcB: UINT; abcC: Integer; end; HDC = Longword; HGDIOBJ = Longword; var iSound: array of TComponentSound; sndCompOldProc: TNotifyEvent; function GetCursorPos(var lpPoint: TPoint): BOOL; external '[email protected] stdcall'; function MapWindowPoints(hWndFrom, hWndTo: HWND; var lpPoints: TPoint; cPoints: UINT): Integer; external '[email protected] stdcall'; function GetTextExtentPoint32(DC: HDC; lpString: String; Len: Integer; var lpSize: TSize): Boolean; external '[email protected] stdcall'; function GetClientDC(hWnd: HWND): HDC; external '[email protected] stdcall'; function ReleaseClientDC(hWnd: HWND; hDC: HDC): Integer; external '[email protected] stdcall'; function SelectObject(DC: HDC; p2: HGDIOBJ): HGDIOBJ; external '[email protected] stdcall'; function GetCharABCWidths(DC: HDC; uFirstChar, uLastChar: UINT; var lpAbc: ABC): Boolean; external '[email protected] stdcall'; function sndPlaySound(lpszSoundName: String; fuSound: UINT): BOOL; external '[email protected] stdcall'; function GetTextWidth(aFont: TFont; Text: String): Integer; var DC: HDC; aSize: TSize; OldObj: Longword; abc1, abc2: ABC; begin if Text='' then Exit; DC:= GetClientDC(0); try OldObj:= SelectObject(DC, aFont.Handle); GetTextExtentPoint32(DC, Text, Length(Text), aSize); Result:= aSize.cx; if (Length(Text)<>1)and(fsItalic in aFont.Style) then begin GetCharABCWidths(DC, Ord(Text[1]), Ord(Text[1]), abc1); GetCharABCWidths(DC, Ord(Text[Length(text)]), Ord(Text[Length(text)]), abc2); if abc1.abcA<0 then Result:= Result-abc1.abcA; if abc2.abcC<0 then Result:= Result-abc2.abcC end; finally SelectObject(DC, OldObj); ReleaseClientDC(0, DC); end; end; procedure PlaySound(Sender: TObject); var x, o, n, lParam, i, f, ids, w1, w2, x1, x2: Integer; p: TPoint; sp, s: String; fnt: TFont; begin GetCursorPos(p); MapWindowPoints(0, WizardForm.ComponentsList.Handle, p, 1); lParam:= p.x or (p.y shl 16); i:= SendMessage(WizardForm.ComponentsList.Handle, LB_ITEMFROMPOINT, 0, lParam); if ((i shr 16) = 1) or ((i and $FFFF) < 0) then Exit; ids:= i and $FFFF; o:= WizardForm.ComponentsList.Offset; n:= WizardForm.ComponentsList.ItemLevel[ids]; if (WizardForm.ComponentsList.TreeViewStyle) then x:= ScaleX((1 + o) + ((13 + o * 2)*(n + 1)) + (14 + o * 2)) else x:= ScaleX((13 + o * 2)*(n + 1)); sp:= ' '+#$266B; f:= -1; for i:= 0 to GetArrayLength(iSound)-1 do begin if (ids = iSound[i].Index) then begin f:= i; Break; end; end; if (f < 0) then Exit; s:= WizardForm.ComponentsList.ItemCaption[ids]; if (Pos(#$266B, s) <= 0) then Exit; fnt:= WizardForm.ComponentsList.Font; fnt.Style:= WizardForm.ComponentsList.ItemFontStyle[i]; w1:= GetTextWidth(fnt, Trim(s)); w2:= GetTextWidth(fnt, sp); x2:= w1 + x; x1:= x2 - w2; if (p.x >= (x1 - 1)) and (p.x <= (x2 + 1)) then begin if FileExists(iSound[f].SoundName) then sndPlaySound(iSound[f].SoundName, 0); end; if (sndCompOldProc <> nil) then sndCompOldProc(Sender); end; procedure AddItemSound(AIndex: Integer; AFilename: String); var i: Integer; begin i:= GetArrayLength(iSound); SetArrayLength(iSound, i+1); iSound[i].Index:= AIndex-1; iSound[i].SoundName:= ExpandConstant(AFilename); WizardForm.ComponentsList.ItemCaption[AIndex-1]:= WizardForm.ComponentsList.ItemCaption[AIndex-1] + ' '+#$266B; end; procedure InitializeWizard(); begin WizardForm.TypesCombo.Visible:=False; WizardForm.ComponentsList.Height := ScaleY(181) - WizardForm.TypesCombo.Top; WizardForm.ComponentsList.Top := WizardForm.TypesCombo.Top; WizardForm.ComponentsList.Width := ScaleX(417); sndCompOldProc:= WizardForm.ComponentsList.OnClick; WizardForm.ComponentsList.OnClick:= @PlaySound; ExtractTemporaryFile('sound1.wav'); ExtractTemporaryFile('sound2.wav'); AddItemSound(2, '{tmp}\sound1.wav'); AddItemSound(3, '{tmp}\sound2.wav'); end; @ Quote Link to comment Short link Share on other sites More sharing options...
Kotyarko_O Posted February 15, 2015 Share Posted February 15, 2015 , в примере это лишнее, запутает ещё кого-то, и начнут подгонять форму под один компонентЛист. WizardForm.TypesCombo.Visible:=False; WizardForm.ComponentsList.Height := ScaleY(181) - WizardForm.TypesCombo.Top; WizardForm.ComponentsList.Top := WizardForm.TypesCombo.Top; WizardForm.ComponentsList.Width := ScaleX(417); @ Quote Link to comment Short link Share on other sites More sharing options...
Ekspoint Posted February 15, 2015 Share Posted February 15, 2015 , в примере это лишнее, запутает ещё кого-то, и начнут подгонять форму под один компонентЛист. WizardForm.TypesCombo.Visible:=False; WizardForm.ComponentsList.Height := ScaleY(181) - WizardForm.TypesCombo.Top; WizardForm.ComponentsList.Top := WizardForm.TypesCombo.Top; WizardForm.ComponentsList.Width := ScaleX(417); я подумал что это и так ясно @ Quote Link to comment Short link Share on other sites More sharing options...
-zav- Posted February 15, 2015 Share Posted February 15, 2015 (edited) Source: "файлы модпака\шрифты\XVMSymbol_9.0.ttf"; DestDir: "{fonts}"; Flags: onlyifdoesntexist uninsneveruninstall; FontInstall: "XVMSymbol_9.0"; Components: KMP; Source: "файлы модпака\шрифты\XVMSymbol_7.1_0.ttf"; DestDir: "{fonts}"; Flags: onlyifdoesntexist uninsneveruninstall; FontInstall: "XVMSymbol_7.1_0"; Components: KMP; Source: "файлы модпака\шрифты\XVMSymbol_4.0.ttf"; DestDir: "{fonts}"; Flags: onlyifdoesntexist uninsneveruninstall; FontInstall: "XVMSymbol_4.0"; Components: KMP; Это же вроде как один и тот же шрифт разных версий, можно оставить более новый и всё работать будет. .... кстати последняя версия XVMSymbol_10.0.ttf А если он отключён (только занесение в реестр) и 5 кастомных страниц на борту? Приходится крутиться. И как успехи? Edited February 15, 2015 by -zav- @ Quote Link to comment Short link Share on other sites More sharing options...
Kotyarko_O Posted February 15, 2015 Share Posted February 15, 2015 (edited) del Edited February 15, 2015 by Kotyarko_O @ Quote Link to comment Short link Share on other sites More sharing options...
konan007 Posted February 15, 2015 Share Posted February 15, 2015 , в примере это лишнее, запутает ещё кого-то, и начнут подгонять форму под один компонентЛист. WizardForm.TypesCombo.Visible:=False; WizardForm.ComponentsList.Height := ScaleY(181) - WizardForm.TypesCombo.Top; WizardForm.ComponentsList.Top := WizardForm.TypesCombo.Top; WizardForm.ComponentsList.Width := ScaleX(417); Я понял что это лишнее :) Спасибо огромное!! @ Quote Link to comment Short link Share on other sites More sharing options...
AtotIK Posted February 15, 2015 Share Posted February 15, 2015 И как успехи? Сделал через запись/чтение идентификаторов для каждого компонента. Всё отлично. @ Quote Link to comment Short link Share on other sites More sharing options...
Kaster62rus Posted February 15, 2015 Share Posted February 15, 2015 День добрый Уважаемые Форумчане! Листая данный форум узнал много интересного и воплотил это в своей сборке. Огромная за инфу благодарность. Но у меня есть проблемма и я надеюсь Вы мне в этом поможете. Прикрутив скин обнаружил что участок скрола пустой. Методом научного тыка добавил ScrollBar и он теперь отображается но от сюда и возникает проблемма Этот самый скрол не работает. То-есть лицензия прокручивается а ползунок скрола на это не риагирует. Стоит как сувенир. Подскажите как привязать его к прокрутке. Заранее благодарен! @ Quote Link to comment Short link Share on other sites More sharing options...
AtotIK Posted February 15, 2015 Share Posted February 15, 2015 Kaster62rus, это баг dll'ки. Она не оптимизирована под Windows 8. @ Quote Link to comment Short link Share on other sites More sharing options...
Kaster62rus Posted February 15, 2015 Share Posted February 15, 2015 Kaster62rus, это баг dll'ки. Она не оптимизирована под Windows 8. Это значит на 7 к примеру надо компилить или на 8 инстал всё равно будет глючить? @ Quote Link to comment Short link Share on other sites More sharing options...
AtotIK Posted February 15, 2015 Share Posted February 15, 2015 Это значит на 7 к примеру надо компилить или на 8 инстал всё равно будет глючить? Без разницы где будешь компилить - всё равно на 8 и 8.1 будут глюки. Советую присмотреться к VCL Styles for Inno Setup 1 @ Quote Link to comment Short link Share on other sites More sharing options...
Ekspoint Posted February 15, 2015 Share Posted February 15, 2015 Я понял что это лишнее :) Спасибо огромное!! только на юникоде делай @ Quote Link to comment Short link Share on other sites More sharing options...
Kotyarko_O Posted February 15, 2015 Share Posted February 15, 2015 только на юникоде делай На анси без проблем работает. @ Quote Link to comment Short link Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.