Falscher Bildschirm [ERLEDIGT]

Grafische Primitive, XbaseParts und Darstellungsfragen allgemein.

Moderator: Moderatoren

Falscher Bildschirm [ERLEDIGT]

Beitragvon RUzZlacK » Mi, 27. Apr 2016 14:43

Moin,

ganz kurz: Wenn ich ein neues Fenster aus dem Programm heraus öffne, öffnet es sich auf dem anderem Bildschirm. Soll sich aber da öffnen von wo es auch aufgerufen wurde bzw. da wo das Parentfenster ist.
Für alle Tipps offen.

Kann mir vorstellen ist sehr einfach zu lösen nur will bei mir irgendwie nicht klappen.

Danke im voraus,

Alex
Zuletzt geändert von RUzZlacK am Do, 28. Apr 2016 15:06, insgesamt 1-mal geändert.
RUzZlacK
Cut&Paste-Entwickler
Cut&Paste-Entwickler
 
Beiträge: 28
Registriert: Do, 31. Mär 2016 10:32
Wohnort: Pforzheim

Re: Falscher Bildschirm

Beitragvon georg » Mi, 27. Apr 2016 14:45

Hallo, Alex -


wie erzeugst Du das Fenster? Ein wenig Code ist immer hilfreich.
Liebe Grüsse aus der Eifel,

Georg
georg
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
 
Beiträge: 1748
Registriert: Fr, 08. Feb 2008 21:29

Re: Falscher Bildschirm

Beitragvon RUzZlacK » Mi, 27. Apr 2016 14:55

georg hat geschrieben:Ein wenig Code ist immer hilfreich.



Code: Alles auswählen
PROCEDURE proc_main_chatkundenversion(oDlg)

   LOCAL oDlg_chatkundenversion


   SET CHARSET TO ANSI
   SET DATE TO GERMAN

   oDlg_chatkundenversion:= chatkundenversion():New(,oDlg)


   oDlg_chatkundenversion:title:= "Chat"
   oDlg_chatkundenversion:maxSize:={648,413}
   oDlg_chatkundenversion:minSize:={648,413}

   oDlg_chatkundenversion:Create()



   //CenterControl(oDlg_chatkundenversion)
   SetAppFocus(oDlg_chatkundenversion)

   oDlg_chatkundenversion:close:= {||oDlg_chatkundenversion:Destroy()}

   oDlg_chatkundenversion:buttonErweitert:Activate:= {|| proc_showAdvancedConfig(oDlg_chatkundenversion)}

RETURN


Ist bisher nicht viel.
Erstellt mit dem Formdesigner
RUzZlacK
Cut&Paste-Entwickler
Cut&Paste-Entwickler
 
Beiträge: 28
Registriert: Do, 31. Mär 2016 10:32
Wohnort: Pforzheim

Re: Falscher Bildschirm

Beitragvon brandelh » Mi, 27. Apr 2016 14:56

ein neues Fenster wird durch aPos posioniert. Normal ist das recht klein und somit auf dem ersten Monitor.
Wenn du beim parent abfragst wo er steht, kannst du die Werte vor der Anzeige anpassen.
Gruß
Hubert
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
 
Beiträge: 13197
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim

Re: Falscher Bildschirm

Beitragvon Herbert » Mi, 27. Apr 2016 18:19

...oder setzt die Ecke relativ zum Parent.
Grüsse Herbert
Immer in Bewegung...
Benutzeravatar
Herbert
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
 
Beiträge: 1756
Registriert: Mi, 13. Aug 2008 23:22
Wohnort: Gmunden am Traunsee, Österreich

Re: Falscher Bildschirm

Beitragvon RUzZlacK » Do, 28. Apr 2016 8:08

brandelh hat geschrieben:ein neues Fenster wird durch aPos posioniert. Normal ist das recht klein und somit auf dem ersten Monitor.
Wenn du beim parent abfragst wo er steht, kannst du die Werte vor der Anzeige anpassen.



Wie kann ich den abfragen wo er steht? Also nicht nur x und yPos.
Ja, aPos Positioniert, aber wie soll das den dann auf den anderen Bildschirm hinpositioniert werden?
RUzZlacK
Cut&Paste-Entwickler
Cut&Paste-Entwickler
 
Beiträge: 28
Registriert: Do, 31. Mär 2016 10:32
Wohnort: Pforzheim

Re: Falscher Bildschirm

Beitragvon georg » Do, 28. Apr 2016 8:22

Leider zeigt Dein Code nur, wie Du Dein Objekt erstellst, nicht jedoch den XbpDialog(). Dieser Code wäre noch interessanter (und es war dieser Code, auf den ich mich zuerst bezog). In dem Code hier übergibst Du weder Position noch Grösse. Laut Dokumentation ist die Position {0, 0}, wenn keine vorgegeben wird, und die Grösse ist ebenfalls {0, 0}, wenn keine vorgegeben wird.

Da ein Fenster erscheint, musst Du zumindest die Grösse und (höchstwahrscheinlich) auch die Position vorgeben. Und da liegt der Knackpunkt: wie sieht dieser Code aus?
Liebe Grüsse aus der Eifel,

Georg
georg
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
 
Beiträge: 1748
Registriert: Fr, 08. Feb 2008 21:29

Re: Falscher Bildschirm

Beitragvon RUzZlacK » Do, 28. Apr 2016 11:24

georg hat geschrieben:Leider zeigt Dein Code nur, wie Du Dein Objekt erstellst, nicht jedoch den XbpDialog(). Dieser Code wäre noch interessanter (und es war dieser Code, auf den ich mich zuerst bezog). In dem Code hier übergibst Du weder Position noch Grösse. Laut Dokumentation ist die Position {0, 0}, wenn keine vorgegeben wird, und die Grösse ist ebenfalls {0, 0}, wenn keine vorgegeben wird.

Da ein Fenster erscheint, musst Du zumindest die Grösse und (höchstwahrscheinlich) auch die Position vorgeben. Und da liegt der Knackpunkt: wie sieht dieser Code aus?


Super danke! Hab´s herausgefunden. Das war der Suchansatz den ich gebraucht habe.

Code: Alles auswählen
METHOD _chatkundenversion:init( oParent, oOwner, aPos, aSize, aPP, lVisible )


   DEFAULT oParent  TO AppDesktop(), ;
           aPos     TO {-1178,500}, ;
           lVisible TO .F.

Es öffnet sich automatisch im Minus Bereich, warscheinlich weil das laut dem System der erste Bildschirm ist, obwohl sich das Hauptfenster auf dem anderem öffnet.

Jedenfalls vielen Dank!


EDIT:

Gelöst hab ich das Problem so:

Code: Alles auswählen
 memPosODlg := oDlg:currentPos()

   IF memPosODlg[1] >= 0

      CenterControl(oDlg_chatkundenversion)

   ENDIF

Das öffnet mein(e) Fenster immer im richtigen Bildschirm.
RUzZlacK
Cut&Paste-Entwickler
Cut&Paste-Entwickler
 
Beiträge: 28
Registriert: Do, 31. Mär 2016 10:32
Wohnort: Pforzheim


Zurück zu GUI

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast