Alexyz21
Silver Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору shmuz В ходе экспериментов с диалогом LF Search: Replace в редакторе выяснилось, что если ресайзить диалог far.SendDlgMessage hDlg,F.DM_RESIZEDIALOG,0,{X:DlgWidth,Y:db-dt+1} , то изменяется и X2 у DI_DOUBLEBOX - приходится это учитывать, а предположительно после отрисовки DI_TEXT SEPARATOR (тип -1, X2=0) корректируются X2 у других DI_EDIT на величину ресайзинга, по крайней мере в отрицательную сторону. Неодинаковое поведение при сжатии/растяжении диалогов Диалог EditSearch: [win.Uuid"5D3CBA90-F32D-433C-B016-9BB4AF96FACC"]: {1,2.3,3.3,5,7,12.1,13.1} --editsearch , 5 означает 5-й Item X2 выровнять по правой границе, так как иначе Х2 останется прежним: Оригинальный диалог, выравнивание правой границы (Х2) не требуется, diff=0, 1 symbol=10 pixels: Диалог после растяжения, Х2 нужно увеличить на величину растяжения diff=48: Диалог после сжатия и коррекции на величину растяжения, которая теперь отрицательная - опа, корректировать не надо было! Т.е. FAR сам уже скомпенсировал разницу, причём округлил её вверх, а не вниз, как в остальных расчётах, из-за чего разница увеличилась на 1. Почему FAR делает компенсацию только при сжатии - непонятно. (DlgWidth=текущий размер диалога, ex=Оригинальный размер до сжатия, diff - разница между ними: | Всего записей: 3693 | Зарегистр. 16-06-2007 | Отправлено: 11:55 13-09-2019 | Исправлено: Alexyz21, 16:21 13-09-2019 |
|