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

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

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


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

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


serg aka lain нужно сделать текстуринг кнопок с помошью
читать дальше »
PHP код: Выделить весь код

const

  
ButtonWidth 80;    //Указываем размер кнопок
  
ButtonHeight 23;

  
bidBack 0;
  
bidNext 1;
  
bidCancel 2;
  
bidDirBrowse 3;
  
bidGroupBrowse 4;

var
  
ButtonPanel: array [0..4of TPanel;
  
ButtonImage: array [0..4of TBitmapImage;
  
ButtonLabel: array [0..4of TLabel;

procedure ButtonLabelClick(SenderTObject);
var
  
ButtonTButton;
begin
  ButtonImage
[TLabel(Sender).Tag].Left:=0
  
case TLabel(Sender).Tag of
    bidBack
Button:=WizardForm.BackButton
    bidNext
Button:=WizardForm.NextButton
    bidCancel
Button:=WizardForm.CancelButton
    bidDirBrowse
Button:=WizardForm.DirBrowseButton
    bidGroupBrowse
Button:=WizardForm.GroupBrowseButton
  
else
    Exit
  
end
  Button
.OnClick(Button)
end;

procedure ButtonLabelMouseDown(SenderTObjectButtonTMouseButtonShiftTShiftStateXYInteger);
begin
  
if ButtonLabel[TLabel(Sender).Tag].Enabled then
     ButtonImage
[TLabel(Sender).Tag].Left:=-ButtonWidth
end
;

procedure ButtonLabelMouseUp(SenderTObjectButtonTMouseButtonShiftTShiftStateXYInteger);
begin
  ButtonImage
[TLabel(Sender).Tag].Left:=0
end
;

procedure LoadButtonImage(AButtonTButtonAButtonIndexinteger);
var
  
ImageTBitmapImage;
  
PanelTPanel;
  
LablTLabel;

begin
  Panel
:=TPanel.Create(WizardForm)
  
Panel.Left:=AButton.Left
  Panel
.Top:=AButton.Top
  Panel
.Width:=AButton.Width
  Panel
.Height:=AButton.Height
  Panel
.Tag:=AButtonIndex
  Panel
.Parent:=AButton.Parent
  ButtonPanel
[AButtonIndex]:=Panel

  Image
:=TBitmapImage.Create(WizardForm)    //Рисунок который ложится на кнопку
  
Image.Width:=160                          //Обязательно прописать оригинальный размер рисунка
  
Image.Height:=23
  Image
.Enabled:=False
  Image
.Bitmap.LoadFromFile(ExpandConstant('{tmp}\button.bmp'))
  
Image.Parent:=Panel
  ButtonImage
[AButtonIndex]:=Image

  with TLabel
.Create(WizardForm) do begin
    Tag
:=AButtonIndex
    Parent
:=Panel
    Width
:=Panel.Width
    Height
:=Panel.Height
    Transparent
:=True
    OnClick
:=@ButtonLabelClick
    OnDblClick
:=@ButtonLabelClick
    OnMouseDown
:=@ButtonLabelMouseDown
    OnMouseUp
:=@ButtonLabelMouseUp
  end

  Labl
:=TLabel.Create(WizardForm)        //Текст кнопок
  
Labl.Left:=23                          //Указываем положение текста
  
Labl.Top:=5
  Labl
.Autosize:=True
  Labl
.Alignment:=taCenter
  Labl
.Tag:=AButtonIndex
  Labl
.Transparent:=True
  Labl
.Font.Color:=clFont               //Цвет текста
  
Labl.Caption:=AButton.Caption
  Labl
.OnClick:=@ButtonLabelClick
  Labl
.OnDblClick:=@ButtonLabelClick
  Labl
.OnMouseDown:=@ButtonLabelMouseDown
  Labl
.OnMouseUp:=@ButtonLabelMouseUp
  Labl
.Parent:=Panel
  ButtonLabel
[AButtonIndex]:=Labl
end
;

procedure UpdateButton(AButtonTButton;AButtonIndexinteger);
begin
  ButtonLabel
[AButtonIndex].Caption:=AButton.Caption
  ButtonPanel
[AButtonIndex].Visible:=AButton.Visible
  ButtonLabel
[AButtonIndex].Enabled:=Abutton.Enabled
end
;

procedure LicenceAcceptedRadioOnClick(SenderTObject);
begin
  ButtonLabel
[bidNext].Enabled:=True
  ButtonPanel
[bidNext].Enabled := True
end
;

procedure LicenceNotAcceptedRadioOnClick(SenderTObject);
begin
  ButtonLabel
[bidNext].Enabled:=False
  ButtonPanel
[bidNext].Enabled := False
end
;

procedure CurPageChanged(CurPageIDInteger);
begin
  UpdateButton
(WizardForm.BackButton,bidBack)
  
UpdateButton(WizardForm.NextButton,bidNext)
  
UpdateButton(WizardForm.CancelButton,bidCancel)
  
ButtonLabel[bidBack].Left := (ButtonPanel[bidBack].Width ButtonLabel[bidBack].Width 2);
  
ButtonLabel[bidNext].Left := (ButtonPanel[bidNext].Width ButtonLabel[bidNext].Width 2);
  
ButtonLabel[bidCancel].Left := (ButtonPanel[bidCancel].Width ButtonLabel[bidCancel].Width 2);
  
ButtonLabel[bidDirBrowse].Left := (ButtonPanel[bidDirBrowse].Width ButtonLabel[bidDirBrowse].Width 2);
  
ButtonLabel[bidGroupBrowse].Left := (ButtonPanel[bidGroupBrowse].Width ButtonLabel[bidGroupBrowse].Width 2);
end;

procedure InitializeWizard();
begin
  WizardForm
.BackButton.Width:=ButtonWidth
  WizardForm
.BackButton.Height:=ButtonHeight

  WizardForm
.NextButton.Width:=ButtonWidth
  WizardForm
.NextButton.Height:=ButtonHeight

  WizardForm
.CancelButton.Width:=ButtonWidth
  WizardForm
.CancelButton.Height:=ButtonHeight

  WizardForm
.DirBrowseButton.Left:=337
  WizardForm
.DirBrowseButton.Width:=ButtonWidth
  WizardForm
.DirBrowseButton.Height:=ButtonHeight

  WizardForm
.GroupBrowseButton.Left:=337
  WizardForm
.GroupBrowseButton.Width:=ButtonWidth
  WizardForm
.GroupBrowseButton.Height:=ButtonHeight

  WizardForm
.LicenseAcceptedRadio.OnClick:=@LicenceAcceptedRadioOnClick

  WizardForm
.LicenseNotAcceptedRadio.OnClick:=@LicenceNotAcceptedRadioOnClick

  ExtractTemporaryFile
('button.bmp')
  
LoadButtonImage(WizardForm.BackButton,bidBack)
  
LoadButtonImage(WizardForm.NextButton,bidNext)
  
LoadButtonImage(WizardForm.CancelButton,bidCancel)
  
LoadButtonImage(WizardForm.DirBrowseButton,bidDirBrowse)
  
LoadButtonImage(WizardForm.GroupBrowseButton,bidGroupBrowse)
end



чет я как уже не пробовал, все кнопки с текстурой кроме кнопки отмены в StandartForm и MyNewForm

Отправлено: 21:26, 13-12-2010 | #105