170 похожих чатов

Ну и в целом, в каком-нибудь гуи почему бы порядок

обхода элементов интерфейса по табуляции не собрать в двусвязный список, например? Элементы у нас уже есть, выделять ничего не надо, то есть просто структура со ссылками на следующий/предыдущий, практически бесплатная.

11 ответов

28 просмотров

а зачем если можно просто ссылки на все сохранить в одном месте?

evle- Автор вопроса
evle- Автор вопроса
Алиса Кассель-Королёва
как что, итерироваться

Зачем нам итерироваться? Давай пример. Представим себе, что мы — Qt и нам надо рисовать и делать всякое с интерфейсом. У нас есть выбранный элемент, на него где-то лежит ссылка. Ползователь нажал кнопку Tab, соответственно, надо выбрать следующий элемент. Как нам это сделать?

evle- Автор вопроса
Tishka17
Вспомнился recycle view а ведроиде

Я подозреваю, что как раз во всякой интерфейсной фигне будет полно таких примеров. Тут как раз тот случай, когда данные сами по себе выглядят как связный список и наше дело его уже как-то реализовать.

evle
Зачем нам итерироваться? Давай пример. Представим ...

ну у тебя есть условный вектор с ссылками на элементы по которым можно табать

evle- Автор вопроса
evle
Отлично, допустим есть, что дальше?

ну и хранишь себе курсор в нём и двигаешь куда надо

evle- Автор вопроса
Алиса Кассель-Королёва
ну и хранишь себе курсор в нём и двигаешь куда над...

Ок. У нас в процессе работы программы появилась (всплыла) ещё одна кнопка. Что делать?

Похожие вопросы

Обсуждают сегодня

а через ESC-код ?
Alexey Kulakov
29
30500 за редактор? )
Владимир
47
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
program test; {$mode delphi} procedure proc(v: int32); overload; begin end; procedure proc(v: int64); overload; begin end; var x: uint64; begin proc(x); end. Уж не знаю...
notme
6
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
вы делали что-то подобное и как? может есть либы готовые? увидел картинку нокода, где всё линиями соединено и стало интересно попробовать то же в ddl на lua сделать. решил с ч...
Victor
8
Ребят в СИ можно реализовать ООП?
Николай
33
Подскажите пожалуйста, как в CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); получить наз...
A Z
7
Карта сайта