AGB  ·  Datenschutz  ·  Impressum  







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

GetCursorPos

Ein Thema von Anuran · begonnen am 5. Aug 2010 · letzter Beitrag vom 5. Aug 2010
Antwort Antwort
Anuran

Registriert seit: 4. Aug 2010
Ort: Hagen
3 Beiträge
 
Delphi 7 Enterprise
 
#1

GetCursorPos

  Alt 5. Aug 2010, 00:05
hai.

habe vor kurzen erst mit delphi angefangen. ein paar tutorials hab ich schon durch aber mit GetCursorPos hab ich grad ein problem.

habe den code zwar gefunden und auch schon versucht einzubauen aber bekomme da einige fehler und weiss nicht weiter

Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls;

type
  TForm1 = class(TForm)
    Image1: TImage;
    Image2: TImage;
  private
    { Private-Deklarationen }
  public
  procedure WMNCHitTest(var msg: TWMNCHitTest);
  message wm_NCHitTest;
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.WMNCHitTest(var msg: TWMNCHitTest);
begin
  inherited;
  if msg.Result = htClient then
    msg.Result := htCaption;
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
  Label1.Caption := IntToStr(Mouse.CursorPos.X);
  Label2.Caption := IntToStr(Mouse.CursorPos.Y);
end;

end.
Code:
[Fehler] Unit1.pas(35): Undefinierter Bezeichner: 'Timer1Timer'
[Fehler] Unit1.pas(35): ';' erwartet, aber '(' gefunden
[Fehler] Unit1.pas(37): Undefinierter Bezeichner: 'Label1'
[Fehler] Unit1.pas(38): Undefinierter Bezeichner: 'Label2'
[Fataler Fehler] Project1.dpr(5): Verwendete Unit 'Unit1.pas' kann nicht compiliert werden
was hab ich falsch gemacht?

Geändert von mkinzler ( 5. Aug 2010 um 05:35 Uhr) Grund: Code-Tag durch Delphi-Tag ersetzt
  Mit Zitat antworten Zitat
Teekeks

Registriert seit: 19. Okt 2008
Ort: Dresden
765 Beiträge
 
FreePascal / Lazarus
 
#2

AW: GetCursorPos

  Alt 5. Aug 2010, 00:52
Ich empfehle dir ein Grundlagen Tutorial zu lesen.

Aber konkret hierzu:
Label1+Label2 nicht gefunden: Du brauchst erstmal auch 2 Labels mit den entsprechenden Namen auf deinem Formular.

Timer1Timer: Hier gibt es gleich mehrere Probleme:
1.) Diese Prozedur wurde nicht oben im Formular mit angegeben.
Also solltest du dieses hier:
procedure Timer1Timer(Sender: TObject); nach dem Image2:TImage; einfügen.
2.) Timer1Timer sollte von einer Komponente namens "Timer1" ausgelöst werden. Ziehe dir eine solche auf dein Formular und gehe im Objektinspektor auf "Ereignisse" und wähle bei "OnTimer" deine Prozedur aus.

Es sieht ganz danach aus als hättest du diese Zeilen einfach nur Kopiert ohne versucht zu haben sie zu verstehen.
Damit wirst du im Programmieren nicht weit kommen und Spaß macht es auch nicht, weil man keinerlei eigene Leistung zeigt. Dann kann man auch gleich ein fertiges Programm nehmen.

Versuche also in Zukunft am besten alles was du irgendwo weg Kopierst (wenn das denn unbedingt sein muss) auch zuerst vollständig zu verstehen, sonst könnte man dir ja noch sonst was gleich noch mit ein schmuggeln.

Doch am allerbesten wäre es, wenn du nichts wegkopieren musst, sondern alles selbstständig schreibst. Da ist die Freude am größten und man ist sich auch sicher das man es verstanden hat was man da geschrieben hat.
Ich weiß natürlich das dies am Anfang noch nicht ganz 100%ig gehen wird, doch darauf solltest du hinarbeiten.
Peter
"Div by zero Error" oder auch: "Es geht auch ohne Signatur!".
  Mit Zitat antworten Zitat
Anuran

Registriert seit: 4. Aug 2010
Ort: Hagen
3 Beiträge
 
Delphi 7 Enterprise
 
#3

AW: GetCursorPos

  Alt 5. Aug 2010, 13:31
habe mir bisher 3 grundlagen, von verschiedenen seiten, durchgelesen und rumprobiert. und "hello world" oder "taschenrechner" helfen bei meinem vorhaben nicht und sobald man die grundlagen durch hat wird man mit den "hardcore" sachen bombardiert die mir momentan einfach nur kopfschmerzen bereiten^^

da hast du recht. im moment ist copy&paste und zu hoffen, nette leute zu treffen die mir ein paar sachen erklären ganz gut. danke dir auch für die hilfe

http://www.delphi-treff.de/tutorials/grundlagen/
http://www.bergt.de/workshop/delphi/inhalt.htm
http://www.math.uni-leipzig.de/pool/...lphi/index.htm

kennst du vieileicht noch eine seite die den sprung von grundlagen zu den schweren sachen etwas detailierter beschreibt?
  Mit Zitat antworten Zitat
Teekeks

Registriert seit: 19. Okt 2008
Ort: Dresden
765 Beiträge
 
FreePascal / Lazarus
 
#4

AW: GetCursorPos

  Alt 5. Aug 2010, 14:11
Nunja. Wenn man die Grundlagen verstanden hat, muss man sich für eine bestimmte Richtung entscheiden, die einem am meisten Interessiert oder die man gerade benötigt.
So eignet man sich Stück für Stück immer neues Wissen auch in den Komplizierteren gebieten an.
So habe ich das gemacht und mache es auch immer noch. Denn man kann nicht in allen Gebieten alles Wissen (das tue ich auch bei weitem nicht und ich denke auch alle anderen haben dieses Problem.).

Wenn man dann mal auf etwas stößt was nirgends beschrieben steht und was man auch nicht durch herumprobieren heraus bekommt, dann kan man guten Gewissens auch mal nachfragen.

Ich habe am Anfang auch mit den Tutorials vom Delphi-Treff gearbeitet.
Nehme dir viel Zeit auch wirklich alles was dort geschrieben steht zu verstehen, genau zu verinnerlichen was dort genau geschieht. Und nehme dir auch die Zeit den Taschenrechner und andere kleinere Projekte zu verstehen. denn das ist dann die Praktische Umsetzung des vorher gelernten.
Versuche immer das bereits gelernte in deinem speziellen Fall anzuwenden und wenn das nicht funktioniert etwas anderes aus zu Probieren.
Peter
"Div by zero Error" oder auch: "Es geht auch ohne Signatur!".
  Mit Zitat antworten Zitat
Benutzerbild von lbccaleb
lbccaleb

Registriert seit: 25. Mai 2006
Ort: Rostock / Bremen
2.037 Beiträge
 
Delphi 7 Enterprise
 
#5

AW: GetCursorPos

  Alt 5. Aug 2010, 17:19
So sollte das wohl sein??
Angehängte Dateien
Dateityp: rar screencoords.rar (1,8 KB, 12x aufgerufen)
Martin
MFG Caleb
TheSmallOne (MediaPlayer)
Die Dinge werden berechenbar, wenn man die Natur einer Sache durchschaut hat (Blade)
  Mit Zitat antworten Zitat
Anuran

Registriert seit: 4. Aug 2010
Ort: Hagen
3 Beiträge
 
Delphi 7 Enterprise
 
#6

AW: GetCursorPos

  Alt 5. Aug 2010, 18:43
jep bis jetzt funktioniert es wunderbar. vieleicht sollte ich mal zeigen worauf ich überhaupt hinaus will. im prinzip brauche ich "GetMousePos" nur um irgentwie auf der x.bmp ein MouseEvent zu machen um damit das programm schliessen zu können damit ich keine titleBar mehr habe.

an andere stelle hab ich gelesen das soll mit "GetWindowRect" funktionieren. die delphi hilfe findet zu dem stichwort nichtmal etwas, bei der google suche werd ich bombardiert mit foren einträgen die zwar ein ähnliches problem haben aber irgendwie auch doch nicht und wenn ich bei MSDN gucke dann kommt:
Code:
void GetWindowRect(
   LPRECT lpRect
) const;
da wüsste ich schonmal wieder nicht weiter. es gibt keine "procedure" oder ähnliches in dem code. nirgens wird beschrieben was ich damit machen soll. und wie schon gesagt, die grundlagen helfen mir leider auch nicht weiter.

so siehts bei mir aus:
http://250kb.de/u/100805/j/QpTqUesbqBed.JPG

versteht mich nicht falsch, erwarte keine komplettlösung oder so. nur ein paar hilfestellungen die meinem level angemessen sind und mich stück für stück ins ziel bringen
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.542 Beiträge
 
Delphi 11 Alexandria
 
#7

AW: GetCursorPos

  Alt 5. Aug 2010, 19:12
Also willst Du die Titlebar ausblenden und bei Click auf das rot hinterlegte "X" das Fenster schließen? Dann kannst Du sehr wohl mit Mouse.CursorPos arbeiten, musst das aber dann von Screen- in Client-Koordinaten umrechnen. Dafür gibt es die Methode ScreenToClient von TControl (glaube ich). Nun musst Du nur noch schauen, ob die X-Koordinate >= (Formularbreite - Grafikbreite) und die Y-Koordinate <= Grafikhöhe ist.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  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 18:19 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