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

Вниз

Как нормально заставить работать CM_MOUSELEAVE   Найти похожие ветки 

 
tytus ©   (2007-03-26 15:01) [0]

Доброго дня. Есть форма в длл, показываемая модально. Событие cm_mouseenter срабатывает нормально, а вот CM_MOUSELEAVE - не хочет. Нужно  для установки флага (boolean), по которому на канву формы копируется то один, то другой рисунок (BitBlt).


 
GrayFace ©   (2007-03-26 15:09) [1]

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


 
Loginov Dmitry ©   (2007-03-26 15:15) [2]

> а вот CM_MOUSELEAVE - не хочет


Что, прям совсем ни разу не срабатывает?


 
tytus ©   (2007-03-26 15:19) [3]

private  
   procedure CmMouseEnter(var Msg:TMessage);message CM_MOUSEENTER;
   procedure CmMouseLeave(var Msg:TMessage);message CM_MOUSELEAVE;

begin

...

procedure TSForm.CmMouseEnter(var Msg:TMessage);
begin
MM:=true;
end;

procedure TSForm.CmMouseLeave(var Msg:TMessage);
begin
MM:=false;
//можно вставить
//MessageBox(Handle,"Leave","...",MB_OK+MB_SYSTEMMODAL);
// и масаги небудет. Только если форма потеряет фокус ввода (кликнуть)
// гдето-на десктопе, то сработает и месаг появится!
end;


 
Жуков Олег   (2007-03-26 15:37) [4]

В MouseEnter вставь:

var
 EventTrack: TTrackMouseEvent;
...

 EventTrack.cbSize := SizeOf(EventTrack);
 EventTrack.dwFlags := TME_LEAVE;
 EventTrack.hwndTrack:= Handle;
 EventTrack.dwHoverTime := HOVER_DEFAULT;
 TrackMouseEvent(EventTrack);


 
tytus ©   (2007-03-26 15:55) [5]

>Жуков Олег   (26.03.07 15:37) [4]
Супер! Спасибо!


 
Loginov Dmitry ©   (2007-03-26 15:56) [6]

Добавь таймер. Через каждые 100 - 200 мс проверяй, находится ли мыша на форме, или вне ее пределов.

А сообщением CM_MOUSELEAVE особо не загоняйся. Жди, когда борландцы подправят в VCL способы оповещения с помощью CM_MOUSELEAVE, или же извращайся другими, но работающими способами.


 
Loginov Dmitry ©   (2007-03-26 16:59) [7]


> [4] Жуков Олег   (26.03.07 15:37)


Работает для голой формы. Если растянуть на форме к примеру TImage, то работать перестает. Технологии, млин!


 
Eraser ©   (2007-03-26 19:31) [8]

> [0] tytus ©   (26.03.07 15:01)
> Доброго дня. Есть форма в длл, показываемая модально.

убрать форму из ДЛЛ и проблема решиться сама-собою.


 
Loginov Dmitry ©   (2007-03-26 19:59) [9]

> убрать форму из ДЛЛ и проблема решиться сама-собою.


Не решится. Дело здесь не в ДЛЛ.



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

Форум: "Основная";
Текущий архив: 2007.05.20;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.061 c
15-1176812625
@!!ex
2007-04-17 16:23
2007.05.20
Помогите собрать багажник на пятерку!


15-1177055966
Rule
2007-04-20 11:59
2007.05.20
библиотека для работы с XML через SQL


2-1177622294
SerJaNT
2007-04-27 01:18
2007.05.20
Сохранить в csv


2-1177506224
Abcdef123
2007-04-25 17:03
2007.05.20
Прошу прокомментировать, и дать совет, как сделать лучше


15-1177325971
mrhx
2007-04-23 14:59
2007.05.20
VISG: visual and smart GUI builder.





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