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

Вниз

Хитрый TPopUpMenu   Найти похожие ветки 

 
Dmitrey   (2002-08-12 18:35) [0]

Очень нужно иметь возможность вибрать элемент TMenuItem, у которого есть дочерние TMenuItem.


 
Skier   (2002-08-12 18:37) [1]

>Dmitrey
А в чём проблема-то ?


 
Dmitrey   (2002-08-12 18:42) [2]

Например: есть PopUpMenu
Menu1
Menu2
|-SubMenu21
|-SubMenu22
--SubMenu23
Нужно чтобы пользователь мог выбрать не только SubMenu?? но и Menu2.


 
Skier   (2002-08-12 18:53) [3]

>Dmitrey

> Нужно чтобы пользователь мог выбрать...


Чтобы OnClick работал что ли ?


 
Dmitrey   (2002-08-12 18:55) [4]

Да.
И работал именно по клику мышкой.


 
Mike Kouzmine   (2002-08-12 18:56) [5]

Делаешь submenu


 
Dmitrey   (2002-08-12 19:07) [6]

Ты не понял вопроса.
При наведении на Menu2 вываливается список с SybMenu??, но при этом невозможно выбрать именно Menu2, а не один из его SubMenu


 
Skier   (2002-08-12 19:11) [7]

>Dmitrey
Если честно, то это не совсем корректно, оно для того и задумано
чтобы выбирать именно sub-item-ы, это всё равно что кликнуть
на каталоге - он ведь просто раскроется, покажет свои файлы
и усё...точно так же и с твоим Menu2.


 
Mike Kouzmine   (2002-08-12 19:12) [8]

Да. Не выходит. Только наоборот Menu2 выбирается, а сабменю не вываливается :)


 
Dmitrey   (2002-08-12 19:19) [9]

Я понимаю что некорректно, но нужно чтобы так можно было выбрать.
Может что посоветуете.


 
Ученик   (2002-08-12 19:23) [10]

>Dmitrey
А как разделить когда нужно выбрать, а когда открыть подменю ?


 
Mike Kouzmine   (2002-08-12 19:24) [11]

Наверняка есть свойство, определяющее задержку между открытием и выполнением. Покопай в этом направлении


 
Dmitrey   (2002-08-12 19:46) [12]

Вообще-то подменю всегда должно раскрываться, но выбрать можно и подменю и само меню


 
Ученик   (2002-08-12 20:50) [13]

Простыми способами не получается, сложными реализуется через установку hook-а на WH_MOUSE,

function MenuItemFromPoint(hWnd: HWND; hMenu: HMENU; ptScreen: TPoint): Integer; stdcall; external "user32.dll";


function MouseProc(nCode : Integer; wParam : WPARAM; lParam : LPARAM) : LResult; stdcall;
begin
if (nCode = HC_ACTION) and (wParam = WM_LBUTTONDOWN) and
(MenuItemFromPoint(Form1.Handle, Form1.I1.Handle, Mouse.CursorPos) = 0) then
ShowMessage("Item Click");
Result := CallNextHookEx(Form1.FHook, nCode, wParam, lParam)
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
FHook := SetWindowsHookEx(WH_MOUSE, MouseProc, HInstance, GetCurrentThreadID)
end;



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

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

Наверх




Память: 0.46 MB
Время: 0.006 c
1-71212
Просто прохожий
2002-08-10 17:25
2002.08.22
Фокус


8-71264
SPeller
2002-04-14 06:59
2002.08.22
Опять JPEG


14-71324
MIFI
2002-07-22 19:37
2002.08.22
Запуск скрипта на сервере


3-71030
kosm
2002-08-01 12:43
2002.08.22
Как недопустить возвращения пустых результатов запроса?


1-71121
maxim2
2002-08-13 09:17
2002.08.22
Каким образом загрузить курсоры и картинки из res файла





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