Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.11.19;
Скачать: CL | DM;

Вниз

KOLButton.OnEnter & OnLeave ???   Найти похожие ветки 

 
ECM ©   (2006-02-06 19:03) [0]

Столкнулся тут с упущением (?!!! как раньше не замечал - не пойму)
Не работают нотификации OnEnter и OnLeave для TKOLButton,TKOLCheckBox
и TKOLBitBtn. И OnMouseDblClk для TKOLButton и TKOLCheckbox.
Как оказалось,в функциях New для всех них упущен (?!) флаг
BS_NOTIFY без которого, события BN_SETFOCUS,BN_KILLFOCUS
(а для не BS_OWNERDRAW и) BN_DBLCLK, не генерируются системой.
Тем более обидно, что обработка этих событий уже давно встроена
в KOL. (Radiobox - один из "рода Button-ов" отрабатывает их
успешно)
После добавления оного флага во  все функции - всё стало на место.
Каких-то доп. багов пока не обнаружено...

{$IFDEF ASM_VERSION}
function NewBitBtn( AParent: PControl; const Caption: String;
...
       MOV      ECX, WS_VISIBLE or WS_CHILD or WS_TABSTOP or BS_OWNERDRAW
or BS_NOTIFY
       CALL     _NewControl
...
{$ELSE ASM_VERSION} //Pascal
function NewBitBtn( AParent: PControl; const Caption: String;
...
 f := WS_VISIBLE or WS_CHILD or BS_OWNERDRAW or WS_TABSTOP or BS_NOTIFY;  
Result := _NewControl( AParent, "BUTTON", f, False, @ButtonActions );

{$IFDEF _ASM_VERSION}
function NewButton( AParent: PControl; const Caption: String ): PControl;
...
       MOV      ECX, WS_VISIBLE or WS_CHILD or BS_PUSHLIKE or WS_TABSTOP
or BS_NOTIFY
       CALL     _NewControl
...
{$ELSE ASM_VERSION} //Pascal
function NewButton( AParent: PControl; const Caption: String ): PControl;
begin
 Result := _NewControl( AParent, "BUTTON",
           WS_VISIBLE or WS_CHILD or BS_NOTIFY or
           BS_PUSHLIKE or WS_TABSTOP, False, @ButtonActions );

{$IFDEF ASM_VERSION}
function NewCheckbox( AParent: PControl; const Caption: String ): PControl;
...
       MOV      [EAX].TControl.fStyle, WS_VISIBLE or WS_CHILD or
BS_AUTOCHECKBOX or BS_NOTIFY or WS_TABSTOP
...
{$ELSE ASM_VERSION} //Pascal
function NewCheckbox( AParent: PControl; const Caption: String ): PControl;
...
 Result.fStyle := WS_VISIBLE or WS_CHILD or BS_NOTIFY or
           BS_AUTOCHECKBOX or WS_TABSTOP;

Размер кода сие - не увеличивает...:)


 
Vladimir Kladov   (2006-02-06 21:15) [1]

учту, утечку и уникож победил, оьновлние сегодня не успеваю оформить, завтра теперь.



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

Текущий архив: 2006.11.19;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.075 c
1-1160398467
CDfdfgf
2006-10-09 16:54
2006.11.19
Tms "xlsadapter" - что это?


3-1158649941
PEAKTOP
2006-09-19 11:12
2006.11.19
BLOB+HTML


3-1158426208
Fostr
2006-09-16 21:03
2006.11.19
SQL - Update


9-1137507692
kavis
2006-01-17 17:21
2006.11.19
адресный регистр


2-1162383769
ice321i
2006-11-01 15:22
2006.11.19
Компонент TIdFTP