1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/zlgopen-awtk

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
how_to_handle_drop_file_event.md 1.4 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 28.11.2024 22:52 91e8897

Как обрабатывать событие перетаскивания файла в окно

Если на ПК перетащить файл из системного файлового браузера в окно AWTK, то будет вызвано событие EVT_DROP_FILE. Это событие будет распространено на объект диспетчера окон и текущий объект окна, и можно выбрать цель регистрации события в соответствии с требованиями.

Использование метода

  • Регистрация события:
widget_on(win, EVT_DROP_FILE, window_on_drop_file, win);
  • Реализация функции обработки события:
static ret_t window_on_drop_file(void* ctx, event_t* e) {
  widget_t* win = WIDGET(ctx);
  widget_t* label = widget_lookup(win, "filename", TRUE);
  drop_file_event_t* drop = drop_file_event_cast(e);

  widget_set_text_utf8(label, drop->filename);

  return RET_OK;
}

Можно получить имя файла из события drop_file_event_t filename. Если перетащено несколько файлов, событие будет вызываться несколько раз.

Полный метод использования см.: demos/demo_ui_old_app.c

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/zlgopen-awtk.git
git@api.gitlife.ru:oschina-mirror/zlgopen-awtk.git
oschina-mirror
zlgopen-awtk
zlgopen-awtk
master