Toon posts:

[delphi] Help!het zal wel een een noobfout zijn

Pagina: 1
Acties:
  • 49 views sinds 30-01-2008

Verwijderd

Topicstarter
Okey ik ben gewoon wat in delphi 6 aan het kloten, alleen kom ik nu niet verder met mouse events(procedures).
Hij leest totaal nix in, maar hij geeft ook geen compile/run fouten.

source:

unit Unit1;

interface

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

type
TTForm1 = class(TForm)
StatusBar1: TStatusBar;
procedure FormMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
procedure FormMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
procedure FormMouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
private
{ Private declarations }
public
{ Public declarations }
end;

var
TForm1: TTForm1;
StartX, StartY: Integer;{Declare in interface section of forms unit}


implementation

{$R *.dfm}

procedure TTForm1.FormMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
StartX := X;
StartY := Y;
end;


procedure TTForm1.FormMouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
TForm1.Canvas.Rectangle(StartX, StartY, X, Y);
StatusBar1.Panels[0].Text := '';
StatusBar1.Panels[1].Text := '';
StatusBar1.Panels[2].Text := '';
StatusBar1.Panels[3].Text := '';
end;

procedure TTForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
begin
if ssLeft in Shift then { make sure button is down }
begin
if Y > StartY then
begin
StatusBar1.Panels[0].Text := 'Top: ' + IntToStr(StartY);
StatusBar1.Panels[2].Text := 'Bottom: ' + IntToStr(Y);
end
else
begin
StatusBar1.Panels[0].Text := 'Top: ' + IntToStr(Y);
StatusBar1.Panels[2].Text := 'Bottom: ' + IntToStr(StartY);

end;
if X > StartX then
begin
StatusBar1.Panels[1].Text := 'Left: ' + IntToStr(StartX);
StatusBar1.Panels[3].Text := 'Right: ' + IntToStr(X);
end
else
begin
StatusBar1.Panels[1].Text := 'Left: ' + IntToStr(X);
StatusBar1.Panels[3].Text := 'Right: ' + IntToStr(StartX);
end;
end;
end;
end.

Verwijderd

Ik zou moest ik van u zijn die code tsn code tags plaatsen zal veel overzichtelijker zijn om te lezen want kdenk niet dat iemand zin heeft om zo de code te snappen

  • sds
  • Registratie: Juni 2002
  • Laatst online: 28-08 19:06

sds

Wat bedoel je met hij leest niks in?

Verwijderd

je hebt alle variablen niet eens gedeclareerd

  • sds
  • Registratie: Juni 2002
  • Laatst online: 28-08 19:06

sds

dat heeft ie wel, alleen op een beetje rare plaats, maar goed... mijn vermoeden is dat de tekst niet verschijnt in de statusbar en dan helpt een StatusBar1.Refresh of StatusBar1.Repaint op het einde van de mousemove...

  • whoami
  • Registratie: December 2000
  • Laatst online: 20:22
Zet de code inderdaad in het vervolg tussen code-tags.
Lees ook even de P&W Quickstart, P&W is geen helpdesk waar je je code zomaar achterlaat en een paar uurtjes nadien ze weer werkend kunt ophalen.
Geef aan wat je al geprobeerd hebt, wat het moet doen, wat het niet doet, waarom je denkt dat het niet werkt...
Verder kan zelf wat moeite doen ook geen kwaad. Debug je programma eens. Succes. :)

https://fgheysels.github.io/

Pagina: 1

Dit topic is gesloten.