Есть потребность в ProcessDialogEvent получить общее количество элементов.
Не нашёл другой возможности, кроме как вызывать DM_GETDLGITEM(SHORT) до тех пор, пока для очередного ID не вернётся FALSE.
Я что-то упускаю? Или это нормальная практика?
Как узнать количество элементов в диалоге?
- NightRoman
- Posts: 6034
- Joined: Fri 18 Aug, 2006 13:52
- Location: Cambridge, UK
- Has thanked: 20 times
- Been thanked: 49 times
- Contact:
Как узнать количество элементов в диалоге?
Делаю так же, другого способа не нашел. Вряд ли это нормальная практика. Наверное, просто мелкая недоработка.
Как узнать количество элементов в диалоге?
при инициализации диалога:
Code: Select all
evt == far.Flags.DE_DLGPROCINIT and fde.Msg == far.Flags.DN_INITDIALOG
Но они есть, если обращаться по индексу:
Code: Select all
far.GetDlgItem(hDlg, i)
Динамическое или заданное изменение размеров ВСЕХ диалогов, меню, списков в зависимости от размера консоли, а ткж сдвиг
Ну лично я обошелся workaround-м, но отмечаю что хотелось бы получать все что нужно более консистентно
Если же прогонять ваш кода в макросе (не в евенте), то там да,
все будет уже хорошо, но уже поздно и не нужно

Last edited by Xerox on Tue 10 Dec, 2019 21:05, edited 1 time in total.
-
- Posts: 2285
- Joined: Sat 20 Apr, 2013 00:17
- Location: Питер
- Has thanked: 139 times
- Been thanked: 245 times
- Contact:
Как узнать количество элементов в диалоге?
Хотя тема старая, но вдруг кто-то наткнётся поиском .
Ответ на первое сообщение темы -
Ответ на первое сообщение темы -
Dlg.ItemCount
- zg
- zero-gravity
- Posts: 5878
- Joined: Tue 15 Mar, 2005 17:36
- Location: riga
- Been thanked: 158 times
- Contact:
Как узнать количество элементов в диалоге?
этот ответ есть в третьем сообщении.buniak_a_h wrote: ↑Tue 10 Dec, 2019 22:40 Хотя тема старая, но вдруг кто-то наткнётся поиском .
Ответ на первое сообщение темы -Dlg.ItemCount