![]() |
Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.
![]() |
Client |
![]()
Сообщение
#1
|
Профи ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 865 Пол: Мужской Реальное имя: Вячеслав Репутация: ![]() ![]() ![]() |
Привет!
Я хочу из всплывающего меню (на скрине) изменять размер шрифта в мемо. procedure TForm1.PopupMenu1Change(Sender: TObject; Source: TMenuItem;Выдает ошибку сразу при запуске. Как тут быть? Эскизы прикрепленных изображений ![]() |
![]() ![]() |
volvo |
![]()
Сообщение
#2
|
Гость ![]() |
Цитата Выдает ошибку сразу при запуске. Правильно делает. У тебя в момент создания меню (а OnChange вызывается именно в момент создания, или при переформировании меню, а не при щелчке на его элементе) Source = nil со всеми вытекающими последствиями. Лови TMenuItem.OnClick для каждого их пунктов меню и делай то, что тебе надо:procedure TForm1.N101Click(Sender: TObject);, всем остальным пунктам назначь этот же обработчик... |
Client |
![]()
Сообщение
#3
|
Профи ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 865 Пол: Мужской Реальное имя: Вячеслав Репутация: ![]() ![]() ![]() |
СПАСИБО!
А почему '&' символ в разных пунктах на разных позициях? И еще, допустим есть 2 кнопки. При нажатии на кнопку1 происходят определенные действия. А при нажатии на кнопку2 сначала происходят какие-то действия, а потом тоже самое, что и при нажатии кнопки1. Как вызвать нажатие кнопки1 при щелчке на кнопку2?(можно конечно написать свою процедуру, но это не то) |
volvo |
![]()
Сообщение
#4
|
Гость ![]() |
Цитата А почему '&' символ в разных пунктах на разных позициях? А потому что если у тебя есть пункты "10" и "15", то в одном быстрый вызов будет назначен на 1, а во втором - на 5 (единица уже занята). Поэтому я и не стал привязываться к конкретной позиции символа "&", а сделал его поиск через Pos.Цитата (можно конечно написать свою процедуру, но это не то) Зачем писать что-то, оно ж уже написано, надо только вызвать:procedure TForm1.Button1Click(Sender: TObject); |
Client |
![]()
Сообщение
#5
|
Профи ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 865 Пол: Мужской Реальное имя: Вячеслав Репутация: ![]() ![]() ![]() |
Понятно. А как программно можно добавить/удалить кнопку на панель?
Сообщение отредактировано: Client - 20.05.2009 14:32 |
volvo |
![]()
Сообщение
#6
|
Гость ![]() |
Точно так же, как и любой другой компонент:
new_button := TButton.Create(Application); |
Client |
![]()
Сообщение
#7
|
Профи ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 865 Пол: Мужской Реальное имя: Вячеслав Репутация: ![]() ![]() ![]() |
new_button := TButton.Create(Application);Добавил описание new_button:tbutton;При нажатии кнопки создаю, но ничего нету... Что не так? procedure TForm1.Button1Click(Sender: TObject); Добавлено через 13 мин. procedure TForm1.Button1Click(Sender: TObject);Получилось) А как добавить кнопку на панель инструментов? Это же не обычная кнопка? И что значит new_button.Parent:=Self? |
volvo |
![]()
Сообщение
#8
|
Гость ![]() |
Цитата А как добавить кнопку на панель инструментов? Что такое для тебя "панель инструментов"? Какой-то определенный компонент? Ну, так делай его родителем кнопки...Цитата И что значит new_button.Parent:=Self? Вот то самое и значит, форму считать родителем новой кнопки. |
Client |
![]()
Сообщение
#9
|
Профи ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 865 Пол: Мужской Реальное имя: Вячеслав Репутация: ![]() ![]() ![]() |
Цитата Что такое для тебя "панель инструментов"? Какой-то определенный компонент? Ну, так делай его родителем кнопки...
t1 := TButton.Create(Application);Сделал предком тулбар и все как надо ![]() А как описать обработчик OnClick? Parent:=Selfи Parent:=Form1работает одинаково. Self это же "сам"? Сообщение отредактировано: Client - 20.05.2009 20:00 |
volvo |
![]()
Сообщение
#10
|
Гость ![]() |
|
Client |
![]()
Сообщение
#11
|
Профи ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 865 Пол: Мужской Реальное имя: Вячеслав Репутация: ![]() ![]() ![]() |
О_О буду знать, я думал что это "текущий объект"
СПАСИБО БОЛЬШОЕ VOLVO ЗА ПОМОЩЬ! Сообщение отредактировано: Client - 20.05.2009 20:13 |
Client |
![]()
Сообщение
#12
|
Профи ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 865 Пол: Мужской Реальное имя: Вячеслав Репутация: ![]() ![]() ![]() |
...Как тут вызвать процедуру на нажатие созданной кнопки? Сообщение отредактировано: Client - 20.05.2009 21:25 |
volvo |
![]()
Сообщение
#13
|
Гость ![]() |
Где "тут"? Как только ты нажмешь на кнопку, событие и сработает. Только скобки после NEWButtonsClick убери, а то будет ошибка компиляции.
|
Client |
![]()
Сообщение
#14
|
Профи ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 865 Пол: Мужской Реальное имя: Вячеслав Репутация: ![]() ![]() ![]() |
unit Unit1;Все работает(хотя только что ошибку давал) Сообщение отредактировано: Client - 20.05.2009 22:28 |
![]() ![]() |
![]() |
Текстовая версия | 10.07.2025 17:18 |