рефераты конспекты курсовые дипломные лекции шпоры

Реферат Курсовая Конспект

TempPanel.Width:=20; //Устанавливаю ширину TempPanel.Height:=20; //Устанавливаю высоту

TempPanel.Width:=20; //Устанавливаю ширину TempPanel.Height:=20; //Устанавливаю высоту - раздел Информатика, Собственные программы ScreenSaver и закрепим максимум из пройдённого материала на полезных в реальной жизни примерах //Далее Устанавливаю Обработчик Нажатия На Эту Панель Temppane...

//Далее устанавливаю обработчик нажатия на эту панель TempPanel.OnMouseDown:=PanelMouseDown;

//Добавляю панель в контейнер CompList (CompList.Add) //и сохраняю результат в TempPanel.Tag TempPanel.Tag:=CompList.Add(TempPanel);

Form1.InsertControl(TempPanel); //Вставляю панель на форму end;

Для начала вспомним, что это за свойство Tag у компонента TPanel. Это просто целое значение, которое ты можешь использовать по своему усмотрению. Именно этим свойством мы и будем часто пользоваться во время программирования нашего примера.

Теперь разберём написанный код. В разделе var я объявил одну переменную TempPanel типа TPanel. Это временная переменная, в которой будет инициализироваться новая панель. В первой же строчке кода обработчика я инициализирую эту переменную, как панель. В качестве параметра методу Create я должен передавать имя объекта, который будет являться родителем создаваемого компонента. Я передаю нашу главную форму, потому что компонент будет размещаться именно на нём.

Следующим этапом, я устанавливаю левую и правую позицию панели в координаты, где мы щёлкнули мышкой (X и Y, которые нам переданы в обработчике, указывают на точку, в которой была нажата кнопка мышки). Далее, я устанавливаю ширину и высоту панели. Я решил занести туда значение 20 (просто так захотелось).

Теперь об обработчике события TempPanel.OnMouseDown. Я туда засунул имя функции PanelMouseDown. Но такой функции нет среди стандартных функций и среди моего проекта. Поэтому мы должны её создать сами. Как это сделать эффективно? Вот тебе мой совет:

1. 1. Мы создаём обработчик для TPanel, поэтому временно поставь один экземпляр панели на форму в произвольное место.

2. 2. Создай для него обработчик на OnMouseDown и переименуй его в PanelMouseDown.

3. 3. Напиши нужный текст (я его покажу ниже) и можно удалять временно созданный на форме экземпляр TPanel.

 

Таким образом, ты можешь быть уверен, что ошибок не будет, потому что Delphi сама пропишет функцию PanelMouseDown где надо и укажет все необходимые параметры.

Если захочешь объявлять эту функцию вручную, то напиши в разделе private:

procedure PanelMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);

Объявлять можно и до private, там где объявляет Delphi обработчики событий. А ниже опиши саму функцию

procedure TForm1.PanelMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);

– Конец работы –

Эта тема принадлежит разделу:

Собственные программы ScreenSaver и закрепим максимум из пройдённого материала на полезных в реальной жизни примерах

Глава Сплошная практика...

Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: TempPanel.Width:=20; //Устанавливаю ширину TempPanel.Height:=20; //Устанавливаю высоту

Что будем делать с полученным материалом:

Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:

Все темы данного раздела:

Procedure TForm1.FormCreate(Sender: TObject); begin BGbitmap:=TBitmap.Create;//Инициализация
// Выставляем размеры картинки как у экрана BGbitmap.Width := Screen.Width; BGbitmap.Height := Screen.Height; DC := GetDC (0); Backgr

Procedure TForm1.FormCreate(Sender: TObject); begin BGbitmap:=TBitmap.Create;//Инициализация
// Выставляем размеры картинки как у экрана BGbitmap.Width := Screen.Width; BGbitmap.Height := Screen.Height; DC := GetDC (0); Backgr

If Button=mbRight then
begin index:=TPanel(Sender).Tag; TPanel(CompList.Items[index]).Free; CompList.Delete(index); for i:=index to CompList.Count -1 do TPanel(Co

Procedure TTestEditorForm.ShowHint(Sender: TObject); begin
StatusBar.Panels.Items[0].Text := Application.Hint; end; Здесь я отображаю текст текущей подсказки, который находиться в свойстве Hint объекта Application на

Procedure TTestEditorForm.ShowHint(Sender: TObject); begin
StatusBar.Panels.Items[0].Text := Application.Hint; end; Здесь я отображаю текст текущей подсказки, который находиться в свойстве Hint объекта Application на

Добавляю новый элемент в дерево вопросов with QuestionTreeView.Items.Add(nil, NewQuest.Name) do
begin ImageIndex:=0; Data:=NewQuest; end; end; В самом начале я очищаю элементы управления окна EditQuestionForm. Потом

Запускаю цикл, по которому заполняются данные списка for i:=0 to PQuestion(node.Data).ResultCount-1 do with ResultView.Items.Add do
begin Caption:=PQuestion(node.Data).ResiltText[i]; if PQuestion(node.Data).ResiltValue[i]=true then begin SubItems.Add('Да'); ImageInd

If NewTestForm.TestTypeBox.ItemIndex=0 then
begin QuestionResultForm:=TQuestionResultForm.Create(Owner); QuestionResultForm.ProjectName:=NewTestForm.TestNameEdit.Text; QuestionResultForm.Caption:=QuestionResultForm.Caption+' : '

PQuestion(QuestionList[QuestionTreeView.Selected.Index]).Name
Здесь я использую контейнер QuestionList. В квадратных скобках у него я указываю индекс элемента из контейнера, который мне нужен. Здесь я указываю индекс выделенного в дереве элемента Qu

Procedure TTestEditorForm.SaveAsMenuClick(Sender: TObject); begin if SaveDialog1.Execute then
begin TQuestionResultForm(ActiveMDIChild).FileName:=SaveDialog1.FileName; SaveButtonClick(nil); end; end; Здесь я отображаю окно выбора имени фай

Создаю новый элемент в дереве with QuestionResultForm.QuestionTreeView.Items.Add(nil, NewQuest.Name) do
begin ImageIndex:=0; Data:=NewQuest; end; end; finally //Закрываю файл fs.Free;

Private
{ Private declarations } QuestionList:TList; Question, QuestionNumber, FalseNumber:Integer; FileName:String; Разберём,

Procedure TTestForm.RunButtonClick(Sender: TObject); begin
LoadFile; QuestionNumber:=0; FalseNumber:=0; NextButton.Enabled:=true; NextQuestion;

Хотите получать на электронную почту самые свежие новости?
Education Insider Sample
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Реклама
Соответствующий теме материал
  • Похожее
  • Популярное
  • Облако тегов
  • Здесь
  • Временно
  • Пусто
Теги