AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

WM_MOVING wird nicht ausgelöst

Ein Thema von manuel · begonnen am 12. Nov 2005 · letzter Beitrag vom 12. Nov 2005
Antwort Antwort
manuel

Registriert seit: 17. Sep 2003
Ort: MainBootRecord
72 Beiträge
 
Delphi 4 Client/Server
 
#1

WM_MOVING wird nicht ausgelöst

  Alt 12. Nov 2005, 11:37
Hallo,

ich schreibe gerade ein kleines Tool um Bilder zu verkleinern.
Gibts wie Sand am Meer, ich weiß, aber keines entspricht meinen Vorstellungen.

Jedenfalls zeige ich in einem 2.ten Fenster Informationen zum Bild an.
Wenn das Hauptfenster verschoben wird, möchte ich das Info-Fenster automatisch nachführen.
(wie bei WinAmp)
Den entsprechenden Code dazu gabs ja schon mal hier im Forum: Link

Dazu versuche ich auf die WM_MOVING Message zu reagieren.
Diese Message wird aber scheinbar nicht ausgelöst.


Delphi-Quellcode:
//Eigene Messages für Thread-Kommunikation
const
  WM_ABORT_JOB = WM_USER + 100;
  WM_PICDONE_MESSAGE = WM_USER + 200;
  WM_JOBDONE_MESSAGE = WM_USER + 201;

type
  TForm1 = class(TForm)
   .
   .
   .
  procedure OnPICDONEMessage(var Msg: TMessage);
  message WM_PICDONE_MESSAGE;


  procedure OnJOBDONEMessage(var Msg: TMessage);
  message WM_JOBDONE_MESSAGE;

  procedure OnMoveMessage(var Msg: TMessage);
  message WM_MOVING; //wird nicht ausgelöst


implementation


procedure TForm1.OnMoveMessage(var Msg: TMessage);
var LRect: PRect;
begin
  inherited;
  LRect := Pointer(Msg.LParam);
  Form_picinfo.Left := LRect.Right;
end;

procedure TForm1.OnPICDONEMessage(var Msg: TMessage);
begin
 Progressbar1.StepIt;
 Inc(PicsDone);
 Panel2.Caption:='Status: Bild '+IntToStr(PicsDone)+' von '+IntToStr(PicList.count)+'.';
end;


procedure TForm1.OnJOBDONEMessage(var Msg: TMessage);
begin
 showMessage('Umrechnung beendet.');
 Converter.Suspend;
 Converter.Terminate;
 btn_cancel.Visible:=false;
panel2.Visible:=false;
btn_calculate.Visible:=true;
panel1.Visible:=true;
end;
Die selbst definierten Messages funktionieren einwandfrei.
Nutze ich stat WM_MOVING die Message WM_MOVE funktionierts auch.

Kann mich jemand in die richtige richtung schubsen ?

Gruß

manuel
sometimes I feel diagonally parked in a parallel universe
  Mit Zitat antworten Zitat
Benutzerbild von jim_raynor
jim_raynor

Registriert seit: 17. Okt 2004
Ort: Berlin
1.251 Beiträge
 
Delphi 5 Standard
 
#2

Re: WM_MOVING wird nicht ausgelöst

  Alt 12. Nov 2005, 12:14
Ich weiss jetzt keine Lösung, aber das Problem dürfte sein, dass während des Verschiebens, die Nachrichtenschleife nicht weiter abgearbeitet wird. Das sieht man daran, dass zum Beispiel TTimer in dieser Zeit auch nicht mehr reagieren.
Christian Reich
Schaut euch mein X-COM Remake X-Force: Fight For Destiny ( http://www.xforce-online.de ) an.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:38 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz