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

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

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

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

Рік:
2011
Тип роботи:
Лабораторна робота
Предмет:
Інші

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

Міністерство освіти і науки України Національний університет «Львівська політехніка»  Лабораторна робота №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.
Антиботан аватар за замовчуванням

31.03.2013 00:03-

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Ділись своїми роботами та отримуй миттєві бонуси!

Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!
Нічого не вибрано
0%

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

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

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

Admin

26.02.2023 12:38

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