Форум: "WinAPI";
Текущий архив: 2003.10.06;
Скачать: [xml.tar.bz2];
ВнизOnMouseDown Найти похожие ветки
← →
Pauk (2003-07-31 13:43) [0]как програмно задать при нажатии левой клавиши мыши, выполнить действия правой клавиши
← →
Yanis (2003-07-31 14:27) [1]Лови
WM_LBUTTONDOWN
и меняй наWM_RBUTTONDOWN
.
← →
AlexRush (2003-07-31 14:34) [2]як дiти...
procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
case Button of
mbLeft: doOnLeft(Sender,Shift,X,Y);
( Sender,Shift,X,Y)як дiти...
procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
case Button of
mbLeft: doOnLeft(Sender,Shift,X,Y);
mbRight: doOnLeft(Sender,Shift,X,Y);
end;
end;
али я вопроса не понял ??
P.S. алиты его неприльно задал ??
← →
AlexRush (2003-07-31 14:35) [3]:)
т.е.mbRight: doOnRight(Sender,Shift,X,Y);
8}
← →
Pauk (2003-07-31 15:58) [4]а что такое doOnRight? Delphi упорно его не распознает
← →
pasha676 (2003-07-31 16:31) [5]Лол!!!
Пользовательская процедура.
Самый простой способ имхо по маусдауну анализировать
Shift из
FormMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
примерно так
if (ssLeft in Shift)and(Right in Shift) then ...
← →
AlexRush (2003-07-31 16:35) [6]для тех, кто в танке...
procedure doOnRight(Sender:TObject;Shift:TShiftState;X,Y:integer);
begin
ShowMessage("Right mouse button down on "+TComponent(Sender).Name
+#13" Position = "+IntToStr(X)+","+IntToStr(Y));
end;
procedure doOnLeft(Sender:TObject;Shift:TShiftState;X,Y:integer);
begin
ShowMessage("Left mouse button down on "+TComponent(Sender).Name
+#13" Position = "+IntToStr(X)+","+IntToStr(Y));
end;
← →
AlexRush (2003-07-31 16:42) [7]2pasha676 (31.07.03 16:31)
> ... по маусдауну анализировать Shift из
FormMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
- ???????? С Каих пор в MSDN (я правильно понял значение "маусдауну" ?) про VCL пишут ?
← →
Игорь Шевченко (2003-07-31 16:50) [8]SwapMouseButton
← →
Pauk (2003-07-31 17:04) [9]AlexRush, я и так мог определить какая нажата клавиша. Мне popup надо подвязать к левой клавише
← →
AlexRush (2003-07-31 17:20) [10]Pauk (31.07.03 13:43)> как програмно задать при нажатии левой клавиши мыши, выполнить действия правой клавиши
Pauk (31.07.03 17:04)> Мне popup надо подвязать к левой клавише
AlexRush © (31.07.03 14:34)> али я вопроса не понял ?? P.S. али ты его неприльно задал
So....
SwapMouseButton в данном случае не подойдет, так как поменяет кнопки "глобаьно".
А тебе отак надо:
procedure TForm1.Form1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
var ptScreen:TPOINT;
begin
if Button=mbLeft
then begin
ptScreen.X:=X;
ptScreen.Y:=Y;
ptScreen:=TControl(Sender).ClientToScreen(ptScreen);
( ptScreen.X,ptScreen.Y)Pauk (31.07.03 13:43)> как програмно задать при нажатии левой клавиши мыши, выполнить действия правой клавиши
Pauk (31.07.03 17:04)> Мне popup надо подвязать к левой клавише
AlexRush © (31.07.03 14:34)> али я вопроса не понял ?? P.S. али ты его неприльно задал
So....
SwapMouseButton в данном случае не подойдет, так как поменяет кнопки "глобаьно".
А тебе отак надо:
procedure TForm1.Form1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
var ptScreen:TPOINT;
begin
if Button=mbLeft
then begin
ptScreen.X:=X;
ptScreen.Y:=Y;
ptScreen:=TControl(Sender).ClientToScreen(ptScreen);
PopupMenu1.Popup(ptScreen.X,ptScreen.Y);
end;
end;
← →
Pauk (2003-07-31 17:48) [11]спасибо тебе, о величайший из великих! С уважением лобызаю твои пятки, Сэнсэй
← →
AlexRush (2003-07-31 18:35) [12]Pauk (31.07.03 17:48) Да нест Оит... день у меня сегодня трудный... А вопрос можно было изначально сформулировать (твою вторую ветку я обнаружил только после последнего поста сюда).
← →
AlexRush (2003-07-31 18:36) [13]2pasha676 (31.07.03 16:31) - извиняй, загнался... :) надож было так спутать... 8|
Страницы: 1 вся ветка
Форум: "WinAPI";
Текущий архив: 2003.10.06;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.011 c