/ Forside / Teknologi / Udvikling / Delphi/Pascal / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Delphi/Pascal
#NavnPoint
oldwiking 603
jrossing 525
rpje 520
EXTERMINA.. 500
gandalf 460
gubi 270
DJ_Puden 250
PARKENSS 230
technet 210
10  jdjespers.. 200
En af de nemme
Fra : Henning Madsen


Dato : 29-05-03 21:28

Først vel jeg sige Lars B. Dybdahl mange tak for et hurtigt svar, det var
lige det jeg manglede.

I samme forbendelse leger jeg lidt med museknapper og undre mig over at
procedure 2 overhovedet ikke virker, procedure 1 virker ok.

procedure TForm1.Panel1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
If ssLeft in Shift then Edit3.Text := 'Trykket på venstre knap';
If ssMiddle in Shift then Edit3.Text := 'Trykket på hjulet';
If ssRight in Shift then Edit3.Text := 'Trykket på højre knap';
end;

procedure TForm1.Panel1MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
//Virker ikke
If ssLeft in Shift then Edit2.Text := 'Venstre knap op';
If ssMiddle in Shift then Edit2.Text := 'Hjulet op';
If ssRight in Shift then Edit2.Text := 'Højre knap op';
end;
Jeg har kaldt det "En af de nemme" for det er nok mig der har misforstået
noge f.eks. hvorfor 'in Shift'.
På forhånd tak for et evt. svar.

Med venlig hilsen
Henning Madsen



 
 
Klaus Petersen (30-05-2003)
Kommentar
Fra : Klaus Petersen


Dato : 30-05-03 00:01


> procedure TForm1.Panel1MouseUp(Sender: TObject; Button: TMouseButton;
> Shift: TShiftState; X, Y: Integer);
> begin
> //Virker ikke
> If ssLeft in Shift then Edit2.Text := 'Venstre knap op';
> If ssMiddle in Shift then Edit2.Text := 'Hjulet op';
> If ssRight in Shift then Edit2.Text := 'Højre knap op';
> end;

> Jeg har kaldt det "En af de nemme" for det er nok mig der har misforstået
> noge f.eks. hvorfor 'in Shift'.

Uden at have testet dit eksempel....

Kunne det tænkes at det er fordi knappen på dette tidspunkt (på mouseup)
ikke er trykket ned?

Med andre ord at hændelsen indtræffer *efter* den pågældende museknap er
sluppet.



Calle. (30-05-2003)
Kommentar
Fra : Calle.


Dato : 30-05-03 10:58

Henning Madsen wrote:
> Først vel jeg sige Lars B. Dybdahl mange tak for et hurtigt svar, det
> var lige det jeg manglede.
>
> I samme forbendelse leger jeg lidt med museknapper og undre mig over
> at procedure 2 overhovedet ikke virker, procedure 1 virker ok.
>
> procedure TForm1.Panel1MouseDown(Sender: TObject; Button:
> TMouseButton; Shift: TShiftState; X, Y: Integer);
> begin
> If ssLeft in Shift then Edit3.Text := 'Trykket på venstre knap';
> If ssMiddle in Shift then Edit3.Text := 'Trykket på hjulet';
> If ssRight in Shift then Edit3.Text := 'Trykket på højre knap';
> end;
>
> procedure TForm1.Panel1MouseUp(Sender: TObject; Button: TMouseButton;
> Shift: TShiftState; X, Y: Integer);
> begin
> //Virker ikke
> If ssLeft in Shift then Edit2.Text := 'Venstre knap op';
> If ssMiddle in Shift then Edit2.Text := 'Hjulet op';
> If ssRight in Shift then Edit2.Text := 'Højre knap op';
> end;
> Jeg har kaldt det "En af de nemme" for det er nok mig der har
> misforstået noge f.eks. hvorfor 'in Shift'.
> På forhånd tak for et evt. svar.
>
er det bevidst at du bruger edit3 i den første og edit2 i den anden?

--
Calle



Lars B. Dybdahl (30-05-2003)
Kommentar
Fra : Lars B. Dybdahl


Dato : 30-05-03 12:37

Henning Madsen wrote:
> procedure TForm1.Panel1MouseDown(Sender: TObject; Button: TMouseButton;
> Shift: TShiftState; X, Y: Integer);
> If ssLeft in Shift then Edit3.Text := 'Trykket på venstre knap';

Parameteren Button indeholder oplysning om knappen, hvorimod Shift
indeholder oplysning om shift-tasten, control-tasten og alt-tasten.

Dine if'er skal derfor se på Button, og ikke på Shift.

Hilsen,

Lars.

--
Freelance programmør
Dybdahl Engineering: http://dybdahl.dk/
Delphi brugergruppen DAPUG: http://dapug.dk/
Delphi oversættelsesværktøjer: http://dxgettext.sf.net/

Søg
Reklame
Statistik
Spørgsmål : 177580
Tips : 31968
Nyheder : 719565
Indlæg : 6409084
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste