DevioLabавтоматичне керування капіталом
ПРАЦЮЄ 24/7
КРИПТОВАЛЮТИ · АКЦІЇ · 10 БІРЖ

Портфель, який керується автоматично

DevioLab підбирає стратегії, відстежує ринки та автоматизує купівлю і продаж активів. Кількість доступних криптовалют, акцій і торгових можливостей зростає щодня.

10підключених біржCrypto + Stocksв одному портфелі24/7автоматичний контроль

Створення проекту з використанням технології Drag&Drop та контекстних підказок

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Інститут комп’ютерних наук та інформаційних технологій
Факультет:
КН
Кафедра:
Кафедра програмного забезпечення

Інформація про роботу

Рік:
2011
Тип роботи:
Лабораторна робота
Предмет:
Програмування
Група:
КН-31
Коротко про документ

Про що ця робота

У цій лабораторній роботі досліджується технологія Drag&Drop та використання контекстних підказок у середовищі Delphi. Наведено лістинг програми для переміщення елементів між компонентами ListBox.

У роботі розглядаються

  • Технологія Drag&Drop
  • Контекстні підказки
  • Компонент ListBox
  • Обробники подій у Delphi
  • Програмування інтерфейсу
  • Візуальні компоненти
  • Обмін даними між елементами

Зміст і розділи

  1. Мета
  2. Порядок роботи
  3. Короткі теоретичні відомості
  4. Питання для самоконтролю
  5. Теоретичні відомості
  6. Завдання
  7. Код програми
Для кого:Студенти технічних спеціальностей вищих навчальних закладів, які вивчають програмування.
Викладачі:Викладач

Ключові поняття

Drag&Dropконтекстна підказкаDelphiListBoxобробник подійTControlHintShowHintDragOverDragDrop

Частина тексту файла (без зображень, графіків і формул):

Міністерство освіти і науки України Національний університет «Львівська політехніка»  Лабораторна робота №5 Створення проекту з використанням технології Drag&Drop та контекстних підказок Лабораторна робота № 5 Створення проекту з використанням технології Drag&Drop та контекстних підказок Мета: навчитися використовувати можливості технології Drag&Drop у прикладних програмах, додавати до програм контекстні підказки. Порядок роботи: Користуючись рекомендованою літературою до лабораторної роботи створити проект відповідно до індивідуального завдання. Оформити звіт для захисту лабораторної роботи за зразком назва роботи мета роботи порядок роботи короткі теоретичні відомості алгоритм розв’язку задачі тексти відповідних модулів проекту аналіз отриманих результатів та висновки Питання для самоконтролю 1. У чому полягає технологія Drag&Drop? Наведіть приклади її застосування. 2. Які властивості та події об'єктів Delphi використовуються при програмуванні технології Drag&Drop? 3. Яке призначення обробників подій OnDragOver та OnDragDrop? 4. Як перевірити можливість передачі інформації між об'єктами? 5. Що таке "контекстна підказка", як передбачити можливість доступу до неї в ужитку? Теоретичні відомості Технологія Drag&Drop Технологія Drag&Drop полягає у використанні у Windows-програмах перетаскування за допомогою миші інформації з одного об'єкта (джерела) в інший (приймач). Можна переміщати файли між папками, переміщати самі папки і т. ін. Усі властивості, методи та події, пов'язані з технологією Drag&Drop, визначені в класі TControl, що є базовим класом (прабатьком) усіх візуальних компонент Delphi. Тому вони є спільними для всіх компонент. Контекстна підказка. Контекстна підказка - це невелике віконце з текстом, яке з'являться за деякий час після наведення курсору миші на певний об'єкт на формі. Для різних об'єктів текст може бути різним, тому підказка називається контекстною. Для створення такої підказки у програмі слід задати значення властивості Hint (рядкового типу) для відповідного об'єкта, а також установити у True значення його властивості ShowHint. Ці дії можна виконати як у процесі проектування так і програмно. Завдання. Написати програму, яка показує можливості технології Drag&Drop для заданих об'єктів - джерела та приймача. Необхідну інформацію для користувача програми оформити у вигляді контекстної підказки. Варіанти завдання ListBox ListBox. ВИКОНАННЯ  КОД ПРОГРАМИ unit Unit1; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, ExtCtrls, StdCtrls, ComCtrls, Grids, ShellAPI, OleCtnrs, ImgList, Buttons, DBGrids, Db, DBTables; type TForm1 = class(TForm) ListBox1: TListBox; ListBox2: TListBox; Label3: TLabel; Label4: TLabel; procedure FormCreate(Sender: TObject); procedure ListBox2DragOver(Sender, Source: TObject; X, Y: Integer; State: TDragState; var Accept: Boolean); procedure ListBox2DragDrop(Sender, Source: TObject; X, Y: Integer); procedure ListBox1DragOver(Sender, Source: TObject; X, Y: Integer; State: TDragState; var Accept: Boolean); procedure ListBox1DragDrop(Sender, Source: TObject; X, Y: Integer); procedure FormDestroy(Sender: TObject); private public { Public declarations } end; var Form1: TForm1; implementation {$R *.DFM} procedure TForm1.FormCreate(Sender: TObject); var i, j: integer; s: string; item: TListItem; begin DragAcceptFiles(Handle, true); Randomize; for i := 1 to 10 do begin s := ''; for j := 1 to 5 do s := s + chr(Random(26) + 65); listbox1.Items.add(s); listbox2.items.add(IntToStr(random(1000))); end; end; procedure TForm1.ListBox2DragOver(Sender, Source: TObject; X, Y: Integer; State: TDragState; var Accept: Boolean); begin Accept := (Source is TListBox) and ((Source as TListBox).ItemIndex >= 0); end; procedure TForm1.ListBox2DragDrop(Sender, Source: TObject; X, Y: Integer); var s: string; begin if Source = ListBox1 then begin ListBox2.Items.Add(ListBox1.Items[ListBox1.ItemIndex]); ListBox1.Items.Delete(ListBox1.ItemIndex); end else begin s := ListBox2.Items[ListBox2.ItemIndex]; ListBox2.Items.Delete(ListBox2.ItemIndex); ListBox2.Items.Insert(ListBox2.ItemAtPos(Point(X, Y), False), s); end; end; procedure TForm1.ListBox1DragOver(Sender, Source: TObject; X, Y: Integer; State: TDragState; var Accept: Boolean); begin Accept := (Source = ListBox2) and (ListBox2.ItemIndex >= 0); end; procedure TForm1.ListBox1DragDrop(Sender, Source: TObject; X, Y: Integer); var i: integer; begin for i := 0 to ListBox2.Items.Count - 1 do if (ListBox2.Selected[i]) and (ListBox1.Items.IndexOf(ListBox2.Items[i]) < 0) then ListBox1.Items.Add(ListBox2.Items[i]); end; procedure TForm1.FormDestroy(Sender: TObject); begin DragAcceptFiles(Handle, False); end; end.
Допоможи студентському архіву

Ми допомогли тобі — допоможи наступному студенту

Файл ще не обрано

Оголошення від адміністратора

Антиботан аватар за замовчуванням

Подякувати Студентському архіву довільною сумою

Admin

26.02.2023 12:38

Дякуємо, що користуєтесь нашим архівом!