![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() Использовал эффект при нажатии на панель для наглядности, можно как нибудь упростить такой код?
Код:
procedure TForm1.Panel7MouseDo(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin Panel7.BevelOuter:=bvLowered; end; procedure TForm1.Panel7MouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin Panel7.BevelOuter:=bvRaised; end; procedure TForm1.Panel8MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin Panel8.BevelOuter:=bvLowered; end; procedure TForm1.Panel8MouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin Panel8.BevelOuter:=bvRaised; end; procedure TForm1.Panel9MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin Panel9.BevelOuter:=bvLowered; end; procedure TForm1.Panel9MouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin Panel9.BevelOuter:=bvRaised; end; Последний раз редактировалось Admin, 23.08.2008 в 20:36. |
#2
|
|||
|
|||
![]() а вот так, пишешь процедуру
Код:
procedure TForm1.PanelMouse(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); var Panel: TPanel; begin Panel := (Sender as TPanel); if Panel.BevelOuter = bvRaised then Panel.BevelOuter := bvLowered else Panel.BevelOuter := bvRaised; end; Кидаешь ее в Код:
type TForm1 = class(TForm) ... procedure PanelMouse(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); private И в Инспекторе каждой панели в свойства OnMouseUp и OnMouseDown прописываешь это процедурку |
#3
|
|||
|
|||
![]() Спасибо, но программа прервалась на строке: Panel := (Sender as TPanel);
Сообщение EInvalidCast 'Invalid class typecast' Поясни почему? Последний раз редактировалось Beast, 23.08.2008 в 22:47. |
#4
|
|||
|
|||
![]() Цитата:
(TPanel(Panel)) |
#5
|
|||
|
|||
![]() Спасибо огромное, я сам ступил, первый вариант как часы работает)))
Последний раз редактировалось Beast, 23.08.2008 в 23:01. |
#6
|
|||
|
|||
![]() Как можно тут объединить код?
Код:
procedure TForm2.ComboBox1Enter(Sender: TObject); begin RadioButton1.Checked := True; end; procedure TForm2.ComboBox2Enter(Sender: TObject); begin RadioButton2.Checked := True; end; procedure TForm2.ComboBox3Enter(Sender: TObject); begin RadioButton3.Checked := True; end; Извиняюсь, что не в новой теме. Последний раз редактировалось Beast, 24.08.2008 в 20:00. |
#7
|
|||
|
|||
![]() Здесь ИМХО не как))) Используй RadioGroup
В его свойстве Items добавь три строки (можешь как хочешь назвать) Для каждого ComboBox в свойство Tag поставь цыфрый 0, 1 и 2 для 1, 2 и 3 бокса соответсвенно Пиши функцию Код:
procedure TForm1.ComboBoxEnter(Sender: TObject); begin RadioGroup1.ItemIndex := (Sender as TComboBox).Tag; end; (незабудь прописать в заголовке и для каждого бокса в соответствующем свойстве) |
#8
|
|||
|
|||
![]() Спасибо!!!
|