AGB  ·  Datenschutz  ·  Impressum  







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

Ereignise abfangen

Ein Thema von mimi · begonnen am 14. Sep 2006 · letzter Beitrag vom 15. Sep 2006
Antwort Antwort
mimi

Registriert seit: 1. Dez 2002
Ort: Oldenburg(Oldenburg)
2.008 Beiträge
 
FreePascal / Lazarus
 
#1

Ereignise abfangen

  Alt 14. Sep 2006, 16:33
Hallo,
ich möchte bestimmte ereignise abfangen in meinen fall währe es jetzt das OnMouseMove ereignis.
und zwar vom canvas. merh habe ich nicht.

ich habe ein form das ist eine paintbox drauf und ich möchte jetzt nicht einfach:
Paintbox.onmousemove schreiben. ich möchte "einfach" selbst ereingise abfangen die von form1 gesendet werden z.b. onmousemove, onMouseDown, up, und soweiter....

kann mir da jemmand weiter helfen ?

bin gerade dabei eine eigene listbox zu schreiben.
Mein ziel ist es: du musst sie nur mit Create erstellen und keine ereignise definieren... es soll wie bei der normalen listbox std. ereignise geben. die für das verhalten zuständig sind..

Ich hoffe ich konnte die frage richtig formulieren so das die verstänlich ist...
im moment suche ich nach mit google nach TCanvas onClick aber so recht werde ich leider nicht fündig
Michael Springwald
MFG
Michael Springwald,
Bitte nur Deutsche Links angeben Danke (benutzte überwiegend Lazarus)
  Mit Zitat antworten Zitat
uwewo

Registriert seit: 14. Jul 2004
Ort: Karlsruhe
479 Beiträge
 
Delphi 2006 Professional
 
#2

Re: Ereignise abfangen

  Alt 14. Sep 2006, 17:03
Schau doch mal das hier an, sollte Dir helfen.

DP
Uwe
  Mit Zitat antworten Zitat
mimi

Registriert seit: 1. Dez 2002
Ort: Oldenburg(Oldenburg)
2.008 Beiträge
 
FreePascal / Lazarus
 
#3

Re: Ereignise abfangen

  Alt 14. Sep 2006, 17:18
danke für die antwort.

Sehe ich das richtig das ich nur von TWinControl ableiten müste in meinen fall ?
die frage währe nur: die TCaption klasse die ich geschrieben hat soll ja nicht die paintbox oder ein form sehen. aber ich werde es gleich mal versuchen... mal schauen !
Michael Springwald
MFG
Michael Springwald,
Bitte nur Deutsche Links angeben Danke (benutzte überwiegend Lazarus)
  Mit Zitat antworten Zitat
mimi

Registriert seit: 1. Dez 2002
Ort: Oldenburg(Oldenburg)
2.008 Beiträge
 
FreePascal / Lazarus
 
#4

Re: Ereignise abfangen

  Alt 14. Sep 2006, 17:30
es geht leider nicht. es wird kein ereignis ausgelöst:
Delphi-Quellcode:
constructor TmyCaption.Create(paint:TPaint;x,y,w,h:Integer; Caption:String);
begin
  fpaint:=paint;
  fCaption:=Caption;
  fpos.x:=x; fpos.y:=y; fsize.X:=w; fSize.y:=h;
  fpaint.bufferBmp.Canvas.Pen.Style:=psSolid;
  CaptionDir(1);
  isSel:=False;
//
  Left:=x;Top:=y;
  Width:=w; Height:=h;
  BoundsRect:=rect(x,y,w,h);

  OnMouseMove:= MouseMouse;
end;
habe ich werte vergessen ?brauche ich ein handel ?
Michael Springwald
MFG
Michael Springwald,
Bitte nur Deutsche Links angeben Danke (benutzte überwiegend Lazarus)
  Mit Zitat antworten Zitat
mimi

Registriert seit: 1. Dez 2002
Ort: Oldenburg(Oldenburg)
2.008 Beiträge
 
FreePascal / Lazarus
 
#5

Re: Ereignise abfangen

  Alt 14. Sep 2006, 21:49
habe was gefunden im internet:
Delphi-Quellcode:
procedure TMycaption.MM(var Msg: tagMSG;var Handled: Boolean);
var
  Point:Tpoint;
begin

  if msg.message = WM_MOUSEMOVE then begin
     Point.X:=( Msg.lParam and $FFFF);
     Point.Y:=((Msg.lParam shr 16) and $FFFF);
     mx:=Point.x; my:=point.y;
     isSel:=GetSel(-1,-1);
  end;
end;
Michael Springwald
MFG
Michael Springwald,
Bitte nur Deutsche Links angeben Danke (benutzte überwiegend Lazarus)
  Mit Zitat antworten Zitat
mimi

Registriert seit: 1. Dez 2002
Ort: Oldenburg(Oldenburg)
2.008 Beiträge
 
FreePascal / Lazarus
 
#6

Re: Ereignise abfangen

  Alt 14. Sep 2006, 23:30
es geht leider doch nicht der grund es liegt an application.onmessage da wird das lezte erstelte objekt zugeiwesen.. ich bräuchte was allgmeines.. warum funktioniert das hier eigentlich nicht:
Delphi-Quellcode:
  private
    fPaint:TPaint;
    mx,my:Integer;
// fMouseMove:TMouseMoveEvent;
    procedure WMMouseMove(var Message: TWMMouseMove); message WM_MOVE;

.....

procedure TMycaption.WndProc(var msg: TMessage);
begin
  
  ShowMEssage('O');
  //case msg.Msg of
// MY_MESSAGE: Showmessage(PChar(msg.LParam));
// end;
end;

procedure TMycaption.WMMouseMove(var Message: TWMMouseMove);
begin
  ShowMEssage('O');
end;
tmycaption hat im moment nur TObject als vorfahren
Michael Springwald
MFG
Michael Springwald,
Bitte nur Deutsche Links angeben Danke (benutzte überwiegend Lazarus)
  Mit Zitat antworten Zitat
mimi

Registriert seit: 1. Dez 2002
Ort: Oldenburg(Oldenburg)
2.008 Beiträge
 
FreePascal / Lazarus
 
#7

Re: Ereignise abfangen

  Alt 15. Sep 2006, 09:22
mein eigentliches problem ist:
wie kann ich aus einem canvas objekt eine komponente machen ?
ich zeichne mit hilfe von canvas mehre objekte:
eine komplet eigene listbox. jeder eintrag ist eine klasse.

Und dieses objekt möchte ich als komponente defninieren mit alldrum und dran.
Und sie soll auch windows botschaften erhalten wie:
MouseMove, down und soweiter.

ich habe mir schon die jvcl komponenten angesehen aber der qullcode ist einfach viel zu umfangreich....

Ich hoffe die frage ist verstänlich geschrieben.

im internet finde ich leider einfach nichts !
Michael Springwald
MFG
Michael Springwald,
Bitte nur Deutsche Links angeben Danke (benutzte überwiegend Lazarus)
  Mit Zitat antworten Zitat
mimi

Registriert seit: 1. Dez 2002
Ort: Oldenburg(Oldenburg)
2.008 Beiträge
 
FreePascal / Lazarus
 
#8

Re: Ereignise abfangen

  Alt 15. Sep 2006, 10:07
habs hinbekommmen nach einigen probieren und suchen mit hilfe diesen beitrages:
http://www.delphipraxis.net/internal...t=message+hook
ich weiß nur nicht ob das der std. weg ist bei alle komponenten !
Michael Springwald
MFG
Michael Springwald,
Bitte nur Deutsche Links angeben Danke (benutzte überwiegend Lazarus)
  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 02:56 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