Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "KOL";
Текущий архив: 2005.11.06;
Скачать: [xml.tar.bz2];

Вниз

версия 2.06   Найти похожие ветки 

 
Владимир Кладов   (2005-03-06 17:24) [0]

Новости от 6 марта 2005 года

Новости KOL и MCK (v2.06):
[*]KOL: функция Int2Ths несколько изменена и использует глобальную переменную ThsSeparator. По предложению Дмитрия Жарова a.k.a. Gandalf. Так же, asm-версия этой функции исправлена для случая отрицательного аргумента.
[-]MCK: исправлена опечатка в наименовании свойства GenerateSeparatorConstants (когда проект будет загружен в Delphi IDE после пересборки пакета, следует игнорировать все предупреждения).
[-]MCK: функция TKOLDataModule.Result_Form исправлена ECM (для случая USE_NAMES генерировался неверный код: nil.Name := ...).
[+]MCK: добавлено свойство TKOLListBox.LBItemHeight - автор ECM.
[-]KOL: исправлена функция TStream.WriteStrEx (теперь возвращает число записанных байтов).
[-]KOL: испрвлена функция NewGroupbox (asm-версия: начальный размер по умолчанию вычислялся неверно). Так же удалены ненужные стили окна (WS_GROUP, WS_TABSTOP) и устанавливается (новый) флажок fIsGroupBox (protected).
[*]KOL: для TabControl-а, изменение текущей закладки более не приводит к ее фокусирования (так как такое изменение могло быть выполнено программно из вашего кода, а не только по клику мыши).
[*]KOL: изменен метод TControl.SetRadioChecked для предотвращения фокусирования радиобокса, если этот метод вызывается из программы, а не в результате клика мыши.
[-]KOL: при наборе контролов, попадающих  список для табулирования (Tabulate) контролы, имеющие дочерние табулируемые контролы, сами из списка теперь исключаются и более не фокусируются кнопкой табуляции.
[-]KOL: AutoSize изменен для WordWrap-контролов и для них автоматически меняет теперь только свойство Height.
[-]KOL: исправлен метод TBitmap.SetHandle.
[+]KOL: добавлены метод TList.AddItems и еще одна функция-конструктор: NewListInit.
[*]KOL: объекты TListEx, TWStrList, TWStrListEx, TMetafile, TDirChange, TCabFile, TAction, TActionList и сопутствующие функции, а так же функции WStrCopy, WStrCmp перемещены в модуль KOLadd.pas для сохранения размера модуля KOL.pas в пределах ограничения 65535 строк (иначе отладчик Delphi отказывается работать с модулем, вплоть до краха Delphi IDE).
[+]KOL: добавлен метод-функция TControl.MakeWordWrap.
[*]KOL: метод TControl.CreateWindow преобразован из процедуры в функцию (boolean) и может возвращать false - для безоконных контролов.
[+]KOL: добавлен набор графических контролов, с конструкторами-функциями: NewGraphLabel, NewWordWrapGraphLabel, NewGraphPaintBox, NewGraphCheckBox, NewGraphRadioBox, NewGraphButton, NewGraphEdit. MCK: добавлено свойство windowed для TKOLLabel, TKOLCheckBox, TKOLRadioBox, TKOLEditBox, TKOLPaintBox. Так же, свойство WordWrap доступно теперь для TKOLCheckBox, TKOLRadioBox, TKOLButton, хотя имеет эффект только для их безоконных версий (когда windowed = false). При добавлении в свойства проекта символа условной компиляции GRAPHCTL_XPSTYLES, графические контролы отрисовываются с использованием текущей темы под XP, и когда добавлен символ GRAPCTL_HOTTRACK, они еще и маркируются визуально при наведении мыши (если GRAPHCTL_XPSTYLES так же уже включен), и при этом втором символе для графических контролов работают события OnMouseEnter / OnMouseLeave.
  Вид и поведение графических контролов такие же (или очень похожи) по сравнению с обычными оконными, хотя они не имеют дескриптора окна. Это может экономить так называемые "user resources" (несущественно для NT/2K/XP) и повышать быстродействие для форм, имеющих большое число таких дочерних элементов. Так же, графические контролы имеют дополнительные преимущества: события OnPrePaint / OnPaint / OnPostPaint, для большинства из них действует свойство WordWrap, а кнопка может содержать иконку вместе с тектом.
[*]KOL: изменение свойств TControl.Enabled, Parent, BoundsRect теперь вызывает Invalidate. Это необходимо для правильной работы графических контролов.
[*]KOL: процедура TerminateExecution объявлена в интерфейсной части KOL.pas. Это позволяет переопределить свою процедуру взамен Run слегка изменив ее код (например, увеличить приоритет обработки некоторых сообщений выбирая их из очереди сообщений первыми). 
[+]KOL: для формы добавлено свойство KeyPreview (автор - truf), требуется включить так же символ условной компиляции KEY_PREVIEW в опции проекта. Нет специального свойства MCK, просто событие OnKeyDown срабатывает для формы до обработки WM_KEYDOWN в фокусном контроле.

Прочие новости:
[*]обновлено инструментальное приложение DiffLines (работает быстрее, исправлен вид для XP) и теперь с исходниками в дистрибутиве. См. в Инструментах.


 
Boguslaw Brandys   (2005-03-06 18:22) [1]

Bug in 2.06 (after update from 2.00 but it no matter I think)
I cannot install MCK 2.06 into Delphi 5.0 Standart

{$IFDEF ASM_VERSION}
//[function TControl.GetCaption]
function TControl.GetCaption: String;

line 36761 KOL.pas

push [edi] ???

Maybe should be :

push edi

Could You fix this ?

Regards
Boguslaw Brandys


 
Boguslaw Brandys   (2005-03-06 18:24) [2]

Soory. I didn"t write what an error occur:

"Invalid combination of opcode and operands"


 
Владимир Кладов   (2005-03-06 19:16) [3]

forget to test it for earlier Delphi.

push dword ptr [edi]

must be there for these.


 
Владимир Кладов   (2005-03-06 19:24) [4]

там еще глючок: KEY_PREVIEW и ESC_CLOSE_DIALOGS "must be" для pas-версии, иначе неприятности: begin с end"ом не в паре оказываются. Сейчас еще глюков накопаем, обновление выйдет в ближайшие дни.


 
BelchonokH   (2005-03-06 20:51) [5]

C версии 1.97 не обновляюсь, только из-за одного бага, который я у себя поправил, я писал и раньше на счёт этого (прошу прощения если это уже исправлено). А дело вот в чём, сейчас в kol.pas:

function WndProcMouse(Self_: PControl; var Msg: TMsg; var Rslt: Integer): Boolean;
var MouseData: TMouseEventData;
begin
 Result := False;
 ...
   X := LoWord( Msg.lParam );
   Y := HiWord( Msg.lParam );
   Button := mbNone;


А должно быть (чтобы при MouseMove возвращалась правильно нажатая клавиша):


 ...
   X := LoWord( Msg.lParam );
   Y := HiWord( Msg.lParam );
   Button := TMouseButton(Msg.wParam);


Большая просьба Владимиру Кладову, поправьте плиз!!! А то столько обновлений и наворотов вышло, а этот глюк исправлять постоянно не хочется, вот и сижу на старой версии...


 
Vladimyr ©   (2005-03-07 03:04) [6]

Присоединяюсь!
Владимир, исправьте, пожалуйста, также глюки Form.Caption и ComboBox.OnChar!
http://delphimaster.net/view/11-1109622535/
http://delphimaster.net/view/11-1109622535/


 
Владимир Кладов   (2005-03-07 08:38) [7]

про комбобокс возражений нет, этот кусок компилится только при включенном USE_DROPDOWNCOUNT

для сообщений мыши анализируйте Shift, wParam там содержит комбинацию флажков нажатых кнопок, приведение к типу TMouseButton не имеет смысла и неверно. А mbNone - просто дает более короткий код.


 
ECM ©   (2005-03-07 09:37) [8]

2Владимир Кладов   (07.03.05 08:38) [7]
А глюк с Form.Caption и Form.Cursor в MCK?
По-моему это "опечатка"  - и ее бы надо исправить...
Или тут есть более глубокие завязки? :)


 
ECM ©   (2005-03-07 09:44) [9]

2Владимир Кладов   (06.03.05 19:24) [4]
>Сейчас еще глюков накопаем, обновление выйдет в ближайшие дни.
Я тут обнаружил, что большая часть почты с предложениями об исправлениях, "тихо умерла" в анти-спамовой заглушке моего
провайдера. Прошу дождаться моего письма плз.


 
Владимир Кладов   (2005-03-07 09:53) [10]

c not в MCK - я исправил, в обновлении будет. Хотя у меня и так работало. Почему-то.


 
ECM ©   (2005-03-07 14:04) [11]

>Владимир Кладов   (07.03.05 08:38) [7]
>про комбобокс возражений нет, этот кусок компилится только при >включенном USE_DROPDOWNCOUNT

Непонятно утверждение о USE_DROPDOWNCOUNT. О каком исправлении
речь?
Это про исправление в WndProcCombo для фильтрации в OnChar?
Или я что-то пропустил?
Вроде бы в пределах кода ограниченного USE_DROPDOWNCOUNT сообщений об ошибках небыло


 
SPeller ©   (2005-03-07 15:18) [12]

Вообще, USE_DROPDOWNCOUNT делал я для того чтобы исправить баги с количеством итемов в выпадающем списке комбобоксов при включенных темах.


 
ECM ©   (2005-03-07 16:10) [13]

[kol.pas]
По-моему в ASM-версию TControl.SetParent вкралась опечатка,
блок условной компиляции подключается неверно:
{$IFDEF INPACKAGE} - необходимо поменять знак условия ->{$IFNDEF INPACKAGE}
... в PAS-версии все в порядке...


 
Paha   (2005-03-07 19:09) [14]

Дайте прямую ссылку на версию 2.06 а то в Инструментах не найти.


 
Владимир Кладов   (2005-03-07 19:45) [15]

Новости KOL & MCK
                          от 7 марта 2005 года

Новости от 7 марта 2005 года

Новости KOL и MCK (v2.07):

[-]KOL/MCK: некоторые исправления для того, чтобы новая версия KOL/MCK
устанавливалась для старых версий Delphi и для Free Pascal.

[-]MCK:  исправлена  установка  Caption  и  Cursor  для Form из Object
Inspector-а, исправил ECM.

[-]KOL: исправлена фунгкция WndFuncCombo, исправил ECM.

[-]KOL: исправлена функция GetFileListStr, исправил Сергей Шишминцев.

[+]KOL:  добавлен  символ  условной  компиляции  PROVIDE_EXITCODE,   с
которым  PostQuitMessage(  value  )  присваивает переданное параметром
значение   глобальной   переменной  ExitCode,  по  предложению  Сергея
Шишминцева.

[+]KOL:  добавлен  символ  условной компиляции INITFORMSIZE_FIXMENU, с
которым  начальный  размер формы при ее создании во время выполнения в
точности  соответствует  заданному  во  время  разработки (MCK), в том
числе для форм с главным меню.

[+]KOL:  добавлено  свойство  TControl.Check3  для чекбоксов со стилем
BS_AUTO3STATE, код предложил Сергей Шишминцев.

[+]KOL: добавлено свойство TControl.LVFocusItem.

[+]KOL:   добавлены  новые  стили  odEditBox  и  odNewDialogStyle  для
TOpenDirDialog, автор Сергей Шишминцев.

[*]KOL:  функция  StrLoadFromFile  может теперь читать из специального
"файла"  "CON" (перенаправление консольного в/в), код предложил Сергей
Шишминцев.

[+]MCK: добавлено свойство TKOLComboBox.CBItemHeight, автор ECM.

[+]KOL/MCK:   если   установлен   флаг   TPM_RETURNCMD   (MCK:   опция
tpmReturnCmd)  при  вызове TMenu.PopUp (MCK: в TKOLPopupMenu.Options),
функция PopUp возвращает ID выбранного пункта меню, автор ECM.

Прочие новости:

[-]исправлен   UpdateMaker   (вычисление   контрольной   суммы  иногда
выполнялось неверно). См. новую версию в Инструментах.


 
ECM ©   (2005-03-07 19:59) [16]

>Paha   (07.03.05 19:09) [14]
>Дайте прямую ссылку на версию 2.06 а то в Инструментах не найти.

А причем здесь Инструменты? :) Надо искать в Обновлениях

http://bonanzas.rinet.ru/upd/kolmck205to206.zip
http://bonanzas.rinet.ru/upd/kolmck200to206.zip
http://bonanzas.rinet.ru/upd/kolmck206to207.zip
http://bonanzas.rinet.ru/upd/kolmck200to207.zip


 
Владимир Кладов   (2005-03-07 20:34) [17]

по поводу граф. контролов: не стоит их класть на других родителей кроме самой формы, панели, паинт-бокса (когда он сам windowed) и групбокса (и то для групбокса с дочерними граф. контролами пришлось его полностью рисовать своим кодом). А так вообще результат очень хороший если на форме штук 50 контролов "заменить" их графическими аналогами, особенно заметно на чуть более слабых машинах. Заменить в кавычках потому что вся замена сводится к установке windowed в false в инспекторе объектов.

Если есть желающие довести до графической аналогии еще пару-тройку контролов, я за. Первоочередные кандидаты: bitbtn, combobox, imageshow. Еще предложения?


 
Paha   (2005-03-07 20:36) [18]

>>ECM
Дап мне не нужны апдейты. Мне надо готовую полную версию KOL+MSK 2.07.


 
Paha   (2005-03-07 20:36) [19]

>>ECM
Да мне не нужны апдейты. Мне надо готовую полную версию KOL+MSK 2.07.


 
SPeller ©   (2005-03-07 21:19) [20]

Paha   (07.03.05 20:36) [19]
Да мне не нужны апдейты. Мне надо готовую полную версию KOL+MSK 2.07

А нету такой! Обновляй 2.0 до нужной.


 
ECM ©   (2005-03-07 21:20) [21]

>Мне надо готовую полную версию KOL+MSK 2.07.

Такой версии нет, и очевидно на сайте у Кладова не будет.
Так что, качай KOL v2.00 + MCK v2.00 + KOLAdd + Updater + update 2.00 to 2.07.
А никто и не обещал, что будет легко :)


 
gent   (2005-03-07 22:49) [22]

В версии 2.06 ошибка в TBitmap.SetHandle (см. http://delphimaster.net/view/11-1109622535/ ) исправлена, но...
Дана программа:

var bmp: PBitmap;

procedure TForm1.KOLForm1FormCreate(Sender: PObj);
 begin bmp := NewBitmap(0, 0);
       bmp.LoadFromResourceName(hInstance, "BMP");
 end;

procedure TForm1.KOLForm1Paint(Sender: PControl; DC: HDC);
 begin bmp.DrawTransparent(DC, 0, 0, clFuchsia); end;

Здесь "BMP" - 16-цветный битмап.
Эта программа прекрасно работает (transparent!) под Windows 98 при трансляции через KOL 2.03 и выдает полную ерунду при KOL 2.06. Варианты с NewDIBBitmap, DrawMasked и т.п. не помогают...


 
gent   (2005-03-07 22:50) [23]

Предлагается добавить следующее свойство для TKOLDateTimePicker.

protected
 procedure SetSystemTime(Value: TSystemTime);
 function GetSystemTime: TSystemTime;
public
 property SystemTime: TSystemTime read GetSystemTime write SetSystemTime;

........................

procedure TControl.SetSystemTime(Value: TSystemTime);
 begin Perform(DTM_SETSYSTEMTIME, GDT_VALID, Integer(@Value)); end;

function TControl.GetSystemTime: TSystemTime;
 begin Perform(DTM_GETSYSTEMTIME, 0, Integer(@Result)); end;

_SYSTEMTIME - это естественный для данного "контрола" формат данных и, если нужно работать с элементами времени/даты, совершенно ни к чему таскать за собой преобразования в TDateTime и/или обратно.


 
thaddy   (2005-03-07 23:17) [24]

DateTimepicker is a Windows API! control and behaves like MS intended. It is good as it is, since it behaves the same as in every other application.


 
Paha   (2005-03-07 23:32) [25]

>> ECM
Так что, качай KOL v2.00 + MCK v2.00 + KOLAdd + Updater + update 2.00 to 2.07
KOL 2.00 + MCK 2.00 + KOLAdd + Update 2.00-->2.07 - скачал. А что делать с файлом kolmck200to207.upd ?? Как обновить? Напишите подробнее...
Можт нужен Updater? Только вот где его искать?


 
gent   (2005-03-08 00:44) [26]

> Thaddy.
Yes, of course, WinAPI. So what? If you look to code of KOLDateTimePicker, you see that you can get/set data only as TDateTime, although native format if _SYSTEMTIME. The property proposed is called to get/set original values avoiding unnecessary conversions to TDateTime and backward.


 
gent   (2005-03-08 00:48) [27]

>Paha
>Можт нужен Updater? Только вот где его искать?

http://bonanzas.rinet.ru/r_tools.htm


 
dimaxx ©   (2005-03-08 23:09) [28]

Версия KOLadd - 2.04. А где обновление до 2.07? Ведь уже давно вижу в описаниях нововведений строчки о переносе из KOL в KOLadd. А когда можно увидеть эти переносы в KOLadd?


 
fellix   (2005-03-09 00:15) [29]

> dimaxx
> Версия KOLadd - 2.04 ...

Это на bonanzas так написано, а реально качается последняя версия.


 
Ал   (2005-03-09 08:25) [30]

Ребята, вы все, конечно, правильно тут рассуждаете. Только почему такая тишина по поводу того, что начиная с 1.92 KOL не идет на Pentium 200 и более ранних. Я об этом уже не раз писал. К сожалению, моей квалификации на поиск и исправление не хватит. Но авторы-то знают, где копать. Или от этого тихо отказались? Зря! Таких настольных систем и нотебуков еще немало. Особенно, как ни странно - там, у них! К тому же однозначно прослеживается тенденция - чем новее KOL, тем пухлее exe. А в начале говорили - не-е-е!
Очень хочется KOL 2, чтобы работал на старых Pentium!
С уважением.


 
MTsv DN   (2005-03-09 08:31) [31]

В версии 2.06 и 2.07 не работает компонент BAPFileBrowser.
Ошибка: Unknown identifier PDirChange.
Что делать?

С Уважением MTsv DN


 
ECM ©   (2005-03-09 09:03) [32]

MTsv DN   (09.03.05 08:31) [31]
В версии 2.06 и 2.07 не работает компонент BAPFileBrowser.
Ошибка: Unknown identifier PDirChange.
Что делать?


unit KOLBAPFileBrowser;
...
interface

uses Windows, Messages, KOL, KOLAdd;


 
miek ©   (2005-03-09 09:49) [33]

aL>начиная с 1.92 KOL не идет на Pentium 200 и более ранних

Идет, я недавно запускал на P-133 MMX. Было только несколько не работающих на старых процах версий около номера 1.98...


 
Ал   (2005-03-09 09:58) [34]

Для miek
Если быть точным, то 1.93 уже не идет на P200, Win95.
Да и к чему такая точность! Хочется, чтобы 2.XX работала!


 
ECM ©   (2005-03-09 11:04) [35]

2Ал
Версия 1.93 в этом плане отличается от 1.92 (и это обсуждалось
в данной конференции) использованием новых команд процессора CMOVx. Естественно эти команды должны вызывать "жуткий" вылет
на процессорах ее не понимающих (типа P200).
Посмотри следующее:
1) Не задается ли где-нибудь по тексту $DEFINE USE_CMOV?
2) Включи отладочную информацию в опциях компилятора, затем
  открой модуль kol.pas и поищи все строки где встречается
  CMOV. Если код их использующий попадает в исполняемый
  модуль, слева (на сером фоне) должна появляться синяя
  точка, показывающая, что в данном месте можно ставить
  breakpoint.

В твоем случае код с CMOV НЕ должен подключаться в исполняемый модуль!


 
ECM ©   (2005-03-09 11:11) [36]

З.Ы. 2Ал
Опция USE_CMOV появилась начиная с версии 1.97.
Поэтому версии 1.93-1.96 будут иметь этот эффект.
Правда только при условии, что используется Delphi6
или выше.


 
azsd ©   (2005-03-09 12:05) [37]

is it possible port the MCK to delphi 2005?
pure kol seems working fine in d2005.


 
uuzh ©   (2005-03-09 18:29) [38]

Интересный эффект для версии 2.07
Если назначить для editbox, label или PainBox windowed:=false
После чего во время выполнения поменять Caption/Text/Color - эффект "0", ничего не меняется.


 
dimaxx ©   (2005-03-09 19:29) [39]

2 fellix: Это в файле написано, а не на сайте. На сайте Владимир мог и забыть поменять.


 
BelchonokH   (2005-03-09 20:26) [40]

Скачал себе версию 2.07, всё бы ничего, только появилась туча вопросов!
1) Скачал KOLadd, собрал MCK, открыл проект с ActonList, пытаюсь собрать, выдает: Undeclared identifier TKOLActionList и показывает на строку
 TKOLActionList = PActionList;
 TKOLAction = PAction;
в MCKFakeClasses.inc ну и конечно не собирается :( Как это поправить?
2) Не происходит событий OnMouseEnter/OnMouseLeave для Panel, как их можно вызвать? (GRAPCTL_HOTTRACK не помогает)

2 Владимир Кладов: с  Shift и wParam для событий мыши СПАСИБО, глаза открыли!!!


 
ECM ©   (2005-03-09 20:43) [41]

BelchonokH   (09.03.05 20:26) [40]

TKOLActionList = PActionList;
TKOLAction = PAction;
в MCKFakeClasses.inc ну и конечно не собирается :( Как это поправить?


Только что отправил Кладову письмо:
Здравствуйте, Vladimir.

Обнаружил "проблемку" с ActionList в 2.07
Связана с переносом его в KOLAdd.

Могу предложить сл. решение:

[KOLAdd.pas]

добавить объявления:
 ...
 TKOLAction = PAction;
 ...
 TKOLActionList = PActionList;

[mirror.pas]

все строки содержащие:

 := "uses Windows, Messages, ShellAPI, KOL"
 
заменить на
 := "uses Windows, Messages, ShellAPI, KOL, KOLAdd"

 
У себя проверил - пока без замечаний...

Добавка KOLAdd в Uses - код не увеличит :)


 
BelchonokH   (2005-03-09 21:05) [42]

2 [17] Владимир Кладов   (07.03.05 20:34)

Я на счёт ГрупБокса, когда нём лежат граф.контролы, и используются темы оформления, рамка групбокса перечеркивает его Caption, в таком виде при нажатии на него, он превращается в кнопку, так же стирая все граф. контролы лежащие на нём!


 
fellix   (2005-03-09 22:09) [43]

> [39] dimaxx
"... не верь глазам своим" (Козьма Прутков)
Значит в файле тоже ошибка. Знаю, потому как у KOLadd 2.04 от 21 декабря размер порядка 30К, а у последнего больше 90К. Плюс дата - 5 марта. Плюс все "переносы" в нем присутствуют. Сказано же: "качается последняя".


 
thaddy   (2005-03-09 22:17) [44]

It is fabulous, as are the new incremental updates!
Thank you Vladimir!


 
BeZ   (2005-03-10 00:57) [45]

>+]KOL: добавлен набор графических контролов, с конструкторами-
>функциями: NewGraphLabel, NewWordWrapGraphLabel,
>NewGraphPaintBox, NewGraphCheckBox, NewGraphRadioBox,
>NewGraphButton, NewGraphEdit.

извините за тупость, но как этим пользоваться? это в MCK доступно или использовать на чистом КОЛ? и что вообще это дает? можно ли с помошью этого сделать кнопку с картинкой и отобразить ее в стиле ХР?


 
BelchonokH   (2005-03-10 07:10) [46]

2 BeZ [45]

Похоже сделать то можно и кнопку с картинкой и даже в KOL, а даёт оно см. [17]

2 Владимир Кладов

Остались две непонятныё вещи:
см. [40] 2)
и ещё одно, если файл KOLadd.pas был создан что бы уменьшить основной KOL.pas в размерах, то зачем его было отдельно выкладывать? может его лучше в архив КОЛ"а положить? тогда будешь точно уверен, что скачана нужная версия и искать его по сайту не придётся...


 
SPeller ©   (2005-03-10 07:24) [47]

BelchonokH   (10.03.05 7:10) [46]
может его лучше в архив КОЛ"а положить

Поддерживаю.


 
ECM ©   (2005-03-10 09:17) [48]

Я думаю все-таки сначала неплохо бы "привести в порядок"
графические контролы - пока все сыровато - (может быть еще
на паре версий) - а потом вместе c KOLAdd выложить полный архив


 
Владимир Кладов   (2005-03-10 16:34) [49]

правильнее с TAction так:

{$IFDEF KOL_MCK}
type
 TKOLAction = PAction;
 TKOLActionList = PActionList;
{$ENDIF}

- прямо в KOLadd;

в mirror.pas в декларацию TKOLAction добавляется функция AdditionalUnits и добавляет KOLadd. Это все штатные средства для добавления "своих" контролов.

Для групбокса да перечеркнут, подправлю, но в кнопку не превращается, не получилось так сделать. Примерчик может вышлете, минимально достаточный?

Кто-нибудь хочет предложить код, чтобы новые AutoSize рисовались правильно в дизайн-тайм, мне совсем этим неинтересно озадачиваться.


 
BelchonokH   (2005-03-10 22:09) [50]

Отправил примерчик письмом, Могу даже сказать, что ГрупБокс превращается скорее всего не в кнопку, а панель... хотя не знаю.
И всё таки вопрос, поскольку боюсь Вам письмом некогда будет отвечать, то спрошу тут ещё раз: OnMouseEnter/Leave для Панелей, то что их не происходит, это глюк текущей версии, или так всегда теперь будет?


 
ECM ©   (2005-03-11 11:02) [51]

Владимир Кладов   (10.03.05 16:34) [49]
в mirror.pas в декларацию TKOLAction добавляется функция AdditionalUnits и добавляет KOLadd.


Маленькое уточнение. Я бы добавил KOLAdd еще и в TKOLActionList.
(При пустом ActionList - будет выскакивать ошибка, хотя тут достаточно будет создать хотя бы один Action, но все-таки...)

 TKOLAction = class(TKOLObj)
 ...
 protected
   function  AdditionalUnits: String; override;
 ...

 TKOLActionList = class(TKOLObj)
 ...
 protected
   function  AdditionalUnits: String; override;
 ...

function TKOLAction.AdditionalUnits: String;
begin
 Result := ", KOLAdd";
end;

function TKOLActionList.AdditionalUnits: String;
begin
 Result := ", KOLAdd";
end;


 
Владимир Кладов   (2005-03-11 14:18) [52]

манифест нужен, даже если _XPSTYLES. Иначе смысл-то какой - граф. контролы будут в стиле ХР, а все остальное - ugly classic? :) А с манифестом все работает правильно.


 
Владимир Кладов   (2005-03-11 21:33) [53]

Вообще имеет смысл сделать глобальную переменную DoNotDrawGraphCtlsUsingXPStyles, чтобы даже при включенном стиле в опциях все равно можно было отключить XP-like-рисование. Применение тут такое: если манифест лежит отдельно, то это делается обычно для того, чтобы дать возможность юзеру удалить/переместить его куда-нибудь и прога снова стала выглядеть в классике несмотря на. Тогда прога могла бы определить наличие отсутствия манифеста в директории запуска и установить true в этой переменной например при запуске.

С групбоксом я немного поборолся все-таки даже для этого случая. Не будет превращаться в кнопку. (Вообще-то в API groupbox это как раз и есть кнопка, просто для XP-стилей пришлось убрать соответствующий флажок в стиле контрола, иначе слишком сильно фликал он, постоянно перерисовываясь даже при проведении мышью).


 
BelchonokH   (2005-03-11 21:52) [54]

А как же OnMouseEnter/Leave для Панелей, это будет исправлено или самому надо вертеться? (ну просто очень надо нать, а то у меня скины так на мышь реагируют)


 
thaddy   (2005-03-11 23:45) [55]

You can use the OnMouseMove event from the form on which the graphcontrols are and use the BoundsRect of the Graphcontrols to test if the mouse is in it. The BoundsRect is relative to the owning form or control. If you need a canvas, that would defeat the purpose of the graph controls:economize on resources!


 
Sniper17   (2005-03-12 01:17) [56]

почему-то у меня на метке перестал работать Wordwrap =(
т.е в дизайн-тайм он работает нормально, а в запущеном приложении не работает =(


 
Владимир Кладов   (2005-03-12 08:03) [57]

А как же OnMouseEnter/Leave для Панелей, это будет исправлено или самому надо вертеться? (ну просто очень надо нать, а то у меня скины так на
мышь реагируют)
пример? почему-то у меня работают


 
BelchonokH   (2005-03-12 09:58) [58]

Хм, то ли я так криво установил новую версию... Про метку я тоже уже писал, а вот у меня теперь и в дереве узлы не добавляются... наверное стоит плюнуть на всё и ждать более новую версию...


 
BelchonokH   (2005-03-12 21:29) [59]

2 [57] Владимир Кладов   (12.03.05 08:03)

Опс, извиняюсь! Действительно работают! Оказалось что просто перестало автоматом происходить событие OnPaint при OnMouseEnter/Leave, что как я понимаю очень хорошо! для данного случая пришлось принудительную перерисовку поставить.



Страницы: 1 2 вся ветка

Форум: "KOL";
Текущий архив: 2005.11.06;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.63 MB
Время: 0.04 c
2-1129273740
Andry
2005-10-14 11:09
2005.11.06
CGI


2-1129132504
Scarlet
2005-10-12 19:55
2005.11.06
как забрать данные?


2-1129054161
quadronik
2005-10-11 22:09
2005.11.06
Корректировка данных


9-1119430602
FUNKy
2005-06-22 12:56
2005.11.06
Потомок TGLActor , корректное создание run-time


1-1129650168
Рагим
2005-10-18 19:42
2005.11.06
Как получить данные из listbox который находится в dll





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский