![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 14.11.2007
Сообщений: 74
|
![]()
Нашел текст с вопросом и ответом
содержание следующие вопрос Каким образом можно изменить системное меню формы? ответ Не знаю как насчет акселераторов, надо поискать, а вот добавить Item - пожалуйста объясните что этот код означает ![]() type TMyForm=class(TForm) procedure wmSysCommand(var Message:TMessage); message WM_SYSCOMMAND; end; const ID_ABOUT = WM_USER+1; ID_CALENDAR=WM_USER+2; ID_EDIT = WM_USER+3; ID_ANALIS = WM_USER+4; implementation procedure TMyForm.wmSysCommand; begin case Message.wParam of ID_CALENDAR:DatBitBtnClick(Self) ; ID_EDIT :EditBitBtnClick(Self); ID_ANALIS:AnalisButtonClick(Self); end; inherited; end; procedure TMyForm.FormCreate(Sender: TObject); var SysMenu:THandle; begin SysMenu:=GetSystemMenu(Handle,False ); InsertMenu(SysMenu,Word(-1),MF_SEPARATOR,ID_ABOUT,''); InsertMenu(SysMenu,Word(-1),MF_BYPOSITION,ID_Calendar, 'Calendar'); InsertMenu(SysMenu,Word(-1),MF_BYPOSITION,ID_Analis, 'Analis'); InsertMenu(SysMenu,Word(-1),MF_BYPOSITION,ID_Edit, 'Edit'); end; заранее спасибо
Каждый из нас в чём-то новичок
Последний раз редактировалось Ярослав; 19.11.2007 в 11:33. |
![]() |
![]() |
![]() |
#2 |
Пользователь
Регистрация: 14.11.2007
Сообщений: 74
|
![]()
Ни кто не знает что ли или отвечать не хотите
Каждый из нас в чём-то новичок
|
![]() |
![]() |
![]() |
#3 |
Телепат с дипломом
Старожил
Регистрация: 10.06.2007
Сообщений: 4,929
|
![]()
Если ты не понимаешь код, значит тебе рано его понимать, повышай сложность постепенно. Это тебе щас целую лекцию читать надо про WinAPI.
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог |
![]() |
![]() |
![]() |
#4 |
Форумчанин
Регистрация: 31.05.2007
Сообщений: 486
|
![]()
Каждый раз, когда выбирается пункт в системном меню (в заголовке окна, слева), программе посылается сообщение с кодом WM_SYSCOMMAND, чтобы программа могла на это отреагировать.
Код:
Код:
Код:
В ней проверяется номер выбранного пункта меню и если он равен ID_CALENDAR, ID_EDIT или ID_ANALIS, то вызываются соответствующие дополнительные подпрограммы. Потом вызывается "обработчик по умолчанию", чтобы могли обработаться и другие пункты меню Код:
|
![]() |
![]() |
![]() |
#5 |
Пользователь
Регистрация: 14.11.2007
Сообщений: 74
|
![]()
большое спасибо
Каждый из нас в чём-то новичок
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Создание блок-схем по коду С++ | Panterka | Общие вопросы C/C++ | 7 | 04.02.2018 19:21 |
Комментарии к коду | Juhn | Паскаль, Turbo Pascal, PascalABC.NET | 6 | 24.12.2007 20:29 |
Написать комментарии к коду. Delphi. | Дарюха | Помощь студентам | 1 | 21.11.2007 16:05 |