Español
Foro

Windows Design visueller Stil Theme

 
- Página 1 -



GDL
¡Hola,
kann me Por favor, alguien sagen, cómo bajo Profano el Windowsdesign abfrägt?
siehe Bildanhang.Gracias.

Servus
Georg

182 kB
Hochgeladen:01.10.2007
Ladeanzahl321
Descargar
 
Windows7 Xprofan 8,9,10 [...]  [...] 
01.10.2007  
 



 
- Página 1 -



RGH
¡Hola, en esta API después de XProfan umzusetzten, mußt Usted primero wissen, en welcher Windows-DLL ellos steckt. Es en el API-Ayuda para gewöhnlich angegeben y diesem Fall el uxtheme.dll.

Der Rückgabewert es una Valor des Typs HTHEME. Das H como erster Buchstabe beudet Handle y una 32-Bit-Betriebssystem es dieses una 32-Bit-Valor, Así que una Longint. Der Parámetro HWND es el Handle des a untersuchenden Fensters. Will uno el Función en XProfan also para la ventana principal aufrufen, así lautet ellos:
KompilierenMarcaSeparación
Yo fürchte aber, ellos bringt Usted no más. Zum una hay el DLL sólo de Windows XP y para otro son ellos auch en uno Standard-XP-Oberfläche 0 zurück.

Usted es vermutlich en el Hauptsache por lo tanto, herauszubekommen, si el Titel- y Menüzeilen el korrekte Gröe el klassischen Bildschirmdarstellung haben, así el Dialogelemente korrekt en el Dialoge passen. Como helfen Usted el XProfan-Systemvariablen %cyCaption y %cyMenu más. Wenn deren Valor größer es, como en Deiner klassischen Darstellung es entweder una XP- oder Vista-Stil en el Einsatz, o Anzeige wurde anderweitig angepaßt. (Auch bajo Win2000 y früher, podría uno el Ansicht así verändern, dass el Größen no mehrt stimmten, also etwa doppel hohe Titelzeilen en Fenstern, etc.)
(En XP en el XP-Look ha %cyCaption z.B. valor 26.)

Saludo
Roland
 
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
02.10.2007  
 




GDL
Gut entonces Aprovecho %cyCaption.
Wird sowieso o ne- langwierige Geschichte.Zwei Rechner meiner Testanlagen puede sólo 1024*768 con 256 Farben.Muss todos festen Farbzuweisungen en Variables umwandeln y por 2 diferente Archivos invitar.
También puede esta Graphikkarten max. 300 Farbbuttons (SKcontrol) darstellen.
Anscheinend benötigt WinME de los 16 Mb Graphikspeicher zuviel.En normalen Windowsbuttons hay no Problemas.
Ach Abwärtskompatibel como bist du schön.

Servus
Georg
 
Windows7 Xprofan 8,9,10 [...]  [...] 
02.10.2007  
 




GDL
Das letzte Problema es nun, Yo lo hinbekomme, dass el Desktopikonen fixiert bleiben.

Servus
Georg
 
Windows7 Xprofan 8,9,10 [...]  [...] 
03.10.2007  
 




GDL
Möchte si dieser Diálogo comenzó se,
KompilierenMarcaSeparación
el dieser siempre en el Vordergrund restos, oder el Hauptprogramm angehalten restos.

Posesiones ya con winexecwait
KompilierenMarcaSeparación
intenta. Dies va zwar einwandfrei, sólo si al Theme wechselt,dauert dies fast 2min. a el Hauptprogramm weitermacht.Denkt cada igual a una Programmabsturz.

Ohne winexecwait y mittels uno Bucle en el con findwindow nachgesehen se, si el Diálogo todavía se ejecuta va auch no, como dieser en el verschiedenen WinVer. diferente Fenstertitel trägt.
Gibt lo como o ne- Möglichkeit?

Servus
Georg
 
Windows7 Xprofan 8,9,10 [...]  [...] 
03.10.2007  
 



Starte el cpl como Parámetro para el Control.Exe en lugar de runDLL el control.exe starten que se.
 
04.10.2007  
 




GDL
kann Por favor, alguien con Vista prüfen si el Desktopdialog startet.Gracias.
KompilierenMarcaSeparación
Servus
Georg
 
Windows7 Xprofan 8,9,10 [...]  [...] 
05.10.2007  
 



 
- Página 2 -



Rolf
Koch
Nein Georg desafortunadamente nix - kein Diálogo.
 
05.10.2007  
 




GDL
ohje,qué mach Yo nun ? Magste Por favor, veces sin desk.cpl guggen, si wenigstens el Systemeinstellungen starten.

Servus
Georg
 
Windows7 Xprofan 8,9,10 [...]  [...] 
05.10.2007  
 




Rolf
Koch
auch sólo control.exe rennt no.
 
05.10.2007  
 




GDL
Soweit bin Yo ya,
KompilierenMarcaSeparación
Code ist ausm Zusammenhang von Hauptmenü gerissen
Grundcode von A.Miethe und XProfan Comunity Mitgliedern
Bei richtigen Einstellungen passiert nichts
 {$CLEQ}
declare l_ende%,l_farbwert&,l_farbwertalt&,l_x&,l_dev#,l_xaufloesungalt&,l_yaufloesungalt&
declare l_farbtiefealt&,t$,n$,horizontal%,los%,hor%,vert%,tx&[10],uname&,abr&
declare fenstergroesse&,design%,weiter%,l_dlg&
dim l_dev#,156
Def RunControl(2) WinExec(Add$(Add$(
RUNDLL32 SHELL32.DLL,Control_RunDLL ,$(1)),.CPL ),$(2),1)
usermessages 16
@Set(AutoPaint,1)
windowstyle 31
window 0,0 - %maxx,%maxy
usefont Courier new,15,8,0,0,0
setdialogfont 1
windowtitle Hauptmenue GDL 2006
==============================

proc fgroesse

    fenstergroesse&=%cyCaption

endproc

=======================================================

proc windowsdesign

    RunControl(DESK,)

endproc

=================================================================

proc farbtiefe

    Höchste Farbtiefe für 1024 ermitteln

    While ~Enumdisplaysettings(0,l_x&,l_dev#)

        if Str$(Long(l_dev#,108))=1024

            horizontal%=1
            l_farbwert&=Long(l_dev#,104)
            case l_farbwert& > l_farbwertalt& : l_farbwertalt&=l_farbwert&

        endif

        Inc l_x&

    Wend

    ifnot horizontal%=1

        Let t$=Graphikkarte
        Let n$=Ihre Graphikkarte kann keine 1024*768 Auflösung.
        Programm wird beendet.
        MessageBox(n$,t$,64)
        dispose l_dev#
        end

    endif

    l_farbwert&=l_farbwertalt&

endproc

================================================================

proc umschalten

    Umschalten
    settimer 10
    waitinput
    killtimer
    Long l_dev#,40 = ~Dm_pelsheight | ~Dm_pelswidth | ~Dm_bitsperpel
    Long l_dev#,104 = l_farbwert&
    Long l_dev#,108 = hor%
    Long l_dev#,112 = vert%

    If ~Changedisplaysettings(l_dev#,~Cds_updateregistry) = ~Disp_change_restart

        External(setupapi.dll,SetupPromptReboot,0,0,0)

    Endif

    sonst wird Fenster nicht angepasst
    ShowMin
    ShowMax

endproc

====================================================================

proc rueckschalten

    Rückschalten
    l_farbwert&=l_farbtiefealt&
    hor%=l_xaufloesungalt&
    vert%=l_yaufloesungalt&
    umschalten

endproc

========================================================

proc textanzeige

    settext tx&[1], Aktuelle horizontale Auflösung : +str$(~Getdevicecaps(~Getdc(0),~Horzres))+   soll : 1024
    settext tx&[2], Aktuelle vertikale   Auflösung :  +str$(~Getdevicecaps(~Getdc(0),~Vertres))+   soll :  768

endproc

==================================================================

proc dmalen

    startpaint l_dlg&

    if tx&[1] > 0

        destroywindow(tx&[1])
        destroywindow(tx&[2])
        destroywindow(tx&[3])
        destroywindow(tx&[4])
        destroywindow(tx&[5])
        destroywindow(tx&[6])
        destroywindow(tx&[7])
        destroywindow(uname&)
        destroywindow(abr&)

    endif

    if (~Getdevicecaps(~Getdc(0),~Horzres) <> 1024) or (~Getdevicecaps(~Getdc(0),~Vertres) <> 768)

        cls RGB(208,0,0)

    else

        case design%=0:cls RGB(0,194,0)

    endif

    if fenstergroesse& <> 19

        design%=1
        cls RGB(208,0,0)
        tx&[5]=create(text,l_dlg&, Das Windowstheme ist nicht auf Windows - klassisch  ,30,200,530,20)
        tx&[6]=create(text,l_dlg&, eingestellt. - Bitte in folgendem Dialog einstellen.,30,220,530,20)
        tx&[7]=create(text,l_dlg&, Dieser Dialog wird am Schluss erneut gestartet.,30,240,530,20)

    else

        if weiter%=1

            l_ende%=1

        endif

    endif

    tx&[1]=create(text,l_dlg&, Aktuelle horizontale Auflösung : +str$(l_xaufloesungalt&)+   soll : 1024,30,40,530,20)
    tx&[2]=create(text,l_dlg&, Aktuelle vertikale   Auflösung :  +str$(l_yaufloesungalt&)+   soll :  768,30,60,530,20)
    tx&[3]=create(text,l_dlg&, Bei falscher Auflösung und autmat.Umschaltung wird,30,90,530,20)
    tx&[4]=create(text,l_dlg&, am Programmende auf die alten Werte rückgewechselt,30,110,530,20)
    uname&=create(button,l_dlg&,Umschalten,450,150,110,20)
    abr&=create(button,l_dlg&,Beenden,450,330,110,20)

    ifnot (l_xaufloesungalt& <> 1024) or (l_yaufloesungalt& <> 768)

        enablewindow uname&,0
        weiter%=1

    endif

    endpaint

endproc

====================================================================

proc deinstellungen

    windowstyle 8
    l_dlg&=create(window,%hwnd,Desktopeinstellungen,100,100,600,400)
    usefont Courier new,17,10,1,0,0
    setdialogfont 1
    die alten Einstellungen ermitteln und speichern
    l_farbtiefealt& = ~Getdevicecaps(~Getdc(0),~Bitspixel)
    l_xaufloesungalt& =~Getdevicecaps(~Getdc(0),~Horzres)
    l_yaufloesungalt& =~Getdevicecaps(~Getdc(0),~Vertres)
    fgroesse
    dmalen

    ifnot l_xaufloesungalt& =1024

        hor%=1024
        vert%=768
        farbtiefe
        enablewindow uname&,1

    endif

    clear l_ende%
    case (weiter%=1) and (design%=0):l_ende%=1
    case design%=1:windowsdesign

    whilenot l_ende%

        waitinput

        if (%umessage=16) or (clicked(abr&))

            l_ende%=1

        elseif clicked(uname&)

            umschalten
            horizontal%=1
            dmalen
            textanzeige
            enablewindow uname&,0

        ELSEIF %wmPaint

            dmalen

        endif

    wend

    destroywindow(l_dlg&)
    windowstyle 31

endproc

===============================================================================
deinstellungen

whilenot 0

    waitinput

    if %umessage = 16

        case horizontal%=1:rueckschalten
        case design%=1:windowsdesign
        disponer l_dev#
        end

    endif

wend


Letzte Problema es, el el Desktobikons no al alten Platz bleiben.

Servus
Georg
 
Windows7 Xprofan 8,9,10 [...]  [...] 
05.10.2007  
 



Usted ärgert hier möglicherweise sólo el Cds_updateregistry -Flag, y - wofür necesidad el Neustart?

Yo ziehe el Neustartfrage zurück, tener el if übersehen. (y el passiert me)
 
05.10.2007  
 




Frank
Abbing
RGH
¡Hola, en esta API después de XProfan umzusetzten, mußt Usted primero wissen, en welcher Windows-DLL ellos steckt. Es en el API-Ayuda para gewöhnlich angegeben y diesem Fall el uxtheme.dll.

Der Rückgabewert es una Valor des Typs HTHEME. Das H como erster Buchstabe beudet Handle y una 32-Bit-Betriebssystem es dieses una 32-Bit-Valor, Así que una Longint. Der Parámetro HWND es el Handle des a untersuchenden Fensters. Will uno el Función en XProfan also para la ventana principal aufrufen, así lautet ellos:
KompilierenMarcaSeparación
Yo fürchte aber, ellos bringt Usted no más. Zum una hay el DLL sólo de Windows XP y para otro son ellos auch en uno Standard-XP-Oberfläche 0 zurück.

[...]
Saludo
Roland


Wenn el API en el Fall 0 zurück liefert, con welchen Handle muss uno porque entonces más trabajo, si uno weitere uxtheme-Características benutzen voluntad?
 
01.06.2008  
 




Respuesta


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

5.071 Views

Untitledvor 0 min.
Paul Glatz11.01.2015
Ernst21.04.2014
Torsten Boo12.07.2013
iF03.07.2012
Más...

Themeninformationen



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