Модераторы: volvo877, Snowy, MetalFan

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Создание контекстного меню, Вопрос 
:(
    Опции темы
nero_schwarz
Дата 25.11.2004, 22:24 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Кто-нибудь выложите пример создания контекстного меню в Pascal! На первом курсе делал- уже не помню. Не хотелось бы снова Обьектно Ореентированное Программирование перерывать. По примеру легче! Или ссылку, если моно.
  Вверх
SPrograMMer
Дата 26.11.2004, 13:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Спамер :)
**


Профиль
Группа: Участник
Сообщений: 442
Регистрация: 5.11.2004
Где: Краснодар

Репутация: нет
Всего: 6



А зачем ООП прерывать, пиши ОО контекстное меню.
Кстати в Pascal, если есть поддержка библиотеки Turbo Vision, то моно очень просто меню создать. Счас постораюсь ченить поконкретнее тебе отыскать....


--------------------
животное = зверь
законченный гентушник
PM MAIL ICQ Jabber   Вверх
nero_schwarz
Дата 27.11.2004, 17:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 16
Регистрация: 27.11.2004

Репутация: нет
Всего: нет



SPrograMMer, спасибо. Тurbo Visio мы вообще в политехе не проходили, но я уже пробовал работать с ним, так что если что найдешь я буду рад! И сам поищу что - нибудь.
PM MAIL   Вверх
nero_schwarz
Дата 27.11.2004, 19:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 16
Регистрация: 27.11.2004

Репутация: нет
Всего: нет



SPrograMMer, во нашел ссылку: http://www.citforum.ru/programming/tv_doc/tvdoc_01.shtml.
Но мне нужен простой пример- ОО контекстного меню. Если есть - выложи пожалуйста.
PM MAIL   Вверх
nero_schwarz
Дата 27.11.2004, 21:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 16
Регистрация: 27.11.2004

Репутация: нет
Всего: нет



Уже с самого начала проблемы!!!
Написал следующую прогу:
uses app, Menus, Objects, Drivers;
type
TMyApp=object(TApplication)
procedure InitStatusLine;
virtual;
end;
procedure TMyApp.InitStatusLine;
var
r: TRect;
begin
GetExtent®;
R.A.Y:=R.B.Y-1;
StatusLine := New(PStatusLine, Init(r,
NewStatusDef(0, $ffff,
NewStatusKey('~Alt-X~ Exit', kbAltX, cmQuit, {Oшибка!!!!}
NewStatusKey('~Alt-F3~ Close', kbAltF3, cmClose, {Ошибка!!!!}
nil)),
nil)
));
end;
var
MyApp: TmyApp;

begin
MyApp.Init;
MyApp.Run;
MyApp.Done;
end.
Все правильно, но выдается ошибка: неизвестная ...(unknown identifier) на константах cmQuit и cmClose. В чем проблема?

PM MAIL   Вверх
nero_schwarz
Дата 27.11.2004, 22:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 16
Регистрация: 27.11.2004

Репутация: нет
Всего: нет



Решил проблему написав вместо cmQuit - 1(работает!). Прошу помочь в поиске соответствий между стандартными константами и числами(нашел только: cmQuit=1, cmZoom=5).
PM MAIL   Вверх
Zero
Дата 27.11.2004, 22:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2169
Регистрация: 23.10.2004
Где: Россия, г. Рязань

Репутация: нет
Всего: 24



Какая же она не известная, ты значит идентификаторы cmQuit и cmClose не указал, т.е. в разделе указания типов (или в др. месте) не выделил для них память.
PM MAIL ICQ   Вверх
nero_schwarz
Дата 27.11.2004, 23:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 16
Регистрация: 27.11.2004

Репутация: нет
Всего: нет



Zero, как это сделать скажи!

PM MAIL   Вверх
nero_schwarz
Дата 27.11.2004, 23:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 16
Регистрация: 27.11.2004

Репутация: нет
Всего: нет



этих индентификаторов у меня даже в хелпе нет! как и hcNoContext! есть только cmNew, cmOpen и несколько других, с числовыми соответствиями.
PM MAIL   Вверх
Zero
Дата 28.11.2004, 00:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2169
Регистрация: 23.10.2004
Где: Россия, г. Рязань

Репутация: нет
Всего: 24



Цитата(nero_schwarz @ 27.11.2004, 23:39)
этих индентификаторов у меня даже в хелпе нет! как и hcNoContext! есть только cmNew, cmOpen и несколько других, с числовыми соответствиями
Конечно нет, в хелпе пишут только информацию о функциях, процедурах, типах (в частносте которые определяют идентификаторы) и т.д.
Цитата(nero_schwarz @ 27.11.2004, 23:21)
Zero, как это сделать скажи
Если ты имеешь ввиду как выделить память для идентификатора, то это делаестя либо в разделе констант
Код

Const
 cmQuit=<какое-нибудь значение любого типа (но который связан с тем что хочеш делать>;
...
Либо в разделе переменных
Код

Var
 <идентификатор>:<тип>;
...

Либо динамически во время выполнения программы, но если ты ещё незнаеш предыдущих двух способов, то этим я тебе даже голову забивать не буду.
PM MAIL ICQ   Вверх
nero_schwarz
Дата 28.11.2004, 14:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 16
Регистрация: 27.11.2004

Репутация: нет
Всего: нет



Цитата
cmQuit=<какое-нибудь значение любого типа (но который связан с тем что хочеш делать>;

да знаю я это! но ты можешь мне эти значения сказать? для cmQuit я нашел, оно =1. Я же не могу просто с неба эти значения брать!
PM MAIL   Вверх
Zero
Дата 28.11.2004, 17:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2169
Регистрация: 23.10.2004
Где: Россия, г. Рязань

Репутация: нет
Всего: 24



nero_schwarz, чем должны отличатся команды, Exit и Close??? Если это обе выход то зачем тебе 2 штуки? Если эти обе команды выхода, но хочеш сделать их на разные кнопки, то можеш сделать также
Код

Const
 cmQuit=1;
 cmClose=1;
...
Правда это всё тупо, ну и код у тебя тупой, и ещё написал ты его с ошибкой, т.е. чтобы получить координаты всего экрана, надо писать так
Код

GetExtent (R)
а ты там написал какуюто-закарючку... smile
Но если ты всётаки не понял про-что я те талкую, то вот тебе ещё одна ссылка, там вроде идёт базар про твой вопрос...
PM MAIL ICQ   Вверх
nero_schwarz
Дата 28.11.2004, 17:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 16
Регистрация: 27.11.2004

Репутация: нет
Всего: нет



Zero, ну ты дал! ты вообще понятие имеешь, про что говоришь? cmClose - команда закрытия активного окна, cmQuit - выход из программы. и написал я все нормально- просто при копировании текста лажа вышла!
Добавлено @ 17:29
Zero, насчет ссылки- я уже штук 20 сайтов на эту тему нашел, и похоже они все друг у друга слово в слово списывали. и ничего по существу. Ну не работает у меня прога, если я cmClose, cmQuit или hcNoContext пишу! Мне нужно числовое значение этих идентификаторов!
Некоторые описаны в Хелпе, для cmQuit и cmZoom я в инете нашел, ну и остальные должны же быть где-то!
PM MAIL   Вверх
nero_schwarz
Дата 28.11.2004, 20:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 16
Регистрация: 27.11.2004

Репутация: нет
Всего: нет



ну кто-нибудь, загляните в учебник Фаронова. там наверняка есть! в приложениях где-нибудь...

PM MAIL   Вверх
Zero
Дата 28.11.2004, 22:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2169
Регистрация: 23.10.2004
Где: Россия, г. Рязань

Репутация: нет
Всего: 24



У меня, есть его учебник, и он написан на тему "Delphi 6". Хотя может быть есть и с пакалем. Но помоему тебе надо лучше смотреть что написано на тех 20 сайтах которые ты нашёл, врядли они станут друг у друга всё переписывать если как ты говоришь у всех всё не правильно...
PM MAIL ICQ   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi"
THandle
Rrader
volvo877

Запрещается!

1. Обсуждать и делится взломанными компонентами или программным обеспечением

2. Публиковать ссылки на варез

3. Оффтопить

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, THandle, Rrader, volvo877.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Object Pascal: кроссплатформенные технологии | Следующая тема »


 




[ Время генерации скрипта: 0.0528 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.