AGB  ·  Datenschutz  ·  Impressum  







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

Pagecontrol kopieren

Ein Thema von Natcree · begonnen am 12. Jul 2015 · letzter Beitrag vom 16. Jul 2015
Antwort Antwort
Natcree

Registriert seit: 5. Mär 2013
502 Beiträge
 
Delphi 7 Enterprise
 
#1

Pagecontrol kopieren

  Alt 12. Jul 2015, 00:26
Hallo ich lade in Form2 in eine Pagecontrol ein image nun soll im anschluss das Pagecontrol in Form1 genauso angezeigt werden.

Kann mir da jemand helfen?
  Mit Zitat antworten Zitat
nuclearping

Registriert seit: 7. Jun 2008
708 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#2

AW: Pagecontrol kopieren

  Alt 12. Jul 2015, 07:26
Wie wäre es mit Delphi-Referenz durchsuchenTFrame als Vorschlag?

Du packst die TPageControl in einen neuen TFrame und dann jeweils einen TFrame auf TForm1 und TForm2 .

Wenn es dir darum geht, dass das Bild dann "synchronisiert" wird, kannst du ja eine Synchronize-Funktion schreiben:

Delphi-Quellcode:
unit F_MeinPageControlFrame;

interface

uses
  ...;

const
  WM_SYNCHRONIZE_PAGECONTROLFRAME = WM_USER + 100;

type
  TMeinPageControlFrame = class(TFrame)
    Image_Picture: TImage;
  public
    // Self.Image_Picture mit ASource.Image_Picture aktualisieren
    procedure Synchronize(ASource: TMeinPageControlFrame);

    // Self.Image_Picture setzen und Synchronisierung durchführen
    procedure SetImage;
  end;

implementation

uses
  Forms,

  Unit1 {Enthält TForm1};

// Self.Image_Picture mit ASource.Image_Picture aktualisieren
procedure TMeinPageControlFrame.Synchronize(ASource: TMeinPageControlFrame);
begin
  Image_Picture.Picture.Assign(ASource.Image_Picture.Picture);
end;

// Self.Image_Picture setzen und Synchronisierung durchführen
procedure TMeinPageControlFrame.SetImage;
begin
  Image_Picture.Picture.Bitmap.LoadFromFile('C:\Temp\TestBild1.bmp');

  // Methode 1: TForm1 direkt ansprechen.
  Form1.MeinPageControlFrame.Synchronize(Self);

  // Methode 2: Synchronize in TForm1 per PostMessage an Hauptform aufrufen, die eine
  // procedure DoSynchronize(var Msg: TMessage); message WM_SYNCHRONIZE_PAGECONTROLFRAME;
  // implementiert und die Parameter an den TFrame weiterleitet.
  //PostMessage(Application.MainForm.Handle, WM_SYNCHRONIZE_PAGECONTROLFRAME, Integer(Self), 0);
end;
  Mit Zitat antworten Zitat
Perlsau
(Gast)

n/a Beiträge
 
#3

AW: Pagecontrol kopieren

  Alt 12. Jul 2015, 21:35
Hallo ich lade in Form2 in eine Pagecontrol ein image nun soll im anschluss das Pagecontrol in Form1 genauso angezeigt werden.
Was bedeutet "in Form2 in eine Pagecontrol ein image" laden? Hast du ein TImage auf dem PageControl oder ein TImage auf einem TabSheet dieser PageCotroll-Komponente?

Welches Problem hast du denn jetzt eigentlich? Du kannst doch einfach auf das TImage in Form2 zugreifen, wenn Form2 in der Uses-Klausel von Form1 steht? Was hast du denn bereits versucht?

Was genau bedeutet, daß "im anschluss das Pagecontrol in Form1 genauso angezeigt" werden soll? Im Anschluß an was? Daß das PageControl so aussieht wie das Image?

Übrigens lädst du kein Image, denn das ist eine Komponente, sondern wohl eher ein Bitmap. Wohin lädst du das? Direkt in das PageControl? Auf irgend einen Canvas? Mit anderen Worten: Je genauer du dein Problem beschreibst, desto eher und besser kann man dir behilflich sein.
  Mit Zitat antworten Zitat
Natcree

Registriert seit: 5. Mär 2013
502 Beiträge
 
Delphi 7 Enterprise
 
#4

AW: Pagecontrol kopieren

  Alt 15. Jul 2015, 06:51
Zitat:
Hast du ein TImage auf dem PageControl oder ein TImage auf einem TabSheet dieser PageCotroll-Komponente?
es wird in einem tabsheet im pagecontrol angezeigt

Zitat:
Was genau bedeutet, daß "im anschluss das Pagecontrol in Form1 genauso angezeigt" werden soll? Im Anschluß an was? Daß das PageControl so aussieht wie das Image?
ich will einfach nur das image auf form1 sehen.

Das habe ich nun gelöst.

das bild wird mir auf Form5 angezeigt. nun sage ich Ihm er soll es auf dem 2. Monitor in der Form6 ausgeben.
das mache ich hiermit.

Delphi-Quellcode:
procedure PlaceFormOnMonitor(AForm: TForm; AMonitorNum: Integer);
var
  r: TRect;
begin
  r := Screen.Monitors[AMonitorNum].WorkareaRect;
  AForm.SetBounds(r.Left, r.Top, r.Right - r.Left, r.Bottom - r.Top);
end;
wenn ich das aber wiederhole dann zeigt er mir die form5 auch auf dem 2.Monitor an.

wie bekomme ich das gelöst
  Mit Zitat antworten Zitat
Perlsau
(Gast)

n/a Beiträge
 
#5

AW: Pagecontrol kopieren

  Alt 15. Jul 2015, 08:21
Also mal ganz langsam zum mitschreiben:

es wird in einem tabsheet im pagecontrol angezeigt
1. Du hast auf einem Tabsheet in Form2 eine TImage-Komponente, in die du ein Bild von der Festplatte lädst.

ich will einfach nur das image auf form1 sehen.Das habe ich nun gelöst. das bild wird mir auf Form5 angezeigt.
2. Die Lösung deines Problems, wie du ein TImage, das sich auf Form2 in einem Tabsheet befindet, auch in Form1 anzeigen läßt, besteht darin, das Image auf Form5 anzeigen zu lassen?

nun sage ich Ihm er soll es auf dem 2. Monitor in der Form6 ausgeben.das mache ich hiermit.
Delphi-Quellcode:
procedure PlaceFormOnMonitor(AForm: TForm; AMonitorNum: Integer);
var
  r: TRect;
begin
  r := Screen.Monitors[AMonitorNum].WorkareaRect;
  AForm.SetBounds(r.Left, r.Top, r.Right - r.Left, r.Bottom - r.Top);
end;
3. Du zeigst das TImage, das sich in Form2 auf einem Tabsheet befindet und das du in Form1 anzeigen lassen willst, indem du es auf Form5 anzeigen läßt, nun in AForm an? Wie viele Forms hast du denn eigentlich? Und wie zeigt man ein Image, das sich in Form2 auf einem Tabsheet befindet und das du in Form1 anzeigen lassen willst, indem du es auf Form5 anzeigen läßt, an, indem man lediglich die Position von AForm verändert?

wenn ich das aber wiederhole dann zeigt er mir die form5 auch auf dem 2.Monitor an. wie bekomme ich das gelöst
Wie oben schon beschrieben ist es mir weiterhin unmöglich, dein Problem zu erkennen. Mir keimt zwar der Verdacht, daß du bereits irgend ein zweites Problem beschreibst (wozu eigentlich ein neuer Thread begonnen werden sollte), aber sicher bin ich mir da nicht – zu schwammig sind deine Ausführungen.

Sollte es daraum gehen herauszufinden, bis zu welcher X-Koordinate Bildschirm 1 reicht bzw. ab welcher X-Koordinate Bildschirm 2 beginnt?
  Mit Zitat antworten Zitat
BadenPower

Registriert seit: 17. Jun 2009
616 Beiträge
 
#6

AW: Pagecontrol kopieren

  Alt 15. Jul 2015, 09:25
@TE:

Erstelle einmal ein Beipiel-Projekt oder lade das jetzige einfach einmal komplett hier hoch, damit wir sehen können, was Du eigentlich vorhast. Aus Deinen Beschreibungen geht leider nur sehr wirres Zeug hervor.
Programmieren ist die Kunst aus Nullen und Einsen etwas sinnvollen zu gestalten.
Der bessere Künstler ist allerdings der Anwender, denn dieser findet Fehler, welche sich der Programmierer nicht vorstellen konnte.
  Mit Zitat antworten Zitat
Natcree

Registriert seit: 5. Mär 2013
502 Beiträge
 
Delphi 7 Enterprise
 
#7

AW: Pagecontrol kopieren

  Alt 16. Jul 2015, 08:45
Also form1 hat vier schaltflächen
1. schaltfläche bild auf screen 2 ausgeben
2. schaltfläche bild auf screen 2 ausgeben
3. schaltfläche bild auf screen 2 ausgeben
4. hiermit aktiviere ich eine bildausschnitt funktion
nach dem der bildausschnitt markiert ist öffnet er mir meine form2 in der ich das bild sehe und entscheiden
kann, ob es jetzt auf dem 2. Screen ausgegeben wird oder nicht.

zu schaltfläche 4 funktioniert es auch jedoch wenn ich dann im späteren wieder eine der anderen schaltflächen 1-3
benutze und dann wiedermals schaltfläche 4, dann öffnet er mir die form2 auf dem 2. screen und nicht auf dem Hauptscrenn auf dem mein prog läuft.
  Mit Zitat antworten Zitat
Dejan Vu
(Gast)

n/a Beiträge
 
#8

AW: Pagecontrol kopieren

  Alt 16. Jul 2015, 08:49
Das ist jetzt nicht so unmittelbar als Beispielprojekt zu erkennen...
  Mit Zitat antworten Zitat
BadenPower

Registriert seit: 17. Jun 2009
616 Beiträge
 
#9

AW: Pagecontrol kopieren

  Alt 16. Jul 2015, 10:19
Das ist jetzt nicht so unmittelbar als Beispielprojekt zu erkennen...
Nicht nur das.

Am Anfang waren wir bei "PageControl kopieren" und jetzt sind wir irgendwo bei "Bildausschnitt" anzeigen.

Wenn jetzt nicht entsprechender Code hochgeladen wird dann:

42
Programmieren ist die Kunst aus Nullen und Einsen etwas sinnvollen zu gestalten.
Der bessere Künstler ist allerdings der Anwender, denn dieser findet Fehler, welche sich der Programmierer nicht vorstellen konnte.

Geändert von BadenPower (16. Jul 2015 um 10:21 Uhr)
  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 19:23 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