![]() |
|
Модераторы: volvo877, Snowy, MetalFan |
![]()
|
|
| nero_schwarz |
|
|||
|
Unregistered |
Кто-нибудь выложите пример создания контекстного меню в Pascal! На первом курсе делал- уже не помню. Не хотелось бы снова Обьектно Ореентированное Программирование перерывать. По примеру легче! Или ссылку, если моно.
|
|||
|
||||
| SPrograMMer |
|
|||
![]() Спамер :) ![]() ![]() Профиль Группа: Участник Сообщений: 442 Регистрация: 5.11.2004 Где: Краснодар Репутация: нет Всего: 6 |
А зачем ООП прерывать, пиши ОО контекстное меню.
Кстати в Pascal, если есть поддержка библиотеки Turbo Vision, то моно очень просто меню создать. Счас постораюсь ченить поконкретнее тебе отыскать.... -------------------- животное = зверь законченный гентушник |
|||
|
||||
| nero_schwarz |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 16 Регистрация: 27.11.2004 Репутация: нет Всего: нет |
SPrograMMer, спасибо. Тurbo Visio мы вообще в политехе не проходили, но я уже пробовал работать с ним, так что если что найдешь я буду рад! И сам поищу что - нибудь.
|
|||
|
||||
| nero_schwarz |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 16 Регистрация: 27.11.2004 Репутация: нет Всего: нет |
SPrograMMer, во нашел ссылку: http://www.citforum.ru/programming/tv_doc/tvdoc_01.shtml.
Но мне нужен простой пример- ОО контекстного меню. Если есть - выложи пожалуйста. |
|||
|
||||
| nero_schwarz |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 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. В чем проблема? |
|||
|
||||
| nero_schwarz |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 16 Регистрация: 27.11.2004 Репутация: нет Всего: нет |
Решил проблему написав вместо cmQuit - 1(работает!). Прошу помочь в поиске соответствий между стандартными константами и числами(нашел только: cmQuit=1, cmZoom=5).
|
|||
|
||||
| Zero |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2169 Регистрация: 23.10.2004 Где: Россия, г. Рязань Репутация: нет Всего: 24 |
Какая же она не известная, ты значит идентификаторы cmQuit и cmClose не указал, т.е. в разделе указания типов (или в др. месте) не выделил для них память.
|
|||
|
||||
| nero_schwarz |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 16 Регистрация: 27.11.2004 Репутация: нет Всего: нет |
Zero, как это сделать скажи!
|
|||
|
||||
| nero_schwarz |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 16 Регистрация: 27.11.2004 Репутация: нет Всего: нет |
этих индентификаторов у меня даже в хелпе нет! как и hcNoContext! есть только cmNew, cmOpen и несколько других, с числовыми соответствиями.
|
|||
|
||||
| Zero |
|
||||||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2169 Регистрация: 23.10.2004 Где: Россия, г. Рязань Репутация: нет Всего: 24 |
Либо динамически во время выполнения программы, но если ты ещё незнаеш предыдущих двух способов, то этим я тебе даже голову забивать не буду. |
||||||||
|
|||||||||
| nero_schwarz |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 16 Регистрация: 27.11.2004 Репутация: нет Всего: нет |
да знаю я это! но ты можешь мне эти значения сказать? для cmQuit я нашел, оно =1. Я же не могу просто с неба эти значения брать! |
|||
|
||||
| Zero |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2169 Регистрация: 23.10.2004 Где: Россия, г. Рязань Репутация: нет Всего: 24 |
nero_schwarz, чем должны отличатся команды, Exit и Close??? Если это обе выход то зачем тебе 2 штуки? Если эти обе команды выхода, но хочеш сделать их на разные кнопки, то можеш сделать также
Но если ты всётаки не понял про-что я те талкую, то вот тебе ещё одна ссылка, там вроде идёт базар про твой вопрос... |
||||
|
|||||
| nero_schwarz |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 16 Регистрация: 27.11.2004 Репутация: нет Всего: нет |
Zero, ну ты дал! ты вообще понятие имеешь, про что говоришь? cmClose - команда закрытия активного окна, cmQuit - выход из программы. и написал я все нормально- просто при копировании текста лажа вышла!
Добавлено @ 17:29 Zero, насчет ссылки- я уже штук 20 сайтов на эту тему нашел, и похоже они все друг у друга слово в слово списывали. и ничего по существу. Ну не работает у меня прога, если я cmClose, cmQuit или hcNoContext пишу! Мне нужно числовое значение этих идентификаторов! Некоторые описаны в Хелпе, для cmQuit и cmZoom я в инете нашел, ну и остальные должны же быть где-то! |
|||
|
||||
| nero_schwarz |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 16 Регистрация: 27.11.2004 Репутация: нет Всего: нет |
ну кто-нибудь, загляните в учебник Фаронова. там наверняка есть! в приложениях где-нибудь...
|
|||
|
||||
| Zero |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2169 Регистрация: 23.10.2004 Где: Россия, г. Рязань Репутация: нет Всего: 24 |
У меня, есть его учебник, и он написан на тему "Delphi 6". Хотя может быть есть и с пакалем. Но помоему тебе надо лучше смотреть что написано на тех 20 сайтах которые ты нашёл, врядли они станут друг у друга всё переписывать если как ты говоришь у всех всё не правильно...
|
|||
|
||||
| Guest |
|
|||
|
Unregistered |
Zero, да я не говорю, что у них не правильно! может и меня оболочка ТП 7.0 глюченная, но и в борланде та же фигня! У них нет того, что мне надо- соответствия между идентификаторами и числом! Если я пишу вместо cmQuit единицу, то все работает. И я думаю что в случае других идентификаторов так же будет работать. Но нет информации на этот счет!
|
|||
|
||||
| nero_schwarz |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 16 Регистрация: 27.11.2004 Репутация: нет Всего: нет |
во нашел(хотя можно было и самому догадаться!) hcNoContext=0; но что же мне делать с другими идентификаторами? и почему у меня не работает все по-нормальному, как у всех...
Вот еще: hcBenchmarks = 108; hcConfig = 114; hcConfigBench = 115; hcConfigGlobal = 117; hcConfigRPM = 116; hcDisk = 104; hcDiskSelect = 105; hcDiskSelectList = 106; hcDiskSelectManual = 107; hcFile = 100; hcFileDOSShell = 102; hcFileExit = 103; hcFileSave = 101; hcGraphs = 109; hcGraphsCache = 113; hcGraphsRead = 110; hcGraphsVerify = 112; hcGraphsWrite = 111; hcMainIndex = 7; hcMsgBoxExit = 500; hcMsgBoxMultitask = 501; hcNoContext = 0; Это сообщение отредактировал(а) nero_schwarz - 28.11.2004, 22:46 |
|||
|
||||
| Zero |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2169 Регистрация: 23.10.2004 Где: Россия, г. Рязань Репутация: нет Всего: 24 |
|
||||
|
|||||
| nero_schwarz |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 16 Регистрация: 27.11.2004 Репутация: нет Всего: нет |
Всегда здал, что всё гениальное просто. Но хорошая мысля приходит опосля(что тоже верно).
Так вот зачем где-то искать, если у тебя всё под рукой: Заходим в поиск файла, задаём найти текст: cmQuit в папке ТП и находим список файлов, один из которых tp\doc\views.int. Пожалуйста проблема решена: const { TView State masks } sfVisible = $0001; sfCursorVis = $0002; sfCursorIns = $0004; sfShadow = $0008; sfActive = $0010; sfSelected = $0020; sfFocused = $0040; sfDragging = $0080; sfDisabled = $0100; sfModal = $0200; sfDefault = $0400; sfExposed = $0800; { TView Option masks } ofSelectable = $0001; ofTopSelect = $0002; ofFirstClick = $0004; ofFramed = $0008; ofPreProcess = $0010; ofPostProcess = $0020; ofBuffered = $0040; ofTileable = $0080; ofCenterX = $0100; ofCenterY = $0200; ofCentered = $0300; ofValidate = $0400; ofVersion = $3000; ofVersion10 = $0000; ofVersion20 = $1000; { TView GrowMode masks } gfGrowLoX = $01; gfGrowLoY = $02; gfGrowHiX = $04; gfGrowHiY = $08; gfGrowAll = $0F; gfGrowRel = $10; { TView DragMode masks } dmDragMove = $01; dmDragGrow = $02; dmLimitLoX = $10; dmLimitLoY = $20; dmLimitHiX = $40; dmLimitHiY = $80; dmLimitAll = $F0; { TView Help context codes } hcNoContext = 0; hcDragging = 1; { TScrollBar part codes } sbLeftArrow = 0; sbRightArrow = 1; sbPageLeft = 2; sbPageRight = 3; sbUpArrow = 4; sbDownArrow = 5; sbPageUp = 6; sbPageDown = 7; sbIndicator = 8; { TScrollBar options for TWindow.StandardScrollBar } sbHorizontal = $0000; sbVertical = $0001; sbHandleKeyboard = $0002; { TWindow Flags masks } wfMove = $01; wfGrow = $02; wfClose = $04; wfZoom = $08; { TWindow number constants } wnNoNumber = 0; { TWindow palette entries } wpBlueWindow = 0; wpCyanWindow = 1; wpGrayWindow = 2; { Standard command codes } cmValid = 0; cmQuit = 1; cmError = 2; cmMenu = 3; cmClose = 4; cmZoom = 5; cmResize = 6; cmNext = 7; cmPrev = 8; cmHelp = 9; { Application command codes } cmCut = 20; cmCopy = 21; cmPaste = 22; cmUndo = 23; cmClear = 24; cmTile = 25; cmCascade = 26; { TDialog standard commands } cmOK = 10; cmCancel = 11; cmYes = 12; cmNo = 13; cmDefault = 14; { Standard messages } cmReceivedFocus = 50; cmReleasedFocus = 51; cmCommandSetChanged = 52; { TScrollBar messages } cmScrollBarChanged = 53; cmScrollBarClicked = 54; { TWindow select messages } cmSelectWindowNum = 55; { TListViewer messages } cmListItemSelected = 56; Спасибо всем кто мне помогал в моём поиске! Осталось разобраться с использованием драйвера для LPT в ТП. Думаю на этот раз мне не удастся так легко отделаться... |
|||
|
||||
![]()
|
| Правила форума "Delphi" | |
|
|
Запрещается! 1. Обсуждать и делится взломанными компонентами или программным обеспечением 2. Публиковать ссылки на варез 3. Оффтопить
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, THandle, Rrader, volvo877. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Object Pascal: кроссплатформенные технологии | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |