IPB
ЛогинПароль:

> ВНИМАНИЕ!

Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.

Наладить общение поможет, если вы подпишитесь по почте на новые темы в этом форуме.

 
 Ответить  Открыть новую тему 
> Popup Menu
сообщение
Сообщение #1


Пионер
**

Группа: Пользователи
Сообщений: 91
Пол: Мужской
Реальное имя: Павел

Репутация: -  0  +


Popup Menu
Можно ли заставить не исчезать по событию выбора элемента, а допустим поставить галку и предоставить право отмечать другие элементы? Если ДА - то как?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Гость






Можно...

var pnt: TPoint;

// Вот эту процедуру вешаешь на обработчик клика всех MenuItem-ов
procedure TForm1.myClick(Sender: TObject);
begin
(Sender as TMenuItem).Checked := not (Sender as TMenuItem).Checked;
PopupMenu1.Popup(pnt.X, pnt.Y);
end;

procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
if ssRight in Shift then begin
pnt := ClientToScreen(Point(X, Y));
end;
end;

 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Пионер
**

Группа: Пользователи
Сообщений: 91
Пол: Мужской
Реальное имя: Павел

Репутация: -  0  +


Спасибо volvo но при том что я менюшки отрисовываю сам и построение списка занимает время - вариант неудобен... не красиво получается, что меню появляется с небольшой задержкой и иногда под таскбаром, делал чтоб всегда над ним была, звуки неудачно срабатывают... Вообщем жутко неудобный вариант...

Есть ли альтернативы?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Гость






Можно еще проще, без отслеживания кликов правой кнопкой:

procedure TForm1.first1Click(Sender: TObject);
var pnt: TPoint;
begin
(Sender as TMenuItem).Checked := not (Sender as TMenuItem).Checked;
pnt := PopupMenu1.PopupPoint;
PopupMenu1.Popup(pnt.X, pnt.Y);
end;
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


Гость






Цитата
при том что я менюшки отрисовываю сам и построение списка занимает время - вариант неудобен..
Можно посмотреть, как именно ты сам отрисовываешь, и какого размера у тебя эти менюшки, что это притормаживает? smile.gif

Может, ты AutoPopup не сбросил, и поэтому оно притормаживает?
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6


Пионер
**

Группа: Пользователи
Сообщений: 91
Пол: Мужской
Реальное имя: Павел

Репутация: -  0  +


Код был написанн на ассемблере, где я эксперементировал с менюшками...
Начинаю писать новую программу и задумался над тем как поступать дальше...
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 23.10.2020 6:37
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name