Falscher Bildschirm [ERLEDIGT]

Grafische Primitive, XbaseParts und Darstellungsfragen allgemein.

Moderator: Moderatoren

Falscher Bildschirm [ERLEDIGT]

Beitragvon RUzZlacK » Mi, 27. Apr 2016 15: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 16:06, insgesamt 1-mal geändert.
RUzZlacK
Cut&Paste-Entwickler
Cut&Paste-Entwickler
 
Beiträge: 28
Registriert: Do, 31. Mär 2016 11:32
Wohnort: Pforzheim

Re: Falscher Bildschirm

Beitragvon georg » Mi, 27. Apr 2016 15: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: 1849
Registriert: Fr, 08. Feb 2008 22:29

Re: Falscher Bildschirm

Beitragvon RUzZlacK » Mi, 27. Apr 2016 15: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 11:32
Wohnort: Pforzheim

Re: Falscher Bildschirm

Beitragvon brandelh » Mi, 27. Apr 2016 15: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: 13498
Registriert: Mo, 23. Jan 2006 21:54
Wohnort: Germersheim

Re: Falscher Bildschirm

Beitragvon Herbert » Mi, 27. Apr 2016 19: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: 1788
Registriert: Do, 14. Aug 2008 0:22
Wohnort: Gmunden am Traunsee, Österreich

Re: Falscher Bildschirm

Beitragvon RUzZlacK » Do, 28. Apr 2016 9: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 11:32
Wohnort: Pforzheim

Re: Falscher Bildschirm

Beitragvon georg » Do, 28. Apr 2016 9: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: 1849
Registriert: Fr, 08. Feb 2008 22:29

Re: Falscher Bildschirm

Beitragvon RUzZlacK » Do, 28. Apr 2016 12: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 11:32
Wohnort: Pforzheim


Zurück zu GUI

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast