Deutsch
Forum

Darstellungs-Probleme

 

RudiB.




Hallo zusammen,

kennt jemand diese Erfahrung....??
Habe unter XProfan 11.2 unter Win10 (Auflösung 1366x768) ein Programm geschrieben als .exe erstellt und läuft. Nun habe ich dieses Programm (.exe) auf einem Rechner unter Win7 Enterprise mit höherer Auflösung (1980x1080) laufen lassen. Im Programm feste Werte fürs Fenster (1024x768) und feste Werte für die Elemente.
Und siehe da, ich habe massive Darstellungs-Probleme,
Habe zwei Screenshots angefügt...findet die Fehler...(hahaha)...nein ernsthaft.
z.B bei den Check-Boxen...abgeschnittener Text.
Wieso ????.... versteh ich nicht ...man arbeitet doch mit Breite in Pixeln für jedes Element und so sollte das auch entsprechend auf einem fremden Rechner so dargestellt werden.....

218 kB
Hochgeladen:03.02.2020
Ladeanzahl98
Herunterladen
613 kB
Hochgeladen:03.02.2020
Ladeanzahl75
Herunterladen
 
Xprofan X4
Rudolf Beske / München

Hardware: NB Intel I9 - 16GByte RAM
03.02.2020  
 




RudiB.
oh....wartet...jetzt hab ich es das erste mal richtig gesehen.
Es ist ein Problem mit dem Zeichensatz / Darstellung....aber trotzdem warum??
 
FreeProfan
Xprofan X4
Rudolf Beske / München

Hardware: NB Intel I9 - 16GByte RAM
03.02.2020  
 




Georg
Teles
Nabend,

mit der Breite der Pixel hat es wenig zutun, sie gibt ja nur die Dimensionen des Feldes der Checkbox / des RadioButtons / des Buttons an.

Kann nicht genau sagen, woran es bei dir liegt, da müsste man in deinen Code reinschauen. Ich vermute, dass es bei der Umrechnung vom Schriftmodus zum Grafikmodus zu solch einem Ergebnis kommt. Wenn man nicht genau die Werte einer Schriftart definiert, wird es auf unterschiedlichen Systemen unterschiedlich umgerechnet.

Um dem aus dem Weg zu gehen, definiere ich in meinen Programmen genau, welcher Font und dessen Format benutzt werden soll:
UseFont "Arial",14,0,0,0,0
SetDialogFont 1

Hierbei wird jedes Element, was danach erzeugt wird, mit dieser Schriftart versehen - in jedem Windows sieht es dann gleich aus.

Das müsste dein Problem lösen. Alternativ gibt es noch Create("Font, falls Du für bestimmte Elemente nur bestimmte Schriftarten verwenden möchtest - dann müsstest Du aber jedem Element mit SetFont die Schrift zuweisen.

Grüße
 
TC-Programming [...] 
XProfan 8.0 - 10.0 - X2 - X3 - X4

03.02.2020  
 




RGH
Wie Georg richtig festgestellt hat: Damit es überall passt, mit SetDialogFont auch diesen festzurren. Ansonsten wählt Windows den Standard-Font aus, den jeder User anders eingestellt haben kann. Wenn da jemand z.B. bei der Darstellung der Schrift statt 100% etwa 125% oder gar 150% angegeben hat, passt es natürlich nicht mehr.

Gruß
Roland
 
XProfan X4
Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4
04.02.2020  
 




RudiB.
Danke für Eure Antworten.
UseFont "Arial",14,0,0,0,0
SetDialogFont 1

habe ich so schon gesetzt, jedoch SetDialogFont 1 nur einmal am Anfang des Programms.
Werde mal jedes mal hinter UseFont ein SetDialogFont 1 setzen, mal schauen ob das was bringt.
 
FreeProfan
Xprofan X4
Rudolf Beske / München

Hardware: NB Intel I9 - 16GByte RAM
04.02.2020  
 




Georg
Teles
Es genügt grundsätzlich nur 1 Mal dies am Anfang des Programms zu schreiben, alle Fensterobjekte haben dann diese Schriftart.

Wenn du natürlich mehrere Schriftarten verwendest, dann macht es Sinn jeweils vor den Fensterobjekten eine andere Schriftart zu definieren.
 
XProfan X2
TC-Programming [...] 
XProfan 8.0 - 10.0 - X2 - X3 - X4

05.02.2020  
 




RudiB.
Problem gelöst,
es war einfach nur die Darstellung (im fremden System) der Schriftart im System auf 125% eingestellt.

Vielen Dank
 
FreeProfan
Xprofan X4
Rudolf Beske / München

Hardware: NB Intel I9 - 16GByte RAM
10.02.2020  
 




RudiB.
Hab ein kleines Problem wo ich nicht mehr weiter komme.
Nach einem CLS verschwinden zwei Dialog-Elemente (Edit-Feld + 1 Button"save") wenn man mit der Maus drüberfährt, dann erscheinen sie wieder.
Nach dem nächsten CLS sind sie wieder weg...
Aber eben nur die zwei....ich versteh die Welt nicht mehr....
Was läuft da schief, welchen Fehler sehe ich nicht....
 $P+
SET("ERRORLEVEL",0)
 $H LIB\Windows.ph
DEF GETSYSCOLOR(1) !"USER32","GetSysColor"
Declare DE&,Text&,Vokabel$
WINDOWSTYLE 15'512
WindowTitle " Test"
WINDOW (%maxx/2 - 1024/2),(%maxy/2 - 768/2) - 1024,768
CLS GETSYSCOLOR(15)
SETDIALOGFONT 1
Lerne_mit_Bildern
Waitinput
End

Proc Lerne_mit_Bildern

    DE&=@Create("Dialog",%Hwnd,"Lerne mit Bildern",(%maxx/2 - 1024/2),(%maxy/2 - 768/2) , 1024,768)
    Declare hB%, hC%,OK%,Liste_Bilder%,zeile$,datei$,E_dit%
    hB% = @Create("Button",DE&,"Schliessen",710,690,170,25)
    E_dit%=Create("edit",DE&,"",210,690,150,25)
    hC%=create("Button",DE&,"suche",370,690,70,25)
    Liste_Bilder% = CREATE("SORTEDLISTBOX",DE&,"",0820,0130,0170,0450)
    Text&=Create("Text",DE&,"Themen-Liste", 850,110,130,16)
    assign #1,"System\Dateinamen_Bilder.txt"
    reset #1

    whileloop 25

        input #1,zeile$
        addstring(Liste_Bilder%,zeile$)

    EndWhile

    Close #1
    'Titelschrift
    vokabel$="Lerne mit Bildern"
    StartPaint DE&
    UseFont "Verdana",100,30,1,0,0
    TextColor RGB(131,139,131),-1
    DrawText 34,134,Vokabel$
    UseFont "Verdana",100,30,1,0,0
    TextColor RGB(255,105,180),-1
    DrawText 30,130,Vokabel$
    EndPaint DE&
    vokabel$="suche ein Thema aus"
    StartPaint DE&
    UseFont "Verdana",100,30,1,0,0
    TextColor RGB(131,139,131),-1
    DrawText 34,284,Vokabel$
    UseFont "Verdana",100,30,1,0,0
    TextColor RGB(255,105,180),-1
    DrawText 30,280,Vokabel$
    EndPaint DE&
    Text&=Create("Text",DE&,"Themen-Liste", 850,110,130,16)
    Clear OK%

    WhileNot Ok%

        Waitinput
        StartPaint DE&
        CLS GETSYSCOLOR(15)
        EndPaint DE&

        If @Clicked(hB%)'OK wurde angeklickt

            Ok% = 1

        EndIf

        If Getfocus(Liste_Bilder%)

            Setfocus(DE&)
            Vokabel$=Getstring$((Liste_Bilder%),GetCurSel(Liste_Bilder%))
            StartPaint DE&
            'Titelschrift
            UseFont "Verdana",100,30,1,0,0
            TextColor RGB(131,139,131),-1
            DrawText 34,134,Vokabel$
            UseFont "Verdana",100,30,1,0,0
            TextColor RGB(255,105,180),-1
            DrawText 30,130,Vokabel$
            EndPaint DE&
            Vokabel$=translate$(vokabel$," ","_")
            datei$="Pictures\"+vokabel$+".bmp"
            StartPaint DE&
            loadbmp datei$,20,250;0
            EndPaint DE&
            Text&=Create("Text",DE&,"Themen-Liste", 850,110,130,16)

        EndIf

        If clicked(hC%)

            datei$="Vokabel_Info\"+gettext$(E_dit%)+".txt"

            If fileexists(datei$)

                print "gefunden"

            EndIf

        EndIf

    EndWhile

    @DestroyWindow(DE&)

EndProc

 
XProfan 11
Xprofan X4
Rudolf Beske / München

Hardware: NB Intel I9 - 16GByte RAM
28.02.2020  
 




p.specht

Weit davon entfernt, da durchzublicken - Aus der Hilfe von XP-11.2a: Beim Zeichnen in DialogBoxen und DialogFenstern ist zu beachten, dass diese Zeichnungen nicht automatisch erneuert werden, wenn die Dialogbox z.B. durch ein anderes Fenster verdeckt wurde.
Scheinbar gilt das auch umgekehrt. Workaround: Ich würde versuchen, im Programmfluss nach dem "Fehlerereignis" mit ShowWindow(handle%, Modus) die entsprechenden Controls wieder sichtbar zu machen (So hab´ ich mir vor hm-zig Jahren mal beholfen). Oder ich stehe gerade wieder mal mächtig am Schlauch - dann sorry.
 
XProfan 11
Computer: Gerät, daß es in Mikrosekunden erlaubt, 50.000 Fehler zu machen, zB 'daß' statt 'das'...
29.02.2020  
 




RudiB.
Danke für Deine Antwort. Hilft leider auch nicht... was auch noch komisch ist, das sobald ich dann versuche den Focus auf eines dieser "verschwundenen" z.B in das Edit klicke, dann wird das komplette Dialod-Fenster "gelöscht".
Alle Elemente sind noch da und stellen sich wieder mit Maus drüberfahren und klick her. Aber egal...Ich benutze jetzt einfach kein CLS sondern lege einfach eine mit der Hintergrundfarbe gefüllte Bitmap drüber (über den Bereich ausserhalb der Dialog-Elemente). Nicht gerade genial, aber es wirkt, die Elemente bleiben nun.
 
XProfan 11
Xprofan X4
Rudolf Beske / München

Hardware: NB Intel I9 - 16GByte RAM
29.02.2020  
 




p.specht

Bravo! Manchmal führt der kürzeste Weg zum Erfolg eben durch das Gruselkabinett
 
XProfan 11
Computer: Gerät, daß es in Mikrosekunden erlaubt, 50.000 Fehler zu machen, zB 'daß' statt 'das'...
29.02.2020  
 



Antworten


Thementitel, max. 100 Zeichen.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Beitrag  Schrift  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Themenoptionen

5.362 Betrachtungen

Unbenanntvor 0 min.
N.Art18.11.2020
Stephan Sonneborn16.09.2020
iF11.09.2020
Erfurt04.08.2020
Mehr...

Themeninformationen



Admins  |  AGB  |  Anwendungen  |  Autoren  |  Chat  |  Datenschutz  |  Download  |  Eingangshalle  |  Hilfe  |  Händlerportal  |  Impressum  |  Mart  |  Schnittstellen  |  SDK  |  Services  |  Spiele  |  Suche  |  Support

Ein Projekt aller XProfaner, die es gibt!


Mein XProfan
Private Nachrichten
Eigenes Ablageforum
Themen-Merkliste
Eigene Beiträge
Eigene Themen
Zwischenablage
Abmelden
 Deutsch English Français Español Italia
Übersetzungen

Datenschutz


Wir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.

Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.

Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Ich möchte keinen Cookie