Español
Fuente/ Codesnippets

Anpassung Daraufl Fensterskalierung Flimmerfreie

 
Apéndice: Aktueller y mejor es esta Método:  [...] 




Flimmerfreie Fensterskalierung con Anpassung el daraufliegenden Elemente...

wohl una Problema welches fast todos XProfan haben. Wenn uno el fertigen Programas ansieht stellt uno siempre otra vez fest - el no umsonst a skalierbaren Ventana gespart se.

Der gemeine Profaner se o más weniger dazu bewegt una no-skalierbares Ventana a redactar - wobei lo hay en Erstellung auch erhebliche Qualitätsunterschiede son. Immer otra vez lugar Yo fest, daß Ventana con uno statischen Größe erstellt voluntad, wobei no beachtet se el el innere-Zona je después de Windowseinstellung en el Größe abweichen kann. Dies es aber una más Thema.

Hier nun mein Vorschlag: Ein Ventana (dlg) welches se flimmerfrei skalieren lässt - y el daraufliegenden Elemente se automáticamente (y inmediatamente) el neuen Größe adaptar.
KompilierenMarcaSeparación
 {$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: como Exe kompiliertes Ejemplo
Hochgeladen:27.03.2005
Ladeanzahl155
Descargar
 
27.03.2005  
 



Tiempo ne neuere Versión con Popupmenu-Unterstützung.
KompilierenMarcaSeparación
 {$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
Tal vez schaffts sí alguien el PopupMenuunterstützung eleganter einzubetten.

Salve, IF

484 kB
Kurzbeschreibung: como Exe kompiliertes Ejemplo
Hochgeladen:27.03.2005
Ladeanzahl143
Descargar
 
27.03.2005  
 



Das todo veces en Faktor Toolbar erweitert:
KompilierenMarcaSeparación
 {$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: como Exe kompiliertes Ejemplo
Hochgeladen:27.03.2005
Ladeanzahl173
Descargar
 
27.03.2005  
 



Zum Quelltext


Título del Tema, max. 100 Signo.
 

Systemprofile:

Kein Systemprofil creado. [anlegen]

XProfan:

 Contribución  Font  Smilies  ▼ 

Bitte registro en una Contribución a verfassen.
 

Tema opciones

4.735 Views

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

Themeninformationen

Dieses Thema ha 1 subscriber:

iF (3x)


Admins  |  AGB  |  Applications  |  Autores  |  Chat  |  Política de Privacidad  |  Descargar  |  Entrance  |  Ayuda  |  Merchantportal  |  Pie de imprenta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Juegos  |  Búsqueda  |  Support

Ein Projekt aller XProfan, el lo son!


Mi XProfan
Privado Noticias
Eigenes Ablageforum
Temas-Merkliste
Eigene Beiträge
Eigene Temas
Zwischenablage
Cancelar
 Deutsch English Français Español Italia
Traducciones

Política de Privacidad


Wir uso Cookies sólo como Session-Cookies wegen el technischen Notwendigkeit y en uns hay no Cookies de Drittanbietern.

Wenn du hier en unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung de Informationen en unseren Cookies en XProfan.Net a.

Weitere Informationen a unseren Cookies y dazu, como du el Kontrolle darüber behältst, findest du en unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Yo möchte no Cookie