|
| Delphi formel på een linie der ikke virker Fra : Mathias |
Dato : 23-07-04 13:22 |
|
Hej NG.
Jeg har en form med BorderStyle := bsNone der skal kunne rykkes rundt med
piletasterne. Jeg har derfor lavet en formel, der giver tre "Operator not
applicable to this operand type"-fejl.
Case Key Of
VK_Down: Self.Top := Self.Top + (ssShift In Shift + 16 * (ssCtrl In
Shift) + {<- Fejl efter plus} (8 * Not ((ssCtrl In Shift) And (ssShift In
Shift))) {<- Fejl efter parantes}) {<- Igen fejl efter parantes};
End;
Da jeg ikke er helt bekendt med alle fejl mht. hvad de helt præcist
betyder, men er der nogle der kan hjælpe?
Mvh og på forhånd tak,
Mathias
| |
Mathias (23-07-2004)
| Kommentar Fra : Mathias |
Dato : 23-07-04 13:24 |
|
Mathias <mathias@xyz.com> wrote in
news:Xns952F9232114ACmathiasxyzcom@212.54.64.134:
> Da jeg ikke er helt bekendt med alle fejl mht. hvad de helt præcist
> betyder, men er der nogle der kan hjælpe?
Err, rettelse:
Jeg ikke er helt bekendt med alle fejl mht. hvad de helt præcist betyder,
er der nogle der kan hjælpe?
| |
Mathias (23-07-2004)
| Kommentar Fra : Mathias |
Dato : 23-07-04 13:43 |
|
Jeg har snydt mig udenom ved at bruge flere linier :)
Men det virker stadig ikke?!
procedure TfrmMain.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
var
iLen: Integer;
begin
If ssShift In Shift Then
iLen := 1
Else If ssCtrl In Shift Then
iLen := 16
Else
iLen := 8;
With Self Do
Case Key Of
VK_Down: Self.Top := Self.Top + iLen;
VK_Right: Self.Left := Self.Left + iLen;
VK_Up: Self.Top := Self.Top - iLen;
VK_Left: Self.Left := Self.Left - iLen;
End;
end;
Der kommer ikke nogle fejl eller noget, formen flytter sig bare ikke. Hvad
er der galt?!
Mvh. Mathias
| |
Mathias (23-07-2004)
| Kommentar Fra : Mathias |
Dato : 23-07-04 13:48 |
|
Opdatering:
Det er fordi En checkbox ikke svarer på KeyDown. Men eventen er stadig i
listen over events, så Formen når aldrig at få eventen KeyDown når en
Checkbox har fokus. Hvordan kommer man udenom det?
Mvh.
Mathias
| |
Kurt Guldbæk (23-07-2004)
| Kommentar Fra : Kurt Guldbæk |
Dato : 23-07-04 18:00 |
|
"Mathias" <mathias@xyz.com> skrev i en meddelelse
news:Xns952F96A1E2A1Amathiasxyzcom@212.54.64.134...
> Opdatering:
> Det er fordi En checkbox ikke svarer på KeyDown. Men eventen er stadig i
> listen over events, så Formen når aldrig at få eventen KeyDown når en
> Checkbox har fokus. Hvordan kommer man udenom det?
> Mvh.
> Mathias
Har du på din mainform husket at sætte KeyPreview til True.
Så vidt jeg har forstået er det nødvendigt.
/Kurt
| |
Mathias (23-07-2004)
| Kommentar Fra : Mathias |
Dato : 23-07-04 19:00 |
|
"Kurt Guldbæk" <k@g.s> wrote in news:41014404$0$66469$14726298
@news.sunsite.dk:
> Har du på din mainform husket at sætte KeyPreview til True.
> Så vidt jeg har forstået er det nødvendigt.
Det var lige det jeg manglede!
Mange tak :)
--
Mvh Mathias
| |
Mathias (23-07-2004)
| Kommentar Fra : Mathias |
Dato : 23-07-04 19:06 |
|
Err...
Nej, det var virker med bogstaver, men ikke med piletaster. Jeg tjekkede på
en ny form med en ShowMessage, men det virker desværre kun med bogstaver :(
Andre forslag? ;)
Jeg har oploadet en zip med alle filer, source og sådan noget til
www.mrside.dk/temp1.zip
--
Mvh og på forhånd tak,
Mathias
| |
Harald (24-07-2004)
| Kommentar Fra : Harald |
Dato : 24-07-04 01:58 |
|
"Mathias" <mathias@xyz.com> skrev i en meddelelse
news:Xns952FCC74C8811mathiasxyzcom@212.54.64.134...
> Err...
> Nej, det var virker med bogstaver, men ikke med piletaster. Jeg tjekkede
på
> en ny form med en ShowMessage, men det virker desværre kun med bogstaver
:(
> Andre forslag? ;)
Prøv at kikke på Application.OnMessage og WM_KEYDOWN
Mvh
HK
| |
|
|