Shift85
Старожил
Shift85, кстати из таго же сталкера, что ты не удосужился посмотреть. + добавлено в модуле назначение события на нажатие.
sergey3695, Здесь тень отсутствует.
Смотрите видео ниже, чтобы узнать, как установить наш сайт в качестве веб-приложения на домашнем экране.
Примечание: Эта возможность может быть недоступна в некоторых браузерах.
Shift85, кстати из таго же сталкера, что ты не удосужился посмотреть. + добавлено в модуле назначение события на нажатие.
#define NeedSize 43809
#define NeedInstallSize 67890
#include "TShadowLabel.iss"
[Setup]
AppName=MyApp
AppVerName=MyApp
DefaultDirname={pf}\MyApp
DefaultGroupName=MyApp
[CustomMessages]
TotalSpace=Всего места на диске:
FreeSpace=Доступно места на диске:
InstallSpace=Требуется места для установки:
NeedSpace=Требуется места на диске:
[code]
var
TotalSpaceLabel, FreeSpaceLabel, NeedSpacelabel, InstallSpaceLabel: TShadowLabel;
FreeMB, TotalMB: Cardinal;
function NumToStr(Float: Extended): String;
begin
Result:= format('%.2n', [Float]); StringChange(Result, ',', '.');
while (Result[Length(Result)] = '0')or((Result[Length(Result)] = '.')and(Pos('.', Result) > 0)) do
SetLength(Result, Length(Result)-1);
end;
function MbOrTb(Float: Extended): String;
begin
if Float < 1024 then Result:= NumToStr(Float)+' Мб' else
if Float/1024 < 1024 then Result:= NumToStr(Float/1024)+' Гб' else
Result:= NumToStr(Float/(1024*1024))+' Тб';
end;
procedure DirEditOnChange(Sender: TObject);
var
Drive: String;
begin
Drive:= ExtractFileDrive(WizardForm.DirEdit.Text);
GetSpaceOnDisk(Drive, True, FreeMB, TotalMB);
SetShadowLabelCaption(TotalSpaceLabel, ExpandConstant('{cm:TotalSpace} ')+MbOrTb(TotalMB));
SetShadowLabelCaption(FreeSpaceLabel, ExpandConstant('{cm:FreeSpace} ')+MbOrTb(FreeMB)+' ('+IntToStr(round(FreeMB*100/TotalMB))+'% )');
WizardForm.NextButton.Enabled:= (FreeMB>{#NeedInstallSize})and(FreeMB>{#NeedSize});
if WizardForm.NextButton.Enabled then SetShadowLabelColor(FreeSpaceLabel, clsilver, clWhite) else SetShadowLabelColor(FreeSpaceLabel, clblack, $0000FF);
end;
procedure InitializeWizard();
begin
TotalSpaceLabel:= CreateShadowLabel(WizardForm.SelectDirpage, '', ScaleX(0),ScaleY(120), ScaleX(300), ScaleY(20), 'tahoma', 14, 1, [], clWhite, clsilver, True, False, taCenter);
FreeSpaceLabel:= CreateShadowLabel(WizardForm.SelectDirpage, '', ScaleX(0),ScaleY(140), ScaleX(300), ScaleY(20), 'tahoma', 14, 1, [], clWhite, clsilver, True, False, taCenter);
InstallSpacelabel:= CreateShadowLabel(WizardForm.SelectDirpage, ExpandConstant('{cm:InstallSpace} ')+MbOrTb({#NeedInstallSize}), ScaleX(0),ScaleY(160), ScaleX(300), ScaleY(20), 'tahoma', 14, 1, [], clWhite, clsilver, True, False, taCenter);
NeedSpaceLabel:= CreateShadowLabel(WizardForm.SelectDirpage, ExpandConstant('{cm:NeedSpace} ')+MbOrTb({#NeedSize}), ScaleX(0),ScaleY(180), ScaleX(300), ScaleY(20), 'tahoma', 14, 1, [], clWhite, clsilver, True, False, taCenter);
WizardForm.DiskSpaceLabel.Hide;
WizardForm.DirEdit.OnChange:= @DirEditOnChange;
end;
procedure CurPageChanged(CurPageID: Integer);
begin
case CurPageID of
wpSelectDir: DirEditOnChange(nil);
end;
end;
#define Shadow
function ReleaseCapture(): Longint; external 'ReleaseCapture@user32.dll stdcall';
procedure LabelOnMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
ReleaseCapture;
SendMessage(WizardForm.Handle,$0112,$F012,0)
end;
procedure TNewLblExtOnClick(var Line: TNewLblExt; Event: TNotifyEvent);
begin
for i:=0 to 1 do Line.LblExt[i].OnClick:= Event;
end;
procedure SetShadowLabelEvent(var Line: TShadowLabel; ClickEvent: TNotifyEvent; MouseDown, MouseUp: TMouseEvent; MouseMove: TMouseMoveEvent);
begin
If ClickEvent <> nil then Line.Foreground.OnClick:= ClickEvent;
If MouseDown <> nil then Line.Foreground.OnMouseDown:= MouseDown;
If MouseUp <> nil then Line.Foreground.OnMouseUp:= MouseUp;
If MouseMove <> nil then Line.Foreground.OnMouseMove:= MouseMove;
end;
Уменьш ширину лабела и увеличь высоту...Всем привет.
Как сделать, чтобы при нехватке места текст автоматически переходил на следующую строку?
а автосиз отключен, я его тут не вижу просто)) у меня по другому было на этом дизе)EvilAlex, Не работает.
Код:SelectDirLabel:=CreateShadowLabel(WizardForm, ExpandConstant('{cm:SelectDirLabel} '), ScaleX(24),ScaleY(50), ScaleX(0), ScaleY(100), 'Tahoma', 8, 1, [], clWhite, clBlack, True, False, taLeftJustify);
[CustomMessages]
rus.SelectDir1=Программа установит%n«{#MyAppName}»
SelectDir:=TLabel.Create(WizardForm);
with SelectDir do
begin
Top:= ScaleY(135);
Left:= ScaleX(27);
Width:= ScaleX(450);
Height:= ScaleY(200);
AutoSize:= false;
WordWrap:= true;
Font.Size:={#FontSize};
Font.Color:={#FontColor};
Font.Style:=[fsBold];
Font.Name:='Tahoma';
Transparent:= true;
Parent:= WizardForm;
Caption:= ExpandConstant('{cm:SelectDir1}');
end;
EvilAlex, Это лейбл с тенью здесь он не нужен.а автосиз отключен, я его тут не вижу просто)) у меня по другому было на этом дизе)
omg прочти сам.Как добавить тень на текст на Эдит наложенный через лэйбл?