Форум: "Основная";
Текущий архив: 2005.06.14;
Скачать: [xml.tar.bz2];
ВнизРабота с PopupMenu Найти похожие ветки
← →
pavel_guzhanov © (2005-05-26 13:27) [0]Народ, что-то я туплю, но никак не могу сделать, чтобы при клике на пункте всплывающего меню "Вставить" содержимое буфера обмена вставилось в тот компонент(напимер в Memo) над которым вызвали это самое меню. Подскажите, как это сделать...
← →
-=XP=- © (2005-05-26 13:39) [1]С одной стороны, TMemo имеет собственное PopupMenu. Там и пункт меню "Вставить".
С другой стороны, если речь не только, и не столько про TMemo, то:procedure TForm1.MenuInsertClick(Sender: TObject);
begin
TMemo(PopupMenu.PopupComponent).PasteFromClipboard;
end;
procedure TForm1.MemoMouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
var
P: TPoint;
begin
if (Button = mbRight) then
begin
PopupMenu.PopupComponent := TMemo(Sender);
P := Memo.ClientToScreen(Point(X, Y));
PopupMenu.Popup(P.X, P.Y);
end;
end;
P.S. Не обессудьте, если что-то лишнее. Но где-то в этом направлении.
← →
Чапаев © (2005-05-26 13:48) [2]if Sender is (TControl что ли?) then
(Sender as ...).PasteFromClipboard;
← →
-=XP=- © (2005-05-26 13:50) [3]Прошу прощения. На самом деле не совсем правильно написал.
procedure TForm1.MenuInsertClick(Sender: TObject);
var
C: TComponent;
begin
C := PopupMenu.PopupComponent;
if Assigned(C) and (C is TMemo) then
TMemo(C).PasteFromClipboard;
// Другие действия, если не TMemo, а какой-то другой компонент
end;
procedure TForm1.MemoMouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
var
P: TPoint;
begin
if (Button = mbRight) and (Sender.InheritsFrom(TControl)) then
begin
PopupMenu.PopupComponent := TComponent(Sender);
P := TControl(Memo).ClientToScreen(Point(X, Y));
PopupMenu.Popup(P.X, P.Y);
end;
end;
← →
-=XP=- © (2005-05-26 13:52) [4]Ну куда же я спешу?! :(
P := TControl(Sender).{...}
P.S. Sorry. :)
← →
pavel_guzhanov © (2005-05-26 14:04) [5]Спасибо большое!!!!!!
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2005.06.14;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.042 c