Хорошо, давайте остановимся на том, что описанное поведение AkelPad связано с ошибкой стандартного Microsoft ListCtrl при использовании стиля LVS_EX_GRIDLINES в ComCtrl6 (XP). Какие у кого есть варианты?VladSh wrote:opk44
Я об этом писал здесь. После обновления до preSP4 этот баг прошёл, похоже, что всё-таки это было связано с "внутренностями" Винды.
Вариант 1: Продолжать жаловаться на Microsoft и ничего не делать. (Вариант хорош уже тем, что можно ничего не делать :) ).
Вариант 2: Дождаться когда ВСЕ установят SP3 и баг рассосется сам-собой. Нереалистично. Да и размер 3-го сервиспака, если кому интересно, больше 300Мб. Тем кто платит помегабайтно, накладно выйдет.
Вариант 3: Если как следует из слов FeyFre "у программиста нет доступа к оконной процедуре Контрола List Control", то в наличии доступа к оконной процедуре того окна, на котором этот Контрол расположен сомневаться не приходиться. Почему бы тогда не обрабатывать нужные события в ней и не обновлять в ответ на них все окно целиком? (Например при потере приложением фокуса, и его последующем восстановлении, примерно это и происходит, в результате чего сетка восстанавливается).
Вариант 4: Придумать что-то еще.
P.S. Уважаемый FeyFre! Ища виноватого Вы самому себе противоречите.
Но ListCtrl используется не "сам по себе", а размещен на окне "Плагины". Окно "Плагины" является "начальником", а ListCtrl - "подчиненным". Так вот начальник должен отвечать за своих подчиненных. Это принцип управления. Допустим качество работы, выполненной подчиненным, начальника не устраивает. Тогда он либо вынужден выполнять эту работу сам, либо должен уволить этого подчиненного и нанять более квалифицированного. Других вариантов у него нет. Если кассир обсчитал покупателя в магазине, то покупатель идет требовать возмещения с менеджера или с директора магазина, а не идет к маме того кассира с требованием родить нового."И чья это вина? Того окна которое их не обрабатывает..."
То же и с программированием. Если Вы разместили чей-то готовый элемент на СВОЕМ окне, то Вы его "наняли", и с этого момента только ВЫ отвечаете за его поведение в ВАШЕЙ программе.