У меня есть пользовательский компонент типа TSpeedButton, который имеет два дополнительных свойства, определенный:Delphi 2009: Pass имя компонента OnClick событие затем установить свойство
CommentHeading: string;
CommentText: string;
Я набор CommentHeading во время разработки.
Когда кнопка скорости нажата, надпись сохраняется с помощью кнопки внизу для сохранения ее содержимого. Процедура, которая обрабатывает это:
procedure CustomSpeedButton1Click(Sender: TObject);
begin
Receiver := CustomSpeedButton1.Name; // possibly used to save the memo text back to this speedbuttons property after comments are submitted
ViewComments(CustomSpeedButton1.CommentTitle,CustomSpeedButton1.CommentText);
end;
И сама процедура ViewComments:
procedure ViewComments(comment_caption:string; comment_text:string);
begin
label15.Hide; // label showing editing in progress, hidden until user begins typing
Button1.Enabled := false; // the button for saving the memo text, hidden until user begins typing
CommentsBox.Visible := true; // pop up the comment box at the bottom of the form
CommentsBox.Caption := 'Comments: ' + comment_caption;
CommentsMemo.Text := comment_text; // if there are existing comments assign them to memo
end;
Содержание записки должны быть отнесены к собственности CommentText обычая SpeedButton.
Первоначально я думал, что я могу передать имя компонента переменной, когда нажимается пользовательская SpeedButton, а затем извлекает это имя, когда нажата кнопка сохранения в записке, и используйте ее для назначения текстового примечания speedcuttons Свойство CommentText. Но потом я понял, что для этого мне придется использовать какой-то случай ... утверждение, которое проверяет каждое возможное имя скоростной кнопки, а затем присваивает значение memo своим свойствам, и это просто кажется нелепо утомительным.
Есть ли более простой способ присвоить текст напоминания кнопке быстрого доступа, которая открывала записку для начала?
Роб, ты Дельфий БОГ !!! Это именно то, что я искал! И Мейсон, если вы читаете это, я приношу свои извинения за то, что вы не понимаете, что вы имеете в виду в первый раз, но я только что взял Delphi снова в течение последнего месяца после того, как был вдали от него с 2002 года, поэтому я все еще пытаюсь запомнить все концепции, трюки и т. д. Роб, оцените вашу заметку о наименовании этикеток - этот ярлык был просто быстро взломан, чтобы показать пользователю, что они действительно находятся в режиме редактирования. Перед выпуском компиляции я всегда настраиваю метки и т. Д., Чтобы отразить их фактическое использование. – Rafe