AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi Probleme bei selbsterstellten Grafikfenster
Thema durchsuchen
Ansicht
Themen-Optionen

Probleme bei selbsterstellten Grafikfenster

Offene Frage von "schuetzejanett"
Ein Thema von schuetzejanett · begonnen am 23. Jan 2007 · letzter Beitrag vom 23. Jan 2007
Antwort Antwort
schuetzejanett

Registriert seit: 5. Apr 2006
Ort: Fraureuth
62 Beiträge
 
#1

Probleme bei selbsterstellten Grafikfenster

  Alt 23. Jan 2007, 17:00
hallo,

wollte für ein Programm auf meinem form ein grafikfenster haben, in der eine bmp geszeichnet wird und auf dem bild sollen hotspots sein sodas beim draufklicken ein bestimmter wert ausgelesen wird.

Nun zu meiner Frage welches Grafikfenster ist dafür am geeignetsten also image oder Paintbox oder so.
Ich bin mir noch nicht sicher ob ich die Hotspots selber als Flächen zeichne die beim Anklicken dann Farbig dargestellt werden sollen oder sonst unsichtbar sind.
Oder kann man Hotspots auch eine farbe zuordnen die dann bei markiert angezeigt wird so das der nutzer weiß diese Fläche hat er angeklickt?
  Mit Zitat antworten Zitat
Benutzerbild von inherited
inherited

Registriert seit: 19. Dez 2005
Ort: Rosdorf
2.022 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: Welches Grafikfenster geeignet

  Alt 23. Jan 2007, 17:07
Mit den Farben würde das gehen.zB so (im MouseDown des Images zB)
Delphi-Quellcode:
  if ImageX.Picture.Canvas.Pixels[x,y]=clGreen then
    Blar(42);
Nikolai Wyderka

SWIM SWIM HUNGRY!
Neuer Blog: hier!
  Mit Zitat antworten Zitat
schuetzejanett

Registriert seit: 5. Apr 2006
Ort: Fraureuth
62 Beiträge
 
#3

Re: Welches Grafikfenster geeignet

  Alt 23. Jan 2007, 17:36
hallo,

habe mir jetzt eine Klasse Dartboard erstellt die von TPainbox abgeleitet ist und ein paintbox mit einem bild Dartbrett zeichnen soll.

Delphi-Quellcode:
unit DartBoard;

interface

uses
   Messages, SysUtils, Variants, Classes, Graphics, Controls,
   Dialogs, ExtCtrls, StdCtrls;

type
  TImageBox = class(TPaintBox)
  private
    Tboard: TGraphic;

  public
    constructor Create(AOwner: TComponent);
    destructor Destroy; override;
    procedure OnPaint(Sender : TObject);
  end;

implementation

{ TImageBox }

constructor TImageBox.Create;
begin
  inherited Create(AOwner);
  TBoard := TGraphic.Create;
  TBoard.LoadFromFile('Dartbrett.bmp');
end;

destructor TImageBox.Destroy;
begin
  FreeAndNil(TBoard);
  inherited;
end;

procedure TImageBox.OnPaint(Sender : TObject);
begin
  Canvas.Draw(0,0,TBoard);
end;

end.
Wenn ich diese paintbox jewtzt in meinem Formular erstellen will, bekomme ich einen fehler. Als ich versucht habe diesen mit dem debugger auf dem grund zu gehen. habe ich gesehen das er erst den kontruktor und dann gleich wieder den destruktor aufruft was mache ich falsch.

Delphi-Quellcode:
    private Gameboard : TImageBox;
...

    Gameboard := TImageBox.Create(self);
    Gameboard.Left := 410;
    Gameboard.Top := 125;
    Gameboard.Width := 350;
    Gameboard.height := 350;
  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 16: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