Forum | | | | - page 1 - |
| GDL | Salut, peux mir s'il te plaît quelqu'un dire, comment on sous Profan cela Windowsdesign abfrägt? siehe Bildanhang.merci.
salut Georg |
| | | | |
| | | | | - page 1 - |
| RGH | allô, um cet API pour XProfan umzusetzten, dois Du zunächst savons, dans quel Windows-DLL vous steckt. c'est dans qui API-Aider pour gewöhnlich angegeben et dans diesem le cas qui uxtheme.dll.
qui Rückgabewert est un Wert des Typs HTHEME. cela H comme erster Buchstabe beudet Handle et dans einem 32-Bit-Betriebssystem ist cet un 32-Bit-Wert, alors un Longint. qui paramètre HWND ist cela Handle des trop untersuchenden Fensters. veux on qui Funktion dans XProfan alors pour cela Hauptfenster appel, so lautet vous: KompilierenMarqueSéparation je fürchte mais, vous bringt toi pas plus. Zum une gibt es qui DLL seulement ab Windows XP et zum anderen gibt vous aussi chez einer Standard-XP-surface 0 zurück.
Dir ca va probablement dans qui le principal tout autor, herauszubekommen, si qui Titel- et Menüzeilen qui korrekte Gröe qui klassischen Bildschirmdarstellung avons, avec cela qui Dialogelemente korrekt sur qui Dialoge passen. là aider Dir qui XProfan-Système %cyCaption et %cyMenu plus. si en Wert größer ist, comme chez Deiner klassischen représentation ist entweder un XP- ou bien Vue-Stil im Einsatz, ou bien qui Anzeige wurde anderweitig ajusté. (aussi sous Win2000 et früher, konnte on qui Ansicht so verändern, dass qui Größen pas mehrt stimmten, alors etwa doppel hohe Titelzeilen chez Windows, etc.) (chez XP im XP-Look hat %cyCaption z.B. la valeur 26.)
Salut 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 | bien ensuite nehme je %cyCaption. Wird sowieso encore ne langwierige Geschichte.deux calculateur meiner Testanlagen peut seulement 1024*768 avec 256 Farben.Muss alle festen Farbzuweisungen dans Variablen transformer et par 2 différent Fichiers magasin. Ebenso peut cet Graphikkarten max. 300 Farbbuttons (SKcontrol) représenter. Anscheinend nécessaire WinME de den 16 Mb Graphikspeicher zuviel.chez normalen Windowsbuttons gibt es aucun Probleme. ah Abwärtskompatibel comment es du joli.
salut Georg |
| | | | |
| | GDL | cela dernier Problem ist eh bien, comment je es hinbekomme, dass qui Desktopikonen fixiert rester.
salut Georg |
| | | | |
| | GDL | voudrais si cette Dialog gestartet wird, KompilierenMarqueSéparation cela cette toujours im Vordergrund bleibt, ou bien cela Hauptprogramm angehalten bleibt.
Habe bereits avec winexecwait KompilierenMarqueSéparation versucht. ca allez zwar einwandfrei, seulement si on cela Theme wechselt,dauert ca presque 2min. jusqu'à cela Hauptprogramm weitermacht.Denkt chacun juste à une Programmabsturz.
sans winexecwait et mittels einer Boucle dans qui avec findwindow nachgesehen wird, si qui Dialog encore fonctionne allez aussi pas, là cette dans den verschiedenen WinVer. différent Fenstertitel trägt. Gibt es là encore ne Possibilité?
salut Georg |
| | | | |
| | | Starte qui cpl comme paramètre pour qui Contrôle.Exe statt runDLL qui control.exe starten trop laisser. |
| | | | |
| | GDL | | | | | |
| | | | - page 2 - |
| | Rolf Koch | non Georg malheureusement nix - ne...aucune Dialog. |
| | | | |
| | GDL | ohje,quoi mach je eh bien ? Magste s'il te plaît la fois sans desk.cpl guggen, si wenigstens qui Systemeinstellungen starten.
salut Georg |
| | | | |
| | Rolf Koch | aussi seulement control.exe rennt pas. |
| | | | |
| | GDL | Soweit suis je déjà, KompilierenMarqueSéparationCode 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
dispose l_dev#
end
endif
Wend
dernier Problem ist, cela qui Desktobikons pas am alten place rester.
salut Georg |
| | | | |
| | | toi ärgert ici möglicherweise seulement cela Cds_updateregistry -Flag, et - wofür brauchst den Neustart?
je ziehe qui Neustartfrage zurück, hab cela si übersehen. (et cela passiert mir) |
| | | | |
| | Frank Abbing | RGH
allô, um cet API pour XProfan umzusetzten, dois Du zunächst savons, dans quel Windows-DLL vous steckt. c'est dans qui API-Aider pour gewöhnlich angegeben et dans diesem le cas qui uxtheme.dll. qui Rückgabewert est un Wert des Typs HTHEME. cela H comme erster Buchstabe beudet Handle et dans einem 32-Bit-Betriebssystem ist cet un 32-Bit-Wert, alors un Longint. qui paramètre HWND ist cela Handle des trop untersuchenden Fensters. veux on qui Funktion dans XProfan alors pour cela Hauptfenster appel, so lautet vous: KompilierenMarqueSéparationje fürchte mais, vous bringt toi pas plus. Zum une gibt es qui DLL seulement ab Windows XP et zum anderen gibt vous aussi chez einer Standard-XP-surface 0 zurück. [...] Salut Roland
si qui API dans dem le cas 0 zurück liefert, avec welchen Handle muss on car ensuite plus travailler, si on weitere uxtheme-Funktionen benutzen veux? |
| | | | |
|
répondreOptions du sujet | 5.075 Views |
Themeninformationencet Thema hat 7 participant: |