Автор Тема: [Баг] Неправильная работа _GUICtrlListBox_AddString  (Прочитано 2295 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн britanec74 [?]

  • Новичок
  • *
  • Сообщений: 21
  • Репутация: 8
  • Пол: Мужской
    • Награды
Сегодня заметил что функция _GUICtrlListBox_AddString сортирует список, при добавлении новой строки, даже если ListBox не имеет стиль $LBS_SORT. Строка в конец никак не попадает.
Описание в русской справке:
"Если ListBox не имеет стиль $LBS_SORT, то строка добавляется в конец списка. Иначе, строка добавляется в список и он сортируется."

Приходится использовать _GUICtrlListBox_InsertString


Пример:
Код: AutoIt [Выделить]
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <GUIListBox.au3>
#include <WindowsConstants.au3>
Opt("GUIOnEventMode", 1)
#Region ### START Koda GUI section ### Form=
$GUI = GUICreate("Form1", 302, 98, 302, 218)
GUISetOnEvent(-3, "SpecialEvents")
GUISetFont(8, 800, 0, "MS Sans Serif")
$List1 = GUICtrlCreateList("", 0, 0, 126, 97)
GUICtrlSetData(-1, '1|2|3|4|5|6')
$List2 = GUICtrlCreateList("", 175, 0, 126, 97)
$add = GUICtrlCreateButton("+", 135, 5, 30, 25)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
GUICtrlSetOnEvent($add, "add")
Func SpecialEvents()
    Select
        Case @GUI_CtrlId = $GUI_EVENT_CLOSE
            Exit
    EndSelect
EndFunc   ;==>SpecialEvents
Func add()
    _GUICtrlListBox_AddString($List2, GUICtrlRead($List1))
EndFunc   ;==>add

While 1
    Sleep(100)
WEnd

« Последнее редактирование: Январь 09, 2014, 17:02:41 от britanec74 »

Русское сообщество AutoIt

[Баг] Неправильная работа _GUICtrlListBox_AddString
« Отправлен: Январь 08, 2014, 22:32:37 »

Оффлайн madmasles [?]

  • Глобальный модератор
  • *
  • Сообщений: 7790
  • Репутация: 2314
  • Пол: Мужской
  • Награды За модерирование форума
    • Награды
  • Версия AutoIt: 3.3.x.x
Re: [Баг] Неправильная работа _GUICtrlListBox_AddString
« Ответ #1, Отправлен: Январь 08, 2014, 22:40:54 »
britanec74,
Пример дайте.

Оффлайн gregaz [?]

  • AutoIt Гуру
  • *****
  • Сообщений: 1166
  • Репутация: 298
  • Пол: Мужской
    • Награды
Re: [Баг] Неправильная работа _GUICtrlListBox_AddString
« Ответ #2, Отправлен: Январь 09, 2014, 08:01:13 »
По умолчанию устанавливается стиль , имеющий в своем составе стиль $LBS_SORT

Достаточно поставить :
Код: AutoIt [Выделить]
$List2 = GUICtrlCreateList("", 175, 0, 126, 97, ''); ''  или 0 или $WS_HSCROLL и т.п.

и все будет ОК


Добавлено: Январь 09, 2014, 08:03:05
Из справки :
Код: AutoIt [Выделить]
По умолчанию: $LBS_SORT, $WS_HSCROLL, $WS_VSCROLL, $WS_BORDER    

« Последнее редактирование: Январь 09, 2014, 08:12:27 от gregaz »
Самая большая проблема – её сформулировать. 

Оффлайн AZJIO [?]

  • VIP
  • *
  • Сообщений: 2712
  • Репутация: 1137
    • мой сайт
    • Награды
  • Версия AutoIt: 3.3.8.1
Re: [Баг] Неправильная работа _GUICtrlListBox_AddString
« Ответ #3, Отправлен: Январь 09, 2014, 08:47:44 »
gregaz
Там 0, чтобы лишний раз не вызывать приведение типа данных.

Русское сообщество AutoIt

Re: [Баг] Неправильная работа _GUICtrlListBox_AddString
« Ответ #3 Отправлен: Январь 09, 2014, 08:47:44 »

Оффлайн britanec74 [?]

  • Новичок
  • *
  • Сообщений: 21

  • Автор темы
  • Репутация: 8
  • Пол: Мужской
    • Награды
Re: [Баг] Неправильная работа _GUICtrlListBox_AddString
« Ответ #4, Отправлен: Январь 09, 2014, 17:01:28 »
Спасибо за ответы.
Да, невнимательно прочел справку. Что стоит по умолчанию  не посмотрел.

Русское сообщество AutoIt

Re: [Баг] Неправильная работа _GUICtrlListBox_AddString
« Ответ #4 Отправлен: Январь 09, 2014, 17:01:28 »

 

Похожие темы

  Тема / Автор Ответов Последний ответ
13 Ответов
5695 Просмотров
Последний ответ Декабрь 31, 2010, 00:54:22
от CreatoR
12 Ответов
4761 Просмотров
Последний ответ Ноябрь 28, 2012, 21:21:05
от Belfigor
11 Ответов
3377 Просмотров
Последний ответ Февраль 28, 2013, 19:09:13
от InnI
3 Ответов
2696 Просмотров
Последний ответ Март 21, 2013, 17:55:11
от InnI
0 Ответов
2006 Просмотров
Последний ответ Июнь 17, 2013, 00:41:36
от CreatoR
2 Ответов
1853 Просмотров
Последний ответ Декабрь 11, 2014, 01:37:30
от damien2008
13 Ответов
2716 Просмотров
Последний ответ Август 04, 2015, 18:19:29
от Yashied
1 Ответов
2056 Просмотров
Последний ответ Октябрь 06, 2015, 07:21:42
от madmasles
0 Ответов
617 Просмотров
Последний ответ Октябрь 06, 2015, 06:57:21
от Yashied
1 Ответов
1586 Просмотров
Последний ответ Июнь 02, 2016, 07:49:06
от F9