AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Gleisbild??? mit was??? Paintbox für delphi??
Thema durchsuchen
Ansicht
Themen-Optionen

Gleisbild??? mit was??? Paintbox für delphi??

Ein Thema von snow · begonnen am 25. Aug 2007 · letzter Beitrag vom 26. Aug 2007
Antwort Antwort
Seite 2 von 3     12 3      
snow

Registriert seit: 28. Jun 2007
277 Beiträge
 
#11

Re: Gleisbild??? mit was??? Paintbox für delphi??

  Alt 25. Aug 2007, 13:36
Draw Grind sieht gut aus, vor alles das beispiel mit dem schachfeld kommt meinem gleisbild doch sehr nahe.....

MfG snow
  Mit Zitat antworten Zitat
s-off
(Gast)

n/a Beiträge
 
#12

Re: Gleisbild??? mit was??? Paintbox für delphi??

  Alt 25. Aug 2007, 13:41
Zitat von snow:
Ne ich galub nicht das ich eine eigene komponente schreiben kann....... !
Glauben <> wissen.

Vielleicht wäre dann genau jetzt der Zeitpunkt, sich mit diesem Thema auseinander zu setzen

Du möchtest ja schon etwas recht spezielles, was sich vom Sinn her nicht unbedingt auf alle 'Lebenslagen' übertragen lässt.
Die Idee eines Gleisplanes ist schon nicht schlecht. Und genau aus diesem Grund würde ich mich bemühen, das ordentlich zu machen, und nicht im Endeffekt vor irgendeinem zusammengefrickelten Ergebnis zu stehen. Ich kann da nur für mich sprechen. Und ich hätte den Anspruch, das bestmögliche Ergebnis zu erzielen. Auch wenn es dadurch ggf. länger dauert, und ich mich in unbekannte Bereiche einarbeiten muss.

Das soll nicht heissen, dass man nicht auch mit bereits existierenden Komponenten ein akzeptables Ergebnis erzielen kann. Doch wird man damit irgendwann sicherlich an seine Grenzen stoßen.

Edit: Rechtschreibfehler ausgebaut.
  Mit Zitat antworten Zitat
snow

Registriert seit: 28. Jun 2007
277 Beiträge
 
#13

Re: Gleisbild??? mit was??? Paintbox für delphi??

  Alt 25. Aug 2007, 13:51
Naja so speziell ist es auch nicht. Wie gesagt ein gleisplan ist nix anderes als ein 2D-Schachfeld. Ich denke wenn Drawgrid für ein schachbrett reicht dann auch für ein gleisbild.


MfG snow

ich werde nicht drumrum kommen irgendwann etwas selber zu machen spätestens wenn mein program eine automatik bekommen soll aber bis dahin will ich erst mal manuell etwas erfahrung sammeln.

MfG snow
  Mit Zitat antworten Zitat
Benutzerbild von 3_of_8
3_of_8

Registriert seit: 22. Mär 2005
Ort: Dingolfing
4.129 Beiträge
 
Turbo Delphi für Win32
 
#14

Re: Gleisbild??? mit was??? Paintbox für delphi??

  Alt 25. Aug 2007, 14:23
Eine eigene Komponente zu schreiben ist kaum schwerer als eine vorhandene zu verwenden.

Du deklarierst einfach eine Klasse und leitest sie (in deinem Fall nützlich) von TCustomControl ab. Dann überschreibst du die Paint-Methode, deklarierst einen Handler für das OnClick-Ereignis und schon bist du so ziemlich fertig. Dann musst du noch den gleichen Code schreiben wie für dein DrawGrid.
Manuel Eberl
„The trouble with having an open mind, of course, is that people will insist on coming along and trying to put things in it.“
- Terry Pratchett
  Mit Zitat antworten Zitat
snow

Registriert seit: 28. Jun 2007
277 Beiträge
 
#15

Re: Gleisbild??? mit was??? Paintbox für delphi??

  Alt 25. Aug 2007, 21:35
So habs jetzt mit drawgrid versucht. hier mal mein quellcode


Delphi-Quellcode:
unit Unit1;

{$mode objfpc}{$H+}

interface

uses
  Classes, SysUtils, LResources, Forms, Controls, Graphics, Dialogs, Grids,
  Buttons, ComCtrls, ExtCtrls;

type

  { TForm1 }

  TForm1 = class(TForm)
    Button1: TButton;
    DrawGrid1: TDrawGrid;
    bitmap1: tbitmap;

    procedure Button1Click(Sender: TObject);
  private
    { private declarations }
  public
    { public declarations }
  end;

var
  Form1: TForm1;

implementation

{ TForm1 }

procedure TForm1.Button1Click(Sender: TObject);



begin
bitmap1.LoadFromfile('F:\JTSSfMB\icons\scheinwerfein.bmp');

DrawGrid1.Canvas.draw(1,1 ,bitmap1);

end;

initialization
  {$I Unit1.lrs}

end.

Wenn ich jetztausführe kommt wenn ich auf buton1 klicke das hier

Zitat:
Project raised exception class 'External: SIGSEGV'
dann bleibt mein program hängen und der IDE debuggt , er hört erst mit dem debuggen auf wenn ich lazarus neustarte.

Was hab ich falsch gemacht. (die datei exestiert und ist ein 256farben bitmap)

die zellen sind groß genug

MfG snow
  Mit Zitat antworten Zitat
s-off
(Gast)

n/a Beiträge
 
#16

Re: Gleisbild??? mit was??? Paintbox für delphi??

  Alt 25. Aug 2007, 21:58
Habe kein Lazarus, aber unter Delphi 'funktioniert' folgendes:

Delphi-Quellcode:
Unit Unit1;

Interface

Uses
   Windows,
   Messages,
   SysUtils,
   Variants,
   Classes,
   Graphics,
   Controls,
   Forms,
   Dialogs,
   StdCtrls,
   Grids;

Type
   TForm1 = Class(TForm)
      DrawGrid1: TDrawGrid;
      Button1: TButton;
      Procedure Button1Click(Sender: TObject);
   private
      Image1: TBitmap;
   End;

Var
   Form1: TForm1;

Implementation

{$R *.dfm}

Procedure TForm1.Button1Click(Sender: TObject);
Begin
   Image1 := TBitmap.Create;
   Image1.LoadFromFile('C:\Download\snap00854.bmp');
   DrawGrid1.Canvas.Draw(1, 1, Image1);
End;

End.
  Mit Zitat antworten Zitat
snow

Registriert seit: 28. Jun 2007
277 Beiträge
 
#17

Re: Gleisbild??? mit was??? Paintbox für delphi??

  Alt 25. Aug 2007, 22:07
Danke funzt bei mir auch hab das .create vergessen.

MfG snow

Edit:// weis jemand warum ich mit
DrawGrid1.Canvas.draw(2,1 ,bitmap1); das bitmap nicht im feld (2|1) bekomme sondern auf pixel (2|1)??? kann ich das automatisch in eine anderes zelle schicken oder murr ich das ganzen dann errechnen???
  Mit Zitat antworten Zitat
Benutzerbild von DGL-luke
DGL-luke

Registriert seit: 1. Apr 2005
Ort: Bad Tölz
4.149 Beiträge
 
Delphi 2006 Professional
 
#18

Re: Gleisbild??? mit was??? Paintbox für delphi??

  Alt 25. Aug 2007, 22:34
jo, das musst du errechnen.

Du solltest aber im Draw-Event (OnCustomDraw oder so ähnlich) die abmaßungen der jeweiligen zelle direkt mitgeteilt bekommen.
Lukas Erlacher
Suche Grafiktablett. Spenden/Gebrauchtangebote willkommen.
Gotteskrieger gesucht!
For it is the chief characteristic of the religion of science that it works. - Isaac Asimov, Foundation I, Buch 1
  Mit Zitat antworten Zitat
s-off
(Gast)

n/a Beiträge
 
#19

Re: Gleisbild??? mit was??? Paintbox für delphi??

  Alt 25. Aug 2007, 23:02
Delphi-Quellcode:
Procedure TForm1.Button1Click(Sender: TObject);
Var
   p: TRect;
Begin
   Image1 := TBitmap.Create;
   Image1.LoadFromFile('C:\Download\snap00854.bmp');
   DrawToCell(DrawGrid1, Image1, 3, 1);
End;

Procedure TForm1.DrawToCell(_Grid: TDrawGrid; _Bitmap: TBitmap; _Col, _Row: Integer);
Var
   p: TRect;
Begin
   p := _Grid.CellRect(_Col, _Row);
   _Grid.Canvas.Draw(p.Left, p.Top, _Bitmap);
End;
Edit: Methode zum Zeichnen eingefügt
  Mit Zitat antworten Zitat
snow

Registriert seit: 28. Jun 2007
277 Beiträge
 
#20

Re: Gleisbild??? mit was??? Paintbox für delphi??

  Alt 26. Aug 2007, 11:26
So ich hab jetzt eine form,in der ich die abmaße des gleisbildes eingeben kann. dann wird eine anderer Form aufgerufen, in der sich das drawgrid gefindet. Jetzt brauch ich die möglichkeit das ich die position eines mit der maus markierten feld herausfindet.

wie geht das??

MfG snow
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 3     12 3      


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 05:39 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