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

Вниз

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 вся ветка

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

Наверх




Память: 0.45 MB
Время: 0.049 c
10-1124628776
teddy
2005-08-21 16:52
2006.11.19
Ошибка при вызове оле объекта


15-1162062209
lookin
2006-10-28 23:03
2006.11.19
Думаю, вы знаете, что когда () - меня немножко прет...


15-1162272882
Vlad Oshin
2006-10-31 08:34
2006.11.19
А не объяснит ли кто, популярно, почему произошел август 1998?


2-1162204791
Монг
2006-10-30 13:39
2006.11.19
Глюк с удалением


11-1138966981
homm
2006-02-03 14:43
2006.11.19
Обработка исключений





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский