Français
Source/ Codesnippets

Anpassung Daraufl Fensterskalierung Flimmerfreie

 
Nachtrag: Aktueller et besser ist cet Methode:  [...] 




Flimmerfreie Fensterskalierung avec Anpassung qui daraufliegenden Elemente...

wohl un Problem welches presque alle XProfaner avons. si on sich qui fertigen Programme ansieht stellt on toujours wieder fest - cela pas umsonst à skalierbaren la fenêtre gespart wird.

qui gemeine Profaner wird plus ou bien moins en supplément bewegt un pas-skalierbares la fenêtre trop erstellen - wobei es là chez qui Erstellung aussi erhebliche Qualitätsunterschiede gibt. toujours wieder lieu je fest, qui la fenêtre avec einer statischen Taille erstellt volonté, wobei pas beachtet wird cela qui intérieur-Bereich je pour Windowseinstellung dans qui Taille abweichen peux. ca ist mais un d'autre Thema.

ici eh bien mon Vorschlag: un la fenêtre (dlg) welches sich flimmerfrei skalieren peut - et qui daraufliegenden Elemente sich automatisch (et tout de suite) qui neuen Taille anpassen.
KompilierenMarqueSéparation
 {$cleq}
seterrorlevel 0
 $U thread.pcu = thread.
declare dlg&,dir&,stat&,_dlgw&,_dlgh&,_odlgw&,_odlgh&
decimals 0
dlg&:=createwindow (%desktop,app ,100,100,640,480)
dir&:=createsortedlistbox(dlg&,,0,0,0,0)
stat&:=create(statuswindow,dlg&,Bereit.)
thread.start 1

whilenot (%key==2)

    waitinput

wend

thread.stop 1
end

proc thread.do

    parameters n&

    if n&==1

        _dlgw&:=width(dlg&);_dlgh&:=height(dlg&)

        if ( ( _odlgw&<>_dlgw& ) or ( _odlgh&<>_dlgh& ) )

            _odlgw&:=_dlgw&;_odlgh&:=_dlgh&
            _redrw

        endif

    endif

endproc

proc _redrw

    setwindowpos dir&=0,0 - width(dlg&),(height(dlg&)-height(stat&));0
    setwindowpos stat&=0,0 - 0,0;0

endproc

Salve, iF

483 kB
Kurzbeschreibung: comme Exe kompiliertes Beispiel
Hochgeladen:27.03.2005
Downloadcounter155
Download
 
27.03.2005  
 



la fois ne neuere Version avec Popupmenu-Unterstützung.
KompilierenMarqueSéparation
 {$cleq}
seterrorlevel 0
 $U thread.pcu = thread.
declare dlg&,dir&,stat&,_dlgw&,_dlgh&,_odlgw&,_odlgh&,hMenu&,hwin&
app.init

whilenot (%key==2)

    waitinput

    if (menuitem(100))

        sendmessage(%hwnd,$10,0,0)
        setmenuitem 0

    elseif (menuitem(998))

        enablewindow %hwnd,0
        messagebox About,About,4096
        enablewindow %hwnd,1
        setmenuitem 0

    elseif (menuitem(999))

        enablewindow %hwnd,0
        messagebox Info,Info,4096
        enablewindow %hwnd,1
        setmenuitem 0

    endif

wend

app.kill
end
/* FUNCTIONS */

proc thread.do

    parameters n&

    if (n&==1)

        _dlgw&:=width(dlg&);_dlgh&:=height(dlg&)

        if ( ( _odlgw&<>_dlgw& ) or ( _odlgh&<>_dlgh& ) )

            _odlgw&:=_dlgw&;_odlgh&:=_dlgh&
            _redrw

        endif

    elseif (n&==2)

        insertstring(hwin&,0,time$(0)+.+substr$(time$(1),1,.))

    endif

endproc

proc _redrw

    setwindowpos %hwnd=0,0 - width(dlg&),%CYMenu;0
    setwindowpos hwin&=0,%CYMenu - width(dlg&),(height(dlg&)-height(stat&)-%CYMenu);0
    setwindowpos stat&=0,0 - 0,0;0

endproc

proc app.init

    proc createpmenu

        windowtitle app
        windowstyle 80
        window 0,0-0,0
        showwindow(%Hwnd,0)
        popup Programm
        appendmenu 100,&Beenden
        popup &?
        appendmenu 998,&About
        Separator
        appendmenu 999,&Help
        external(USER32,SetParent,%hwnd,dlg&)

    endproc

    decimals 0
    dlg&:=createwindow (%desktop,app ,100,100,640,480)
    hwin&:=createlistbox(dlg&,,0,0,0,0)
    stat&:=create(statuswindow,dlg&,Bereit.)
    createpmenu
    thread.start 1
    thread.start 2,7

endproc

proc app.kill

    thread.stop 2
    thread.stop
class=s2>1 endproc
peut-être schaffts oui quelqu'un qui PopupMenuunterstützung eleganter einzubetten.

Salve, iF

484 kB
Kurzbeschreibung: comme Exe kompiliertes Beispiel
Hochgeladen:27.03.2005
Downloadcounter143
Download
 
27.03.2005  
 



cela ganze la fois um facteur Toolbar erweitert:
KompilierenMarqueSéparation
 {$cleq}
seterrorlevel 0
 $U thread.pcu = thread.
declare dlg&,dir&,stat&,_dlgw&,_dlgh&,_odlgw&,_odlgh&,hMenu&,hwin&,ftps&,ftpp&,ftpm&,_topspc&,hToolbar&,tdlg&
declare fnt1&
app.init

whilenot (%key==2)

    waitinput

    if (menuitem(100))

        sendmessage(%hwnd,$10,0,0)
        setmenuitem 0

    elseif (menuitem(998))

        enablewindow %hwnd,0
        messagebox About,About,4096
        enablewindow %hwnd,1
        setmenuitem 0

    elseif (menuitem(999))

        enablewindow %hwnd,0
        messagebox Info,Info,4096
        enablewindow %hwnd,1
        setmenuitem 0

    elseif (menuitem(2001))

        enablewindow %hwnd,0
        messagebox Info,Info,4096
        enablewindow %hwnd,1
        setmenuitem 0

    endif

wend

app.kill
end
/* FUNCTIONS */

proc thread.do

    parameters n&

    if (n&==1)

        _dlgw&:=width(dlg&);_dlgh&:=height(dlg&)

        if ( ( _odlgw&<>_dlgw& ) or ( _odlgh&<>_dlgh& ) )

            _odlgw&:=_dlgw&;_odlgh&:=_dlgh&
            _redrw

        endif

    elseif (n&==2)

        insertstring(hwin&,0,time$(0)+.+substr$(time$(1),1,.))

    endif

endproc

proc _redrw

    setwindowpos %hwnd=0,0 - width(dlg&),(%CYMenu);0
    _topspc&:=%winbottom-%wintop+48
    setwindowpos tdlg&=0,%CYMenu - %maxx,48;0
    setwindowpos htoolbar&=0,0 - width(tdlg&),height(tdlg&);0

    if ( (height(dlg&)>150) and (width(dlg&)>150) )

        setwindowpos ftpm&=(width(dlg&)-65),((height(dlg&)-height(stat&))-23) - 65,23;0
        setwindowpos ftpp&=(width(dlg&)-130),((height(dlg&)-height(stat&))-23) - 65,23;0

    else

        setwindowpos ftpm&=0,0 - 0,0;0
        setwindowpos ftpp&=0,0 - 0,0;0

    endif

    if (width(dlg&)>150)

        setwindowpos ftps&=(width(dlg&)-130),_topspc& - 130,((height(dlg&)-height(stat&)-_topspc&)-height(ftpm&));0
        setwindowpos hwin&=0,_topspc& - (width(dlg&)-130),(height(dlg&)-height(stat&)-_topspc&);0

    else

        setwindowpos ftps&=0,0-0,0;0
        setwindowpos hwin&=0,_topspc& - (width(dlg&)),(height(dlg&)-height(stat&)-_topspc&);0

    endif

    setwindowpos stat&=0,0 - 0,0;0
    showwindow (ftpm&,0)
    showwindow (ftpp&,0)
    showwindow (ftpm&,1)
    showwindow (ftpp&,1)

endproc

proc app.init

    proc createsubs

        proc createpopupmenu

            popup Programm
            appendmenu 100,&Beenden
            popup &?
            appendmenu 998,&About
            Separator
            appendmenu 999,&Help

        endproc

        proc createtoolbar

            hToolbar& = create(TOOLBAR,tdlg&,0,0,0,2000,-1)
            Toolbar(separator,hToolBar&)
            Toolbar(AddTextButton,hToolBar&,0,2001,Knopf 1,)
            Toolbar(AddTextButton,hToolBar&,0,2002,Knopf 2,)
            Toolbar(AddTextButton,hToolBar&,0,2003,Knopf 3,)
            Toolbar(AddTextButton,hToolBar&,0,2004,Knopf 4,)
            Toolbar(AddTextButton,hToolBar&,0,2005,Knopf 5,)

        endproc

        windowtitle app
        windowstyle 80
        window 0,0-0,0
        createpopupmenu
        createtoolbar
        external(USER32,SetParent,%hwnd,dlg&)

    endproc

    decimals 0
    fnt1&:=createfont(MS Sans Serif,10,0,0,0,0)
    dlg&:=createwindow (%desktop,app ,100,100,640,480)
    hwin&:=createlistbox(dlg&,,0,0,0,0)
    ftps&:=createlistbox(dlg&,,0,0,0,0)
    ftpp&:=createbutton(dlg&,Hinzufügen,0,0,0,0)
    ftpm&:=createbutton(dlg&,Bearbeiten,0,0,0,0)
    windowstyle 80
    tdlg&:=createwindow(dlg&,,0,0,0,0)
    external(USER32,SetParent,tdlg&,dlg&)
    stat&:=create(statuswindow,dlg&,Bereit.)
    setfont hwin&,fnt1&
    setfont ftps&,fnt1&
    setfont ftpp&,fnt1&
    setfont ftpm&,fnt1&
    createsubs
    thread.start 1
    thread.start 2,7

endproc

proc app.kill

    thread.stop 2
    thread.stop 1
  
lass=s4 href='./../../funktionsreferenzen/XProfan/deleteobject/'>deleteobject fnt1& endproc

485 kB
Kurzbeschreibung: comme Exe kompiliertes Beispiel
Hochgeladen:27.03.2005
Downloadcounter173
Download
 
27.03.2005  
 



Zum Quelltext


Topictitle, max. 100 marque.
 

Systemprofile:

ne...aucune Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

s'il te plaît s'inscrire um une Beitrag trop verfassen.
 

Options du sujet

4.743 Views

Untitledvor 0 min.
E.T.31.12.2014
Thomas Freier20.01.2014
Jörg Sellmeyer11.11.2011
Klaus Ernst09.02.2011
plus...

Themeninformationen

cet Thema hat 1 participant:

iF (3x)


Admins  |  AGB  |  Applications  |  Auteurs  |  Chat  |  protection des données  |  Télécharger  |  Entrance  |  Aider  |  Merchantportal  |  Empreinte  |  Mart  |  Interfaces  |  SDK  |  Services  |  Jeux  |  cherche  |  Support

un projet aller XProfaner, qui il y a!


Mon XProfan
Privé Nouvelles
Eigenes Ablageforum
Sujets-La liste de voeux
Eigene Posts
Eigene Sujets
Zwischenablage
Annuler
 Deutsch English Français Español Italia
Traductions

protection des données


Wir verwenden Cookies seulement comme Session-Cookies à cause de qui technischen Notwendigkeit et chez uns gibt es aucun Cookies de Drittanbietern.

si du ici sur unsere Webseite klickst ou bien navigierst, stimmst du unserer Erfassung de Informationen dans unseren Cookies sur XProfan.Net trop.

Weitere Informationen trop unseren Cookies et en supplément, comment du qui Kontrolle par-dessus behältst, findest du dans unserer nachfolgenden Datenschutzerklärung.


d'accordDatenschutzerklärung
je voudrais keinen Cookie