Click direito do mouse e abra um menu popup
galera tenho um popup em uma Image1
como faço pro popup aparecer no cilque esquerdo normal, nao no direito
Valew, tem alguma coisa a evr com akele WMI?!
Abraços...
como faço pro popup aparecer no cilque esquerdo normal, nao no direito
Valew, tem alguma coisa a evr com akele WMI?!
Abraços...
Tremonti
Curtidas 0
Respostas
Sanses
17/12/2004
já a algum tempo vi um post aqui mesmo no fórum onde havia uma função que testava qual botão do mouse havia sido pressionado. Da uma procurada ai que vc encontra, ai é só modificar para que faça o que vc deseja
GOSTEI 0
Sanses
17/12/2004
olha, pode ser que vc encontre uma forma mais fácil e melhor de se fazer isso, mas se quiser, fiz um exemplo aqui de como vc pode trocar os botões do mouse e depois destrocar, tambem pode testar se estão trocados ou não - as funções foram retiradas do dtdelphi 2.5. Com estas funções basta vc fazer com que quando o mouse estiver emcima do seu image ele troque os botões, ai com o popup ligado ao image, basta adicionar os procdimentos que devem ocorrer. Dá uma olhada na unit:
Espero que lhe seja útil.
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
Button3: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
function MouseSwapButtons(const Swap: boolean): boolean;
begin
Result := Windows.SwapMouseButton(LongBool(Swap));
end;
function MouseSwappedButtons: boolean;
begin
Result := GetSystemMetrics(SM_SWAPBUTTON) <> 0;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
if MouseSwappedButtons then
showmessage(´trocado´)
else
showmessage(´correto´)
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
MouseSwapButtons(true);
end;
procedure TForm1.Button3Click(Sender: TObject);
begin
MouseSwapButtons(false);
end;
end.
Espero que lhe seja útil.
GOSTEI 0
Hebrao
17/12/2004
E ai amigons? Beleza?
Se for só aparecer o seu popup com o clique normal, faça o seguinte...
No evento OnClick da figura, coloque o seguinte codigo:
[b:2e2d9baa58]PopupMenu.Popup(x, y);[/b:2e2d9baa58] // Onde x e y são as pos. que o menu aparece.
Ex:
PopupMenu.Popup(100, 150);
Espero ter ajudado. :D
Falow.
Se for só aparecer o seu popup com o clique normal, faça o seguinte...
No evento OnClick da figura, coloque o seguinte codigo:
[b:2e2d9baa58]PopupMenu.Popup(x, y);[/b:2e2d9baa58] // Onde x e y são as pos. que o menu aparece.
Ex:
PopupMenu.Popup(100, 150);
Espero ter ajudado. :D
Falow.
GOSTEI 0
Massuda
17/12/2004
como faço pro popup aparecer no cilque esquerdo normal, nao no direito
Para que seu popup apareça quando der um clique no Image1, faça algo assim (não testei)...type TSeuForm = class(... ... private FUltimoX, FUltimoY: Integer; ... // no evento OnMouseDown do seu TImage procedure TSeuForm.Image1MouseDown(... begin FUltimoX := X; FUltimoY := Y; ... end; // no evento OnClick do seu TImage... procedure TSeuForm.Image1Click(... begin SeuPopup.Popup(FUltimoX, FUltimoY); end;
GOSTEI 0
Marcio.theis
17/12/2004
Em uma aplicação minha eu fiz desta forma:
Coloquei no evento OnClick do componente Image o seguinte código:
Coloquei no evento OnClick do componente Image o seguinte código:
var Pt: TPoint; begin GetCursorPos(Pt); PopupMenu.Popup(Pt.x, Pt.y);
GOSTEI 0