Як використовується контекстне меню в windows. Контекстне меню, буфер обміну і основні операції в Windows

З усіма об'єктами, які розташовані на робочому столі, з кожним або папкою, можна зробити безліч дій і операцій. Саме звичне - це запуск. Для цього варто лише клацнути 2 рази лівою кнопкою миші на потрібному об'єкті.
  Але можливих дій існує величезна кількість. Будь-яку папку, або скажімо, значок, можна створити, перейменувати, видалити, перемістити і копіювати. Для будь-якого об'єкта можна зробити ярлик. А ще можна змінювати зовнішній вигляд і властивості. Загалом, список виходить значний.
  Універсального списку дій немає. Для кожного об'єкта, або групи об'єктів, існує свій набір можливих операцій. Хіба що, базові, на зразок копіювати, можна застосовувати практично до всіх.
  Як же нам побачити список того, що ми можемо зробити з тим чи іншим об'єктом. Все просто, клацніть по ньому правою кнопкою миші, і ви побачите контекстне меню windows. Воно запропонує вам доступні операції. Тепер клацайте по потрібної рядку лівою кнопкою миші.
  Строго кажучи, описати контекстне меню, дуже складне завдання. Почасти, тому, що як ми вже згадували вище, універсального меню немає. Інша ж причина в тому, що при установці програм, змінюються деякі пункти контекстного меню. Припустимо, ви встановили додатковий текстовий редактор. Якщо ви викличете контекстне мене для файлу з текстовою інформацією, пункт «відкрити за допомогою» поповнитися, там буде ярлик знову встановленої програма.
  Але деякі пункти контекстного меню windows, можна зустріти практично завжди. На них варто зупинитися детальніше.
Вирізати.  Завдяки цьому пункти, ви можете тимчасово переміщати об'єкт в так званий. Це в нагоді вам, коли є необхідність перемістити об'єкт з одного місця в інше. Цим можна користуватися і стосовно частини документа - виділіть шматочок тексту, застосуйте до нього дію вирізати, і перемістіть в інший документ.
Копіювати.  Цей пункт практично аналогічний попередньому, з тією лише відмінністю, що в буфер обміну операційна система помістити не саме файл, а його копію. Звідси застосування - якщо вам потрібен дубль об'єкта в відмінному від вихідного, місці, дія копіювати буде вам якраз до речі.
Вставити. Завдяки цій функції, ми будемо брати з буфера обміну, поміщений туди раніше об'єкт, і вставляти його цілком, або деякі фрагменти, в потрібне нам місце.
Властивості.  Вибравши цей рядок, ви зможете дізнатися безліч інформації про об'єкт: дата створення, розмір, місце розташування і тд. Більшість властивостей об'єкта є для зміни.
Створити ярлик.  Використовуючи цю функцію, ми створимо об'єкт, який буде зберігати в собі покажчик місця розташування основного об'єкта, а також служити засобом запуску.
Вилучити.  Деякий об'єкт перестав бути необхідний? Надішліть його в кошик, або видаліть назавжди, натиснувши Shift + Del.
Перейменувати.  При необхідності, задайте за допомогою цього пункту потрібно ім'я для об'єкта, або змініть його.

На сторінці заголовка ви можете вказати параметри макета, які повністю відрізняються від загального компонування об'єкта. Ви можете встановлювати кольори в залежності від стану заголовка. Ви можете встановити індивідуально забарвлені і неактивні кольору незалежно.

Натисніть кнопку «Колір фону» або «Колір тексту», щоб відкрити діалогове вікно «Колірна область». Ви можете вибрати колір або колір градієнта в діалоговому вікні «Кольорова область» в якості кольору фону. Колір тексту може бути визначений як константні або обчислені кольорові функції кольору.

Отже, підбиваючи підсумок можна сказати наступне - контекстне меню windows, це набір дій і властивостей для обраного об'єкта.

300 Глава 18. Контекстні меню і режим контекстних дій

перетворимо тип результату getMenuInfo () і отримуємо детальну інформацію про вибраний елемент списку, включаючи його позицію в наборі даних. Позиція використовується для отримання шуканого об'ектаCrime.

Встановлювати значення в пікселях. Спеціальні значки Багато команд меню пунктів меню можуть бути налаштовані як значки заголовків. Щоб вибрати команди, які відображаються як значки заголовків, встановіть прапорець зліва від відповідних команд в списку. При додаванні спеціальних значків в заголовок, будьте обережні. Відображення занадто великої кількості значків бентежить користувачів.

Безкоштовно Ммм - менеджер програми контекстна система меню об'єктів, таких як диски, папки, файли, фон робочого столу, меню Пуск. Його роль полягає в ущільнення на основі появи меню приховує непотрібні записи. Ні колір маркерів в меню не такі ж, як нездатність пройти це конкретне меню редагування. Клацання в верхньому лівому кутку «кола» запускає відповідну панель управління, яка вибрані елементи, перетягувати розділи: Приховані предмети або рідко використовуються.

Відкрийте програму CriminalIntent, додайте новий злочин і видаліть його довгим натисканням. (Щоб імітувати довге натискання в емуляторі, потримайте ліву кнопку миші до появи меню.)

Реалізація режиму контекстних дій

Код, написаний нами для видалення злочину з контекстного меню, буде працювати на будь-якому пристрої Android. Наприклад, на рис. 18.2 показано контекстне меню на пристрої з Jelly Bean.

Закривши результати модифікації в фотографії. Інтерфейс розділений на дві тематичні групи, і всередині оболонки покриття малий підрозділ описового вхідний сигнал членства. Програма не враховує вбудовані системні команди. Тільки бере до уваги записи в контекстному меню додається зовнішніми додатками і в об'єкті вузького діапазону. Швидкий Провідник - Потужний менеджер контекстного меню, що поєднує в собі функції очисних споруд. Програма має вбудовану підтримку 64-бітові платформи.

Він поставляється у вигляді установки і портативної. На жаль, домашня сторінка мертва. Всі версії можуть заплутати сервера хардварних. Деактивация і очищення меню. Це єдиний додаток з них, що дає можливість не тільки відключити, але і пряме і постійне видалення об'єктів, а також в широкому колі питань. Таке лікування може бути як заздалегідь певні команди, вбудовані в систему, а також вторинні об'єкти, додані зовнішніми додатками. Прибирання викладена на кількох модулів.

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

Відповідна функціональність є інструментом для створення вашого власного меню, групуючи набір додатків. Є два можливих типу меню: статичні елементи і елементи підміню. Обсяг маніпуляцій включає в себе: будівництво каскаду, розділити на сепараторах, розташування порядок елементів в будь-якому режимі або в алфавітному порядку, нагороджуючи їх власні іконки, настроювати кольори і шрифти. При додаванні додатки до будь-якого типу меню надається за замовчуванням «Все файли».

У списку правій панелі, ви можете змінити розташування меню на користь інших визначених системних об'єктів або певного типу розширення. Додаток не вимагає установки і є рідною 64-розрядної версії. У програмі це завантажити русифікатор. Беруться до уваги не тільки класичне контекстне меню файлів, але і інші певні розширення, а також всі інші програми, які не можуть бути призначені відомим типам. У список включені як власні розширення, так і додаткові розширення, додані додатками.

Мал. 18.3. Контекстна панель дій з'являється при довгому натисненні

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

дій класи і методи, недоступні в Froyo і Gingerbread, тому необхідно простежити за тим, щоб в таких ситуаціях цей код не викликався.

Додаткові кольори пофарбовані програмою в рожевому. Він також може відображатися червоним кольором, тому програма сигналізує дуже підозрілі об'єкти, які або мають незвичайне розширення, або нетиповий атрибут, і можуть бути результатом зараження. Всі об'єкти докладно описані. Це основне додаток, що використовується мною на діагностичному форумі.

Важливо відзначити, що програма має власний 64-розрядний варіант. При запуску він відображає список всіх виявлених елементів в реєстрі. Через характеру меню, коли запис включена, негайне відкриття контекстного меню не буде відображати зміни, тільки відтворення цього запису матиме ефекти.

множинне виділення

Коли вистава списку знаходиться в режимі контекстних дій, ви можете включити режим множинного виділення елементів списку. Будь-яка дія, вбрання на контекстній панелі дій, буде застосовуватися до всіх виділених уявленням.

У методі призначте поданням списку режімCHOICE_MODE_MULTIPLE_MODAL. Використовуйте константи версії збірки для відділення коду, регістрірующегоListView, від коду, який призначає режим виділення.

Лістинг 18.6. Призначення режиму виділення

public View onCreateView (LayoutInflater inflater, ViewGroup parent, Bundle savedInstanceState) (

View v = super.onCreateView (inflater, parent, savedInstanceState);

ListView listView = (ListView) v.findViewById (android.R.id.list);

if (Build.VERSION.SDK_INT< Build.VERSION_CODES.HONEYCOMB) {

// Контекстні меню для Froyo і GingerbreadregisterForContextMenu (listView);

) Else (

// Контекстна панель дій для Honeycomb і вищеlistView.setChoiceMode (ListView.CHOICE_MODE_MULTIPLE_MODAL);

Методи зворотного виклику режиму дій в поданні списку

Наступний крок - призначення для ListView слухача, що реалізує інтерфейс AbsListView.MultiChoiceModeListener. Цей інтерфейс містить наступний метод, який викликається при виділенні або скасування виділення уявлення.

public abstract void onItemCheckedStateChanged (ActionMode mode, int position, long id, boolean checked)

інтерфейс MultiChoiceModeListener реалізує інший інтерфейс -ActionMode. Callback . Коли екран переходить в режим контекстних дій, створюється екземпляр класуActionMode, а методи ActionMode.Callback викликаються в різних точках життєвого циклуActionMode. ActionMode.Callback містить чотири обов'язкових методу:

public abstract boolean onCreateActionMode (ActionMode mode, Menu menu)

302 Глава 18. Контекстні меню і режим контекстних дій

Викликається при створенні ActionMode. Саме тут заповнюється ресурс контекстного меню, яке буде відображатися на контекстній панелі дій.

public abstract boolean onPrepareActionMode (ActionMode mode, Menu menu)

Викликається після onCreateActionMode (...) і кожен раз, коли існуючу контекстну панель дій необхідно актуалізувати новими даними.

public abstract boolean onActionItemClicked (ActionMode mode, MenuItem item)

Викликається, коли користувач вибирає дію. Тут програмується обробка контекстних дій, визначених у ресурсі меню.

public abstract void onDestroyActionMode (ActionMode mode)

Викликається перед знищенням ActionMode через те, що користувач скасував режим дій або обрану дію було оброблено. Реалізація за замовчуванням знімає виділення з уявлення (-й). Ви також можете оновити фрагмент будь-якої необхідної інформації про те, що сталося в режимі контекстних дій.

У методі CrimeListFragment.onCreateView (...)призначте слухача, реалізующегоMultiChoiceModeListener для подання списку. У нашому випадку щось робити

потрібно тільки в методахonCreateActionMode (...) і onActionItemClicked (ActionMode, MenuItem).

Лістинг 18.7. Призначення слухача MultiChoiceModeListener (CrimeListFragment.java)

listView.setChoiceMode (ListView.CHOICE_MODE_MULTIPLE_MODAL); listView.setMultiChoiceModeListener (new MultiChoiceModeListener () (

public void onItemCheckedStateChanged (ActionMode mode, int position, long id, boolean checked) (

// в цій реалізації

// Методи ActionMode.Callback

public boolean onCreateActionMode (ActionMode mode, Menu menu) (MenuInflater inflater = mode.getMenuInflater (); inflater.inflate (R.menu.crime_list_item_context, menu); return true;

public boolean onPrepareActionMode (ActionMode mode, Menu menu) (return false;

// Метод є обов'язковим, але не використовується

// в цій реалізації

public boolean onActionItemClicked (ActionMode mode, MenuItem item) (switch (item.getItemId ()) (

case R.id.menu_item_delete_crime:

CrimeAdapter adapter = (CrimeAdapter) getListAdapter (); CrimeLab crimeLab = CrimeLab.get (getActivity ());

for (int i = adapter.getCount () - 1; i\u003e = 0; i--) (

if (getListView (). isItemChecked (i)) (crimeLab.deleteCrime (adapter.getItem (i));

adapter.notifyDataSetChanged (); return true;

public void onDestroyActionMode (ActionMode mode) (

// Метод є обов'язковим, але не використовується

// в цій реалізації

)); return v;

Якщо ви використовували функцію автозаповнення Eclipse для створення цього інтерфейсу, зверніть увагу: заглушка, згенерувала для onCreateActionMode (...), возвращаетfalse. Обов'язково змініть значення, що повертається наtrue; возвращеніеfalse скасовує створення режиму дій.

У коді методу onCreateActionMode (...) зверніть увагу на те, що ми отримуємо екземплярMenuInflater від об'ектаActionMode, а не від активності. Режим дій містить детальну інформацію для налаштування контекстної панелі дій. Наприклад, визовActionMode.setTitle (...) дозволяє призначити контекстної панелі дій спеціальний заголовок. Об'ектMenuInflater активності не знатиме про це заголовку.

Мал. 18.4. Другий і третій елемент списку виділені