|
Вопрос # 6 552/ вопрос открыт / |
|
Здравствуйте!
Как узнать, что курсор мыши находится над меню, пунктом меню?
 |
Вопрос задал: nikolaich (статус: Посетитель)
Вопрос отправлен: 12 августа 2014, 17:05
Состояние вопроса: открыт, ответов: 0.
|
Мини-форум вопроса
Всего сообщений: 26; последнее сообщение — 13 августа 2014, 20:23; участников в обсуждении: 2.
Страницы: [1] [2] [Следующая »]
|
min@y™ (статус: Доктор наук), 12 августа 2014, 17:21 [#1]:
Вот так пробовал?
Или, может, подойдёт Application.OnHint?
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
|
min@y™ (статус: Доктор наук), 12 августа 2014, 17:30 [#2]:
Ещё есть мессадж WM_MENUSELECT.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
|
nikolaich (статус: Посетитель), 12 августа 2014, 19:36 [#3]:
WM_MENUSELECT - когда нажал и выделил.
А мне надо знать когда курсор над меню.
Как сделать, чтобы меню сразу открывалось не при щелчке на нём, а при наведении курсора.
|
|
min@y™ (статус: Доктор наук), 12 августа 2014, 20:07 [#4]:
Цитата (nikolaich):
Как сделать, чтобы меню сразу открывалось не при щелчке на нём, а при наведении курсора.
Как вариант:
Цитата (min@y™):
Или, может, подойдёт Application.OnHint?
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
|
nikolaich (статус: Посетитель), 13 августа 2014, 14:09 [#5]:
Не понимаю, чем мне может помочь Application.OnHint
|
|
min@y™ (статус: Доктор наук), 13 августа 2014, 14:34 [#6]:
Цитата (nikolaich):
Не понимаю, чем мне может помочь Application.OnHint
Я даже знаю, почему не понимаешь: потому что не пробовал и примеры в интырнете не анализировал. Даже в хэлпе delphi пример есть.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
|
nikolaich (статус: Посетитель), 13 августа 2014, 15:25 [#7]:
Просто, наверное, Доктору наук рассуждать, чем помочь.
А чем я занимался сутки - именно тем, что искал, чтобы не получить вот такого ответа. Любите вы все поумничать...
|
|
min@y™ (статус: Доктор наук), 13 августа 2014, 16:11 [#8]:
Цитата (nikolaich):
Просто, наверное, Доктору наук рассуждать, чем помочь.
Я не доктор наук, у меня вообще нет учёной степени. Я простой инженер со скромной зарплатой.
Цитата (nikolaich):
чтобы не получить вот такого ответа. Любите вы все поумничать...
Заметь: вообще только я один влез в обсуждение вопроса, чтобы хотя бы советом помочь, натолкнуть, так сказать, на верное направление.
Да, конечно, я могу щас встать с дивана (несмотря на то, что я в отпуске) и написать тебе готовое решение. Но только, если ты убедишь меня, почему я должен это сделать.
Жду ответа.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
|
nikolaich (статус: Посетитель), 13 августа 2014, 16:17 [#9]:
Потому что если бы я влез в обсуждение вопроса, то помог бы всем тем, чем бы только мог - так делают многие, но не все...
А Ты влез чтобы поумничать - таких тоже полно на форумах.
|
|
min@y™ (статус: Доктор наук), 13 августа 2014, 16:39 [#10]:
Это всё?
сюда тыкай.
Контекстный поиск по странице, ключевое слово - "наведении".
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
|
min@y™ (статус: Доктор наук), 13 августа 2014, 16:44 [#11]:
А вот пример из хэлпа:
{ This shows how the OnHint event handler is declared as a public method of the form }
type
TForm1 = class(TForm)
Button1: TButton;
StatusBar1: TStatusBar;
Edit1: TEdit;
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
procedure DisplayHint(Sender: TObject);
end;
var
Form1: TForm1;
implementation
{$R *.xfm}
{ Here is the implementation of the OnHint event handler }
{ It displays the application’s current hint in the status bar }
procedure TForm1.DisplayHint(Sender: TObject);
begin
StatusBar1.SimpleText := GetLongHint(Application.Hint);
end;
{ Here is the form’s OnCreate event handler. }
{ It assign’s the application’s OnHint event handler at runtime }
{ because the Application is not available in the Object Inspector }
{ at design time }
procedure TForm1.FormCreate(Sender: TObject);
begin
Application.OnHint := DisplayHint;
end;
Неужели этого недостаточно?
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
|
nikolaich (статус: Посетитель), 13 августа 2014, 16:58 [#12]:
Когдап искал - понял так, а теперь убедился, что должен быть hint -всплывающая подсказка. А без этого как?
и Как сделать, чтобы меню сразу открывалось не при щелчке на нём, а при наведении курсора.
как добавить в меню OnEnter и OnExit.
Попробывал добавить обычным образом - добавляется, но не срабатывает.
|
|
min@y™ (статус: Доктор наук), 13 августа 2014, 17:51 [#13]:
Цитата (nikolaich):
Когдап искал - понял так, а теперь убедился, что должен быть hint -всплывающая подсказка. А без этого как?
Подсказка не будет видна, она нужна для определения пункта меню, над которым курсор находится.
Скомпили пример, посмотри, как это выглядит на практике.
Цитата (nikolaich):
как добавить в меню OnEnter и OnExit.
Никак. Для этого нужно написать своё меню или скачать готовый компонент, если его кто-то написал до тебя.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
|
nikolaich (статус: Посетитель), 13 августа 2014, 18:36 [#14]:
В случае с TButton, например, работает, а с меню, как я и сказал, только после первого нажатия, а мне надо без этого - при наведении курсора.
Какое-то событие ведь происходит - ведь верхний пункт меню выделяется.
Наверно, надо использовать API.
А затем послать сообщение, эквивалентное нажатию левой кнопки мыши.
Пробывал
SendMessage(Хэндл кнопки, WM_LBUTTONDOWN, 0,0);
SendMessage(Хэндл кнопки, WM_LBUTTONUP, 0,0);
не работает.
|
|
min@y™ (статус: Доктор наук), 13 августа 2014, 18:51 [#15]:
Ты пример скомпилил?
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
|
nikolaich (статус: Посетитель), 13 августа 2014, 18:53 [#16]:
ДА!
Что получилось - читай выше.
|
|
min@y™ (статус: Доктор наук), 13 августа 2014, 18:58 [#17]:
Цитата (nikolaich):
ДА! Что получилось - читай выше.
Присвой своству Hint пунктов меню верхнего уровня непустые значения и посмотри, что получится.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
|
nikolaich (статус: Посетитель), 13 августа 2014, 19:12 [#18]:
Всё так и сделал.
Ещё поместил на форму - TButton - с этим всё нормально - в TStatusBar отображается Hint, а Hint меню верхнего уровня отображается только после нажатия на него вместе с появлением пункта второго уровня.
|
|
min@y™ (статус: Доктор наук), 13 августа 2014, 19:16 [#19]:
Цитата (nikolaich):
а Hint меню верхнего уровня отображается только после нажатия на него вместе с появлением пункта второго уровня.
Дай посмотреть.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
|
nikolaich (статус: Посетитель), 13 августа 2014, 19:23 [#20]:
Как - прикрепить файл или как
|
Страницы: [1] [2] [Следующая »]
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
|