Форум программистов, компьютерный форум, киберфорум
Assembler, MASM, TASM
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
0 / 0 / 0
Регистрация: 03.05.2012
Сообщений: 13

Запрограммировать появление контекстного меню

04.05.2012, 09:30. Показов 1482. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Запрограммировать на ассемблере появление контекстного (всплывающее) меню на форме по нажатию правой кнопки. Организовать исполнение простейших команд из него. Помогите пожалуйста)
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
04.05.2012, 09:30
Ответы с готовыми решениями:

Запрограммировать появление на форме кнопки и поля типа Memo
Запрограммировать появление на форме кнопки и поля типа Memo по выполнению команд меню, считывания в Memo и сохранения текстового файла.

Не срабатывает запрет на появление контекстного меню в IE
Здравствуйте. Скажите пожалуйста, почему этот код работает везде, кроме IE (проверял на версии 7)? Что нужно сделать, чтобы запретить...

Ворд как погасить появление контекстного меню по нажатию ПКМ
Здравствуйте, код: Private Sub App_WindowBeforeRightClick(ByVal Sel As Selection, Cancel As Boolean) Beep End Sub ...

6
0 / 0 / 0
Регистрация: 03.05.2012
Сообщений: 13
04.05.2012, 10:33  [ТС]
Что это значит ? )
0
 Аватар для _lucius_
391 / 179 / 2
Регистрация: 14.03.2012
Сообщений: 443
04.05.2012, 10:40
PROG.ASM
Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
.386
.model flat,stdcall
option casemap:none
   
    include C:\masm32\include\windows.inc
    include C:\masm32\include\user32.inc
    include C:\masm32\include\kernel32.inc
 
    includelib C:\masm32\lib\user32.lib
    includelib C:\masm32\lib\kernel32.lib
 
    WndProc proto :DWORD,:DWORD,:DWORD,:DWORD
 
.data?
 
    hMe dd ?
 
.code
 
    MenuName db 'M',0
 
start:
 
    invoke GetModuleHandle,NULL
    invoke DialogBoxParam,eax,50,NULL,offset WndProc,NULL
 
WndProc proc hWnd:HWND, uMsg:UINT, wParam:WPARAM, lParam:LPARAM
 
    LOCAL t_Po:POINT
 
    .if uMsg==WM_CLOSE
ex:  invoke ExitProcess,NULL
 
    .elseif uMsg==WM_COMMAND
     .if wParam==71
      invoke MessageBox,hWnd,0,0,0
     .elseif wParam==72
      invoke MessageBeep,0
     .elseif wParam==73
      jmp ex
     .endif
  
    .elseif uMsg==WM_INITDIALOG
     invoke GetModuleHandle,NULL
     invoke LoadMenu,eax,addr MenuName
     mov hMe,eax
    
    .elseif uMsg==WM_RBUTTONDOWN
     invoke GetCursorPos,addr t_Po
     invoke GetSubMenu,hMe,NULL
     invoke TrackPopupMenu,eax,TPM_LEFTALIGN,t_Po.x,t_Po.y,NULL,hWnd,NULL
 
    .elseif
     mov eax,FALSE
     ret
    .endif
     mov eax,TRUE
     ret
 
WndProc endp
 
end start
PROG.RC
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#define IDD_DLG1 50
 
#define M1 71
#define M2 72
#define M3 73
 
#include "C:/masm32/include/RESOURCE.H"
 
IDD_DLG1 DIALOGEX 6,6,244,134
CAPTION "IDD_DLG"
FONT 8,"MS Sans Serif",0,0,0
STYLE WS_VISIBLE|WS_CAPTION|WS_SYSMENU|WS_MINIMIZEBOX|DS_CENTER
BEGIN
 
END
 
M MENU
BEGIN
  POPUP "A"
  BEGIN
    MENUITEM "MessageBox",M1
    MENUITEM "MessageBeep",M2
    MENUITEM SEPARATOR
    MENUITEM "Exit",M3
  END
END
1
116 / 136 / 0
Регистрация: 15.04.2012
Сообщений: 1,031
04.05.2012, 13:11
В какой библиотеке функция TrackPopupMenu?
0
 Аватар для _lucius_
391 / 179 / 2
Регистрация: 14.03.2012
Сообщений: 443
04.05.2012, 13:28
Цитата Сообщение от programmisto Посмотреть сообщение
В какой библиотеке функция TrackPopupMenu?
user32
0
116 / 136 / 0
Регистрация: 15.04.2012
Сообщений: 1,031
04.05.2012, 13:30
Спасибо, а то я использовал подход получения координат, преобразования их в оконные и вызов функции Popup.
0
0 / 0 / 0
Регистрация: 03.05.2012
Сообщений: 13
05.05.2012, 03:04  [ТС]
Спасибо
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
05.05.2012, 03:04
Помогаю со студенческими работами здесь

Как организовать появление вкладки контекстного меню только на определенном листе?
Добрый день! Как организовать появление вкладки контекстного меню только на определенном листе? Добавлено через 4 часа 30 минут Есть...

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

Язык контекстного меню
У многих контролов есть по-умолчанию контекстное меню. Оно отображается на русском языке. Как сделать его на английском языке, т.к. у меня...

Открытие контекстного меню
у меня есть контекстное меню void CameraView::contextMenuEvent(QGraphicsSceneContextMenuEvent *event) { QMenu menu; ...

Создание контекстного меню
Приветствую. У меня есть виджет дерева и я хочу, чтобы при клике ПКМ по корневому узлу появлялось одно контекстное меню, а при клике...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2. Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники". В. . .
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии. . . .
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при создании или изменении элементов справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной записи электронной. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru