Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.026 c
2-1162459517
olevacho_
2006-11-02 12:25
2006.11.19
Компоненты для обработки html страниц


1-1160396740
IMHO
2006-10-09 16:25
2006.11.19
Быстрый поиск в двоичном файле


15-1162378180
SpellCaster
2006-11-01 13:49
2006.11.19
Фотографии Макинтоша


2-1162193174
STARiK
2006-10-30 10:26
2006.11.19
Удаленное изменение структуры dbf


2-1162396394
Gamer
2006-11-01 18:53
2006.11.19
Консоль+Окна




   Наверх