![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Версия 2.78 [Delphi, KOL/MCK, Windows]
Vladimir Kladov © (2007-08-17 20:02:00)
Новости от 17 августа 2007 (KOL & MCK v2.78)
[-] AutoPopupMenu исправлен (не вызывался, если был назначен родителю
контрола). Примечание: исправлен не для случая NEW_MENU_ACCELL, там
проблема остаётся.
[-] Компилирование кода с включённым симвлом NEW_MENU_ACCELL
исправлено. (Хотя правильная работа с самим символом под сомнением).
[-] Исправлен двойной вызов акселератора меню при установке
Form.KeyPreview = true.
[+] Добавлен символ TOOLBAR_DOT_NOAUTOSIZE_BUTTON который
предотвращает установку флага TBSTYLE_AUTOSIZE кнопкам тулбара при
наличии префикса '.' в заголовке (в этом случае префикс удаляется).
Это изменение не влияет существенно, т.к. ширина кноки может быть
установлена свойством TBButtonWidth как обычно, в том числе и для
кнопок со стилем TBSTYLE_AUTOSIZE.
[*] Небольшие изменения в TBitmap.LoadFromStreamEx: с новым симолом
FILL_BROKEN_BITMAP обрезанный файл дополняется нулями при загрузке
(обычно - черный цвет), для предотвращения мусорных пикслей в верхней
части такой картинки. Раньше, такие битмапы просто не грузились.
[-] Использование символа USE_MENU_CURCTL исправлено до
компилируемости (т.к. некоторое время назад поле было переименовано:
FParent -> FParentMenu).
[-] MCK CanResize устанавливается в генерируемом коде после установки
размеров формы.
[+] ADD KOLDirDialogEx обновлен: с несколькими новыми символами
условной компиляции он может быть оснащен панелью ссылок, ускоряющих
переход в дереве директорий. Изменение обеспечено как для стандартного
вида, так и для интерфейса в стиле GRush (с символом USE_GRUSH). Так
же, новый символ DIRDLGEX_OPTIONAL, позволяет использовать оба вида
диалога выбора директорий - стандартный и DirDialogEx - в дном
приложении..
[+] GRAPH Animation и KOLGif обновлены: теперь они обеспечивают
кэширование масштабированных кадров для ускорения вывода (опционально,
при наличии соответствующего символа условной компиляции). Так же,
добавлено свойство MinDelay.
[+] Добавлен пакет spellCheck : модуль и демо-проект по использованию
MS Word для проверки орфографии. Вариант для VCL так же имеется в
архиве.
MTsv DN (2007-08-22 18:55:00) [21]2 homm
Я читал...только, если я за компом хотя бы раз в неделю, сейчас, бываю, это уже хорошо. Все предложения на мыло mdw.
homm (2007-08-22 18:39:00) [22]Кстати, MTsv DN, обрати внимание на [18].
homm (2007-08-22 18:38:00) [23]> А почему же отказ от SystemGradientFill устранил проблему.
«Не верь глазам своим»© :)
На самом деле эта переменная не только за градиент отвечает, она отвечает за обе функции, импортируемые из библиотеки msimg32.dll.
procedure myDrawTransparent(Bitmap: PBitmap; DC: HDC; X: Integer; Y: Integer; Color: TColor);
var bW, bH: integer;
begin
bW := Bitmap.Width;
bH := Bitmap.Height;
Color := Color2RGB(Color);
if UseSystemGradientthen
SysTransparentBlt(DC, X, Y, bW, bH, Bitmap.Canvas.Handle, 0, 0, bW, bH, Color)
else
Bitmap.DrawTransparent(DC, X, Y, Color);
end;
> мне надо было получить определённый цвет уголков
Для этого не обязательно делать компонент прозрачным, если цвет и так один и тот же.
Andrey_rus (2007-08-22 15:22:00) [24]
>>Символ RICHEDIT_XPBORDER удалён и его функцию выполняет
> GRAPHCTL_XPSTYLES.а вот это зря по-моему...
Солидарен. А много добавляет код и данные при использовании GRAPHCTL_XPSTYLES?
Vladimir Kladov (2007-08-22 15:15:00) [25]Вот оно что. А почему же отказ от SystemGradientFill устранил проблему. Я этот OuterColor присвоил, когда боролся с уголками, хотя, похоже, так и не помогло: мне надо было получить определённый цвет уголков, чтобы на кнопках которые лежат на тёмном фоне, уголки тоже были тёмные, а не светлые. Потом я просто сделал светлую панель, чтобы не мучиться, а присваивание не убрал, слишком много параметров все не запомнить зачем какое.
MTsv DN (2007-08-22 09:39:00) [26]> Я это MTsvDN говорил.
Я лишь предложил. По мне, если уж подключать поддержку тем, то одной директивой. В принципе, можно вообще на каждый контрол сделать свою директиву.
> дело даже не в самих GRAPHCTL_XPSTYLES, а в отсутствии выбора
> :)
> мне как раз всё остальное не надо, особенно белые табы,
> да еще и 13 кил кода впридачу, а вот RICHEDIT_XPBORDER сильно
> пригодился бы
Ну, не знаю. Открытый код, комменты и всякое такое прочее...возьмите и подкорректируйте KOL.PAS под свои нужды...тем более делов, несколько слов заменить. Лично я постоянно при выходе новой версии кое-где правлю код, под свои проекты. А причину, по которой предложил убрать RICHEDIT_XPBORDER, читайте выше...
GMax (2007-08-22 00:24:00) [27]>>>Символ RICHEDIT_XPBORDER удалён и его функцию выполняет GRAPHCTL_XPSTYLES.
дело даже не в самих GRAPHCTL_XPSTYLES, а в отсутствии выбора :)
мне как раз всё остальное не надо, особенно белые табы, да еще и 13 кил кода впридачу, а вот RICHEDIT_XPBORDER сильно пригодился бы
homm (2007-08-21 22:38:00) [28]
NewPanelWithSingleButtonToolbar
Очень странная, надо сказать функция. Надло же экономить системные рессурсы, а здесь 3 окна создаеться, там где можно одни обойтись. Впрочем вникать в каких извращенных ситуациях она нужна, мне не охото :)
В ней есть строкаPGRushControl( Bar.Children[0] ).All_ColorOuter := AParent.Color;
В двух словах
Закоментируйте ее.
Более пордробно
Я еше в первом письме сказал, что похоже на совпадения одного из цветов заливки с ColorOuter. Уж так устроенны граш, что этот цвет береться за прозрачный при блитинге. Я там же еще сказал, что не похоже что увас там прозрачность, потому глюк может быть в другом, но я же не знал, что там 3 контролла один на другом.
«В GRush Глюков нет!»
© Впервые использовано в личной переписке с ANTPro:)
Vladimir Kladov (2007-08-21 22:19:00) [29]LinksPanelOn := true;
Я выслал мылом проект. Мне завтра на работу рано вставать, я пошёл баиньки.
homm (2007-08-21 22:08:00) [30]Сделал так:
var
s: PStrList;
begin
s := NewStrList();
s.Add('C:\');
s.Add('d:\');
s.Add('e:\');
ODD.LinksPanelOn;
ODD.AddLinks(s);
ODD.Execute;
S.Free;
Появилась кнпочка сострелочкой плево, по нажатию на которую ничего не происходит.
homm (2007-08-21 21:58:00) [31]> DIRDLGEX_LINKSPAGE и LinksPageOn
Page -> Panel
ODD.LinksPanelOn;
ODD.Execute;
Ничего, все тот-же диалог с двумя кнопками.
Vladimir Kladov (2007-08-21 21:52:00) [32]Ну так там же в самом начале написано, что Also USE_MENU_CURCTL symbol must be added!
homm (2007-08-21 21:47:00) [33]Да что за напасть :(
procedure TOpenDirDialogEx.RemoveLinkClick(Sender: PMenu; Item: Integer);
Pn := Sender.CurCtl;
[Error] KOLDirDlgEx.pas(915): Undeclared identifier: 'CurCtl'
Vladimir Kladov (2007-08-21 21:40:00) [34]У меня на kolmck.net в архиве koladd.zip лежит, на первой странице есть. Если не вру, прямой линк: http://kolmck.net/KOLadd.zip
...Зря, конечно. Я это MTsvDN говорил. visual_xp_styles еще привирают маленько, в Zoomer я их вставить не смогЮ там привирает еще не маленько, даже с новыми исправлениями которые еще только будут в 2.79.
homm (2007-08-21 21:35:00) [35]> А мыло? Разве медленнее.
Для меня — точно да :)
Что-то я вообще туплю. KOLDirDlgEx — модуль был в сборке на kolnmck (качал отдельно KOL и MCK), но в нем нет ни DIRDLGEX_LINKSPAGE, ни LinksPageOn (проверил поиском). Думаю, может MTsv DN забыл обновить в отдельных сборках, пошел на Ваш сайт, там не нашел отдельного DirDlgEx.
GMax (2007-08-21 21:23:00) [36]>>>Символ RICHEDIT_XPBORDER удалён и его функцию выполняет GRAPHCTL_XPSTYLES.
а вот это зря по-моему...
Vladimir Kladov (2007-08-21 21:16:00) [37]А забыл: надо опцию DIRDLGEX_LINKSPAGE и LinksPageOn := true;
А мыло? Разве медленнее.
homm (2007-08-21 21:08:00) [38]Извиняюсь, что сюда, думаю так быстрее ответ получить.
Владимир, Вы писали:В новой версии достаточно создать и запустить
KOLDirDlgEx с символом USE_GRUSH (нужен ToGRush), и поводить мышкой
по кнопкам.
Я кидаю на форму KOLOpenDirDialog, ставлю у него AltDialig = TRUE, пишу ODD.Execute, запускаю, вижу явно не то, что было на скриншоте. Здесь просто дерево папок, и 2 кнопки, ок, отмена. Не тот компонент? Не те опции? Не туда смотрю?
Vladimir Kladov (2007-08-21 20:42:00) [39]Вообще, я не понял, где я напихал столько много проблов чтобы действительно стало неудобно читать мои посты. Пробелы, по-моему, могут только улучшить читабельность, но не ухудшить ее. Пробелы которые вставляются автоформатером в новостях, нужны для выравнивания текста по правому краю, и вряд ли ухудшают чтение. А в последнее время, да, я стал больше делать опечаток: мне вернули из ремонта ноутбук, а у него клавиши мельче, пальцы мимо попадают, и некоторые символы плохо пропечатываются уже, надо клаву разбирать и чистить, давно не делал (особенно '.'-'?'-'/' достаёт, нужно особенно сильно нажимать, чтобы появилась).
homm (2007-08-21 19:32:00) [40]Плюсодин :)