Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Что за сообщения такие [D6, Win95/98]


Страницы:   1 2

anod ©   (2002-08-14 11:48:00) 

CM_MOUSEENTER и CM_MOUSELEAVE, какие передаются параметры. Я посмотрел хелп, но ничего не нашел.


anod   (2002-08-14 23:08:00) [1]

2Anatoly Podgoretsky
Ууу, я там много чего смотрел, но блин не понятно, как это все в конкретную задачу вставить.


Anatoly Podgoretsky   (2002-08-14 22:25:00) [2]

Игорь Шевченко © (14.08.02 18:04)
Тогда плохо дело, но принцип все равно можно посмотреть


anod   (2002-08-14 22:08:00) [3]

2Набережных С.

Спасибо. Именно в этом и проблема.


Набережных С.   (2002-08-14 22:01:00) [4]


> anod © (14.08.02 16:55)

Попробуй так:
var EventTrack: Windows.TTRACKMOUSEEVENT;
Вдруг поможет.


Игорь Шевченко   (2002-08-14 18:04:00) [5]

Anatoly Podgoretsky © (14.08.02 17:47)

CM_MOUSEENTER/CM_MOUSELEAVE вызываются из Application.Idle (TApplication.DoMouseIdle) Сомневаюсь я, что в программу на WinApi это будет легко и просто перенести...


Anatoly Podgoretsky   (2002-08-14 17:47:00) [6]

Ты можешь подсмотреть реализацию в исходниках VCL и применить тож метод у себя в WinApi


Skier   (2002-08-14 17:38:00) [7]

>anod

Это не поможет ?


var EventTrack: PTRACKMOUSEEVENT;
begin
EventTrack := AllocMem(SizeOf(TTrackMouseEvent));
try
with EventTrack^ do begin
cbSize:=SizeOf(TTrackMouseEvent);
dwFlags:=TME_HOVER or TME_LEAVE;
hwndTrack:=B_Prev;
dwHoverTime:=HOVER_DEFAULT;
end; //with
TrackMouseEvent(EventTrack);
finally
FreeMem(EventTrack, SizeOf(TTrackMouseEvent));
end; //try
end;


anod   (2002-08-14 17:25:00) [8]

>Skier
Нет. тоже самое.

>Anatoly Podgoretsky
Ну я пишу в WM_MOUSEMOVE???


Anatoly Podgoretsky   (2002-08-14 17:16:00) [9]

anod © (14.08.02 16:31)
Тогда и сообщений этих нет


Skier   (2002-08-14 17:05:00) [10]

>anod
TrackMouseEvent(@EventTrack) ?
Хотя у меня и так работает...(у меня NT)


anod   (2002-08-14 16:55:00) [11]

Выдает ошибку
var EventTrack: TTRACKMOUSEEVENT;

EventTrack.cbSize:=SizeOf(TTrackMouseEvent);
EventTrack.dwFlags:=TME_HOVER or TME_LEAVE;
EventTrack.hwndTrack:=B_Prev;
EventTrack.dwHoverTime:=HOVER_DEFAULT;
TrackMouseEvent(EventTrack);

[Error] MPL2.DPR(172): Types of actual and formal var parameters must be identical

И ещё, мне эту функцию всего один раз нужно выполнять (при старте программы)?


anod   (2002-08-14 16:37:00) [12]

>Skier
Большое спасибо.... и за TrackMouseEvent тоже


Skier   (2002-08-14 16:35:00) [13]

>anod


TExButton = class(TButton)
private
procedure CMMouseEnter(var Message: TMessage); message
CM_MOUSEENTER;
procedure CMMouseLeave(var Message: TMessage); message
CM_MOUSELEAVE;
end; //TExButton

{ TExButton }

procedure TExButton.CMMouseEnter(var Message: TMessage);
begin
inherited;
//your code goes here...
end;

procedure TExButton.CMMouseLeave(var Message: TMessage);
begin
inherited;
//your code goes here...
end;


anod   (2002-08-14 16:33:00) [14]

Ладно, а как же обрабатывать сообщение, если TButton,
примерчик можно?


Skier   (2002-08-14 16:32:00) [15]

>anod

Тогда TrackMouseEvent...

The TrackMouseEventfunction posts messages when the mouse pointer leaves a window or hovers over a window for a specified amount of time.


anod   (2002-08-14 16:31:00) [16]

У меня программа на ВинАпи, нет там TButton


Skier   (2002-08-14 16:22:00) [17]

>Arhangel
Наследуется от TWinControl - значит оконный компонент
(он же визуальный), так что это окно- всё правильно !


Arhangel   (2002-08-14 16:20:00) [18]

А как это окно типа Button&


Arhangel   (2002-08-14 16:20:00) [19]

Абалдеть;)
А вы тут распинались:)


Skier   (2002-08-14 16:19:00) [20]

>anod
TControl-
|-TWinControl-
|-TButtonControl-
|- TButton

Иерархию классов можешь смотреть в Help-е...


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо