Главная страница
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.056 c
3-1158587784
Vedem
2006-09-18 17:56
2006.11.19
Почему IF @@ERROR <> 0 не выполняется


15-1162462262
psa247
2006-11-02 13:11
2006.11.19
Договор купли-продажи программы


11-1139146742
Ganda1f
2006-02-05 16:39
2006.11.19
STL для дельфи (тестируем)


3-1158662881
SergP
2006-09-19 14:48
2006.11.19
Oracle и Port Mapping. Не могу подключиться...


2-1162197366
Piero
2006-10-30 11:36
2006.11.19
TDBLookUpComboBox