Auflösung (Pixel) auf Zeile Spalte umrechnen

Moderator: Moderatoren

Auflösung (Pixel) auf Zeile Spalte umrechnen

Beitragvon satmax » Fr, 04. Okt 2013 22:21

Ich will tdDEwin Objekt erstellen das den gesamten verfügbaren Platz im AppWindow einnimmt.

Die Verfügbare Größe bekomme ich in Pixeln:

aSize:= oAppDlg:clientsize

für tdDEwin() brauche ich Zeile und Spalte. Wie kann ich das am einfachsten umrechnen?



Gruß
Markus
Gruß
Markus
Benutzeravatar
satmax
1000 working lines a day
1000 working lines a day
 
Beiträge: 776
Registriert: Do, 02. Dez 2010 20:34
Wohnort: Biberbach in Österreich

Re: Auflösung (Pixel) auf Zeile Spalte umrechnen

Beitragvon AUGE_OHR » Sa, 05. Okt 2013 14:30

hi,

zum berechnen müsstest du den benutzten Font nehmen ( ... wie kommt man unter TD da ran ? )

unter pure Xbase++ könnte man es, für einen XbpCRT, so berechnen.
Code: Alles auswählen
#include "BOX.CH"
PROCEDURE MAIN
LOCAL aMode := {0,0}
LOCAL aSize  := {0,0}
LOCAL aFont  := {0,0}
LOCAL aDesk  := AppDesktop():currentsize()

   aFont[1] := SetAppWindow():FontWidth
   aFont[2] := SetAppWindow():FontHeight
   // "Umrechnung"
   aMode[2]  := INT(aDesk[1]/aFont[1])-1
   aMode[1]  := INT(aDesk[2]/aFont[2])-3  // 2.13
   // SetMode setzten
   SetMode(aMode[1],aMode[2])

   CenterControl(SetAppWindow())
   aSize  := SetAppWindow():currentsize()
   CLS
   @ 0,0,Maxrow(),MaxCol() BOX B_SINGLE
   @ Maxrow()/2,MaxCol()/3 SAY " Rows "+Var2Char(MaxRow())+;
                               " Cols "+Var2Char(MaxCol())+;
                               " Size "+Var2Char(aSize)   +;
                               " Font "+Var2Char(aFont)   +;
                               " S/F  "+;
            Var2Char({aSize[1]/aFont[1],aSize[2]/aFont[2]})

   @ Maxrow()-1,1 SAY ""
   WAIT
RETURN
gruss by OHR
Jimmy
Benutzeravatar
AUGE_OHR
Marvin
Marvin
 
Beiträge: 10315
Registriert: Do, 16. Mär 2006 8:55
Wohnort: Hamburg

Re: Auflösung (Pixel) auf Zeile Spalte umrechnen

Beitragvon satmax » Di, 08. Okt 2013 7:11

danke, unter TopDown gibt es die Konstanten COL_PX und Y by ROW_PX. Einfach Pixel/COL_PX oder ROW_PX.


Ich bin übrigens immer mehr von TD begeistert.

Gruß
Markus
Gruß
Markus
Benutzeravatar
satmax
1000 working lines a day
1000 working lines a day
 
Beiträge: 776
Registriert: Do, 02. Dez 2010 20:34
Wohnort: Biberbach in Österreich


Zurück zu TopDown

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast