Имя пользователя:
Пароль:
 

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

Аватара для ROMKA-1977

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


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

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


Помогите пож. к данному коду прикрутить автоматическую смену названия кнопки "open"
читать дальше »

Код: Выделить весь код
const
    GWL_EXSTYLE = (-20);
    WS_EX_COMPOSITED = $2000000;
    AW_HIDE = $10000;
    AW_VER_POSITIVE = $4;
    AW_VER_NEGATIVE = $8;

function SetWindowLong(Wnd: HWnd; Index: Integer; NewLong: Longint): Longint; external 'SetWindowLongA@user32.dll stdcall';
function GetWindowLong(Wnd: HWnd; Index: Integer): Longint; external 'GetWindowLongA@user32.dll stdcall';
function AnimateWindow(hwnd: HWND; dwTime, dwFlags: DWORD): BOOL; external 'AnimateWindow@user32.dll stdcall';

var
    SettingPanel: TPanel;

procedure NewButton1Click(Sender: TObject);
begin
    with SettingPanel do
    begin
        //временно отрубаем стиль WS_EX_COMPOSITED, а то AnimateWindow плавненько не отработает
        SetWindowLong(WizardForm.Handle, GWL_EXSTYLE, GetWindowLong(WizardForm.Handle, GWL_EXSTYLE) xor WS_EX_COMPOSITED);
        AnimateWindow(Handle, 1000, (AW_VER_POSITIVE * dword(not Visible)) or ((AW_HIDE or AW_VER_NEGATIVE) * dword(Visible)));
        SetWindowLong(WizardForm.Handle, GWL_EXSTYLE, GetWindowLong(WizardForm.Handle, GWL_EXSTYLE) or WS_EX_COMPOSITED);
        Visible := not Visible;
    end;
end;

procedure InitializeWizard();
begin
    SetWindowLong(WizardForm.Handle, GWL_EXSTYLE, GetWindowLong(WizardForm.Handle, GWL_EXSTYLE) or WS_EX_COMPOSITED);

    SettingPanel := TPanel.Create(WizardForm);
    with SettingPanel do
    begin
        Parent := WizardForm;
        SetBounds(ScaleX(0), ScaleY(0), WizardForm.ClientWidth, WizardForm.OuterNotebook.ClientHeight);
        Visible := False;
    end;

    with TNewButton.Create(WizardForm) do
    begin
        Parent := WizardForm;
        SetBounds(ScaleX(40), ScaleY(327), ScaleX(75), ScaleY(25));
        Caption := 'open';
        OnClick := @NewButton1Click;
    end;
end;

Отправлено: 21:43, 16-01-2015 | #2316