AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi canvas.rahmen.aufziehen.laufzeit = wie.aufziehen.entwicklung
Thema durchsuchen
Ansicht
Themen-Optionen

canvas.rahmen.aufziehen.laufzeit = wie.aufziehen.entwicklung

Ein Thema von cyberfreak · begonnen am 16. Nov 2003 · letzter Beitrag vom 19. Nov 2003
Antwort Antwort
Seite 1 von 4  1 23     Letzte »    
cyberfreak

Registriert seit: 16. Nov 2003
22 Beiträge
 
Delphi 7 Enterprise
 
#1

canvas.rahmen.aufziehen.laufzeit = wie.aufziehen.entwicklung

  Alt 16. Nov 2003, 20:20
Hi!

Also ich möchte mit Canvas oder sonstwie, einen Rahmen (zur Laufzeit) auf das Formular ziehen können, und dann auf genau dieser Stelle eine Komponente erstellen. Das erstellen der Komponente wäre ja nicht dsa Problem, sondern Canvas! Wie bekomme ich am Besten die Koordinaten, und in welche Formular-Methoden soll ich das schreiben? Bitte hilfe!

mfg
cyberfreak
  Mit Zitat antworten Zitat
Benutzerbild von Stanlay Hanks
Stanlay Hanks

Registriert seit: 1. Mär 2003
2.078 Beiträge
 
Delphi 2005 Professional
 
#2

Re: canvas.rahmen.aufziehen.laufzeit = wie.aufziehen.entwick

  Alt 16. Nov 2003, 20:34
Hallo und herzlich willkommen in der DP!
Ich verstehe leider nicht ganz, was du genau meinst.
Möchtest du nur einen Rahmen um dein Formular zeichnen? Dann schreib einfach ins OnPaint deines Forms

Delphi-Quellcode:
Canvas.Brush.Style := bsClear; //Macht das Recheck durchsichtig
Canvas.Rectangle(0,0,Width,Height) //Zeichnet ein Rechteck mit den Maßen des Forms.
Falls du was anderes gemeint hast, dann korrigier mich bitte.

Man liest sich, Stanlay
  Mit Zitat antworten Zitat
Benutzerbild von HAF4ever
HAF4ever

Registriert seit: 31. Okt 2003
Ort: Enns - Österreich
37 Beiträge
 
#3

Re: canvas.rahmen.aufziehen.laufzeit = wie.aufziehen.entwick

  Alt 16. Nov 2003, 20:35

sorry, aber ich hab nicht verstanden was du eigentlich machen möchtest.
versuch doch einfach einmal dich klarer auszudrücken und zu schreiben was du schon versucht hast
  Mit Zitat antworten Zitat
cyberfreak

Registriert seit: 16. Nov 2003
22 Beiträge
 
Delphi 7 Enterprise
 
#4

Re: canvas.rahmen.aufziehen.laufzeit = wie.aufziehen.entwick

  Alt 16. Nov 2003, 20:42
Ja, das sieht so aus, dass man den Rahmen zur Laufzeit "aufziehen" können soll, um dann da eine Komponente zur Laufzeit zu erstellen. das soll man mit der Maus machen, so als wenn man in der Delphi-Entwicklungsumgebung eine Komponente erstellt, aber eben zur Laufzeit.
  Mit Zitat antworten Zitat
Benutzerbild von flomei
flomei

Registriert seit: 17. Jan 2003
Ort: Schieder-Schwalenberg
2.094 Beiträge
 
Delphi 2005 Personal
 
#5

Re: canvas.rahmen.aufziehen.laufzeit = wie.aufziehen.entwick

  Alt 16. Nov 2003, 20:46
Du willst Delphi-Komponenten zur Laufzeit auf die Form ziehen und "mitarbeiten" lassen?
Das geht so nicht. Du kannst aber Komponenten zur Laufzeit erstellen. Danach musst du mal suchen

MfG Florian
Florian Meier
... ist raus.
Vielen Dank für die Zeit mit euch!
http://www.flomei.de -- http://www.md5hash.de
  Mit Zitat antworten Zitat
cyberfreak

Registriert seit: 16. Nov 2003
22 Beiträge
 
Delphi 7 Enterprise
 
#6

Re: canvas.rahmen.aufziehen.laufzeit = wie.aufziehen.entwick

  Alt 16. Nov 2003, 20:51
Nein, das ist wieder nicht was ich meinte!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!
Also, nochmal:

Das "aufziehen" geht ja! Vergesst mal das mit der Komponente! Ich will einfach nur einen Rahmen mit der Maus aufziehen, den Rest kann ich ja!
  Mit Zitat antworten Zitat
Benutzerbild von Stanlay Hanks
Stanlay Hanks

Registriert seit: 1. Mär 2003
2.078 Beiträge
 
Delphi 2005 Professional
 
#7

Re: canvas.rahmen.aufziehen.laufzeit = wie.aufziehen.entwick

  Alt 16. Nov 2003, 20:54
Achso! Dann war ich ja vollkommen falsch...
Dann probier mal folgendes:

Delphi-Quellcode:
var IsMouseDown : Boolean;
    PanelNr : Integer = 0;
    xk,yk : Integer;

procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
xk := x;
yk := y;
end;

procedure TForm1.FormMouseUp(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
IF IsMouseDown = true THEN
begin

Inc(PanelNr);
  With TPanel.Create(Form1) do
    begin
      Parent := Form1;
      Name := 'Panel' + IntToSTr(PanelNr);
      Left := xk;
      Top := yk;
      Width := x-xk;
      Height := y-yk;
    end;

IsMouseDown := False;
end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
IsMouseDown := true;
end;
Wenn du auf Button1 klickst, wird eine Variable auf True gesetzt, die dem programm sagt, dass es beim nächsten aufziehen (Rahmenziehen) der Maus ein Panel zeichnen soll. Bei einem MouseDown werden die aktuellen Koordinaten gemerkt und bei MouseUp wird mit den gemerkten und den aktuellen Koordinaten ein Panel gezeichnet. (dynamisch erstellt)

Hattest du das so gemeint?

[EDIT] Das macht natürlich noch keinen visuellen Rahmen [/EDIT]
  Mit Zitat antworten Zitat
cyberfreak

Registriert seit: 16. Nov 2003
22 Beiträge
 
Delphi 7 Enterprise
 
#8

Re: canvas.rahmen.aufziehen.laufzeit = wie.aufziehen.entwick

  Alt 16. Nov 2003, 21:04
Ja, perfekt! So hab ich das gemeint, und das mit dem Button stimmt auch so, denn ich will das ja genau so machen (per Toolbar)!
Danke, aber etwas wäre, da noch: Und zwar sollte man vielleicht noch beim aufziehen einen Rahmen sehen, so wie in Delphi (in der IDE). Und ausserdem müsste ich irgendwiedie Komponenten ausseinanderhalten, da ich mehrere Komponenten habe(ToolbarButton1 = Button, ToolbarButton2 = Panel, ToolbarButton3 = Label, usw.)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.136 Beiträge
 
Delphi 12 Athens
 
#9

Re: canvas.rahmen.aufziehen.laufzeit = wie.aufziehen.entwick

  Alt 16. Nov 2003, 21:04
Auch ein Hallo von mir.

Ich glaub, das dir die folgenden Artikel etwas weiter helfen.

Wie bastelt man einen einfachen Formular-Editor?
Komponenten verschiebbar / Größe veränderbar
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
cyberfreak

Registriert seit: 16. Nov 2003
22 Beiträge
 
Delphi 7 Enterprise
 
#10

Re: canvas.rahmen.aufziehen.laufzeit = wie.aufziehen.entwick

  Alt 16. Nov 2003, 21:10
Genau, so wie bei dem Beitrag von Himitsu(der Formular-Editor) das Beispiel, so ein Rahmen vielleicht, und auch hat sich jetzt das Verschiebe-Problem gelöst!
Danke Himitsu
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 4  1 23     Letzte »    


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 22:21 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