[Delphi] Przesuwanie formy.

0

Do przesuwania formy wykorzystuję zdarzenie OnMouseMove:

procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
if ssleft in shift then
begin
ReleaseCapture;
Form1.perform(WM_syscommand, $F012, 0);
end;
end;

Ustawienia myszki są często przestawiane dla leworęcznych, i właśnie wtedy po uruchomieniu programu forma przykleja mi się do "Myszki".
Na niektórych komputerach dzieję się to zawsze, na innych czasem.

Czy można jakoś temu zaradzić.

0

<font color="green">Na niektórych komputerach dzieję się to zawsze, na innych czasem</span>

Chyba to nie kwestia komputera a systemu. Pewnie na jądrze 2000 (czyli też XP) nie działa, albo nie działa na 98/98/ME

0

Ja używam Windows Me i nic takiego się nie dzieje więc z dużym prawdopodobieństwem zależy to od systemu.
Pogrzebie troche w moich programikach i poszukam innej procki do tego bo zanim odkryłem ten sposub zawsze robiłem to przy pomocy komunikatów.

0

<font color="green">Na niektórych komputerach dzieję się to zawsze, na innych czasem</span>

Chyba to nie kwestia komputera a systemu. Pewnie na jądrze 2000 (czyli też XP) nie działa, albo nie działa na 98/98/ME

nie działa na 98 i ME , a zależy chyba od sprzętu i od prędkości z jaką puszczam klawisz myszki po "dwukliku" :-D .

0

zrób tak:
1 wywal tamta procke.

  1. W private wstaw

[code]procedure moveform(var msg:TMessage); message WM_NCHITTEST;[/code]

3.A do implementation

[code]procedure TForm1.moveform(var msg:TMessage);
begin
msg.Result := HTCAPTION;
end;[/code]

Powinno działać :)

0

Dzięki zimny
Jjednak został mi jeszcze problem, ponieważ większą część formy pokrywają DBGrid`y i teraz na nich nie mogę przesunąć formy, ale myślę że z tym sobie poradzę.
No chyba że ktoś zna już rozwiązanie.

1 użytkowników online, w tym zalogowanych: 0, gości: 1