Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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.047 c
1-1117038148
Тёма_бест
2005-05-25 20:22
2005.06.14
TMainMenu заглючил


14-1116861462
Ломброзо
2005-05-23 19:17
2005.06.14
ГОСТ 21552-84


9-1109845708
Alek Aaz
2005-03-03 13:28
2005.06.14
"Потрошитель" GTA. Парсер и конвертор dff и txd файлов.


8-1108377216
_micha
2005-02-14 13:33
2005.06.14
Как приближённо оценить совпадение двух RGB- цветов ?


1-1117376417
aha
2005-05-29 18:20
2005.06.14
Как красиво как в Ворде например сделать функцию переименования





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский