| |
|
|
Rolf Koch | Heute tener Yo auch veces una Cuestión Seit lannnnnnger lannnnger Tiempo búsqueda Yo después de uno Möglichkeit una por create....%DESKTOP .... en el Taskleiste a verstecken. Was Yo mi: Wenn Yo una Objeto (Static, Diálogo u.s.w) en %Desktop erstelle, Luego se desafortunadamente siempre el Teil en el Taskleiste adecuado. Dies möchte Yo unterbinden. Puedo me vorstellen, daß irgendjemand veces ähnliche Problemas hatte y esta gelöst ha.
Zweite Sache es, daß si yo algo en %Desktop erstelle y möchte, daß dieses Element wirklich en el Hintergrund fliegt (also absoluter Hintergrund - letzte Instance Desktop sólo) esto no es con el üblichen Parametern por Setwindowpos oder selbige por Api, correcto ganzzzzz weit en el Hintergrund (eigentlich ähnlich el Handle Internet Explorer_Server - dies funtioniert - aber birgt viele Se bloquea beim Neuzeichen) landet.
Nochwas a INFO (no como Cuestión) - Für Fortgeschrittene Tuve una bastante starke Solución gefunden (Tuve pensamiento): Yo setzte mi Anwendung el Handle Internet Explorer_Server y el Teil war siempre como Desktopicons en el Hintergrund (una Static en diesem Handle). Lief eigentlich perfekt, aber: nun merkte Yo, daß en - Sytemhintergrundwahl, Bildschirmschonerwahl u.s.w el Handle des IE_Server simplemente destruido. Also überwachte Yo el Internet Explorer_Server Handle en If Desktop&=Desktop_alt& y erstellte en Änderung mein Static neu. Jedoch Vorsicht: Falls uno se así ya beschäftigt ha: Wenn uno como beschrieben una systemweite Wahl (Aktualisieren des Desktops, Theme wählen u.s.w ) ändert y uno ser Objeto en diesem Internet Explorer_Server erstellt ha, así muss uno tierisch aufpassen, porque el Handle dieses IE_Server se innerhalb de ungewissen Sekunden mehrmals erneuert. Was ha como Microsoft eigentlich geraucht? Aber no sólo dies, pero se irgendwie en vielen verschiedenen Aktionen dieses Microsofthandle simplemente zerstört y otra vez neu erstellt, así daß uno auch en uno permanenten Überwachung el Gefahr se ejecuta, ser Handle en 0 a conjunto - y somit gesalzene Abstürtze bekommt Ende el INFO :biggrin:
Also voluntad Yo otra vez media geliebten Standart (como se ejecuta mi Anwendung bestens (also en %DESKTOP anstatt en fremden Handles)) - salvo el Problemas el Yo al Anfang geschildert hatte (Taskleist y Hintergrund).
Rolf P.S.: Mircosoft y el blöde (trotzdem gute) Systemwiederherstellung: Hatte heute una extremes Problema y musste 3 Tage zurück. Leider Tuve me una schöne Dll con 31 Icons erstellt. Jo - el es natürlich weg y el 31 por Hand gezeichnete Icons - ha Bill simplemente gelöscht. Naja podría sí otra vez el Fehlerhafte Sistema zurückspielen y el Icons y el Dll umbenennen - macht auch Ihr el en Zukunft Nach Erstellen uno DLL oder ICONS umbenennen. Z.B.: ICON.DLL > ICON.DL_ oder ICON1.ICO > ICON1.IC_ y Bill ha esta wenigstens no gelöscht Finde Yo Mist, daß el simplemente alles entonces löschen, qué ausführbar es y después de el Wiederherstellungsdatum erstellt wurde |
|
|
| |
|
|
|
Rolf Koch | Relacionado con la Hintergrund es gelöst. Lo wurd en Wirklichkeit sólo una Abbild meiner Anwendung en el offenen Fenstern suscrito. Mit KompilierenMarcaSeparación características uno todos Ventana neu y somit es el erste Problema verschwunden
Problema 1. restos todavía bestehen: Como bringe Yo meiner Anwendung en no Taskleisteneintrag en %DESKTOP a redactar oder esta zumindest a verstecken.
Rolf |
|
|
| |
|
|
|
| ¡Hola Rolf...
Bitte lach dich ahora no tot, ...aber así en etwa??? KompilierenMarcaSeparaciónWINDOWSTYLE 16+32+64
Windowtitle "Programmfenster"
Window 0,0-0,0
@SHOWWINDOW(%HWND,0)
SETTRUECOLOR 1
Declare Programmfenster&
Windowstyle 31
LET Programmfenster&=@createWindow(%HWND,"Programmfenster",0,0,640,440)
SETWINDOWPOS Programmfenster&=0,0-640,440;0
While 0=0
waitinput
| 27.08.2004 ▲ | |
|
|
|
|
Andreas Miethe
| ¡Hola Rolf,
sieh Usted el veces a ! Damit kannst Usted dein Ventana de el Taskleiste de- y einblenden.
[...] |
|
|
| Gruss Andreas ________ ________ ________ ________ _ Profan 3.3 - XProfanX2 Win 95,98,ME,2000,XP,Vista - Win 7 32 / 64 Bit ASUS X93S - Intel Core I7-NVIDIA GForce 540M 8GB Arbeitsspeicher Homepage : [...] | 27.08.2004 ▲ |
|
|
|
|
Rolf Koch | Zuerst una vez herzlichen Dank Euch beiden.
@AH: Sí Su Ejemplo funktioniert. Jedoch ersetzte veces %Hwnd por %Desktop. Und el es mein Problema, Yo nutzte una Static welches I %Desktop ablege. Funktioniert einwandfrei, pero lässt se no verstecken.
@Andreas: Wäre sí genial, aber como verstecke Yo, el así una Unterfenster, also mein en %Desktop erstelltes STATIC?
Nochmals Gracias Rolf |
|
|
| |
|
|
|
Rolf Koch | Juchuuuu - @Andreas M. Su Ole_HideShow funktioniert doch :biggrin: Yo musste sólo una zusätzlichen Parámetro transferencia y zwar el des a versteckenden Handel. Also anstatt %HWND simplemente mein Static&. Real klasse DANKE!
Nur komischerweise muss Yo andauernd HideMyWindow 0,static&
aufrufen, como si uno irgendeinen Button en el Taskleiste klickt y el Anwendung/Ornder u.s.w adecuado se oder verkleinert se, daß Ventana aufeinmal otra vez como es. Dies sieht natürlich no así toll de, si en Aktionen unten dauernd kurz mein Programa eingeblendet y otra vez ausgeblendet se. Pensé, daß dies para el gesamte Dauer meines Programmlaufs gilt. ?????
Rolf |
|
|
| |
|
|
|
Andreas Miethe
| ¡Hola Rolf,
Yo auch pensamiento el lo fuer siempre gilt. Geht aber scheinbar sólo el Hautpfenster. Aber lo son una todavía viel einfachere Método ! Wenn Su Static el avanzado Fensterstil WS_WX_TOOLWINDOW ha entonces erscheint lo sólo nada en el Taskbar. KompilierenMarcaSeparación $H windows.ph
Declare static&
Static& = ~CreateWindowEx(~WS_EX_TOOLWINDOW,"Static","Test",~WS_Visible | ~WS_Child,0,0,120,24,%Desktop,0,%hInstance,0)
cls
waitinput
en |
|
|
| Gruss Andreas ________ ________ ________ ________ _ Profan 3.3 - XProfanX2 Win 95,98,ME,2000,XP,Vista - Win 7 32 / 64 Bit ASUS X93S - Intel Core I7-NVIDIA GForce 540M 8GB Arbeitsspeicher Homepage : [...] | 27.08.2004 ▲ |
|
|
|
|
Rolf Koch | JAAA! Gracias Andreas. Yo musste sólo todavía $0E hinzuaddieren, como es una Bitmapstatic es y lo taucht no mehr en!!! PERFEKT. Jetzt kann Yo weitermachen.
Direkte Cuestión dazu todavía: Yo nutze en diesem Static SKCONTROLHOVERBUTTONS. Diese dejar se una Waitinput no por Getfocus(SK...) ansprechen. Liegt a el Tatsache, el el Teile se en el Static mentira. Also muss Yo anstatt WAITINPUT una Getmessage nutzen en lo por %MWND = SK.... abzufragen - el klappt, bringt aber mi Trayfunktion algo para lahmen. Langer Texto , kurze Cuestión: Welchen Stil würdest Usted el Static todavía addieren, así el Hoverbuttons en Getfocus(SK.....) reagieren? Also el Static vorgaukeln, lo wäre una Diálogo oder Ventana.
Rolf |
|
|
| |
|
|
|
Andreas Miethe
| ¡Hola Rolf,
Yo fürchte como hay no passenden Stil ! Verpass el Static una CALLBACK. In el Callback se entonces WM_COMMAND angefragt y una Usermessage ans Hautprogramm geschickt.
Ejemplo : KompilierenMarcaSeparación $H windows.ph
$H messages.ph
Set("FastMode",1)
Declare static&,Button&,Ende&,OldStaticProc&
Declare Image&
Proc DummyCallback
Parameters wnd&,msg&,wparam&,lparam&
If msg& = ~WM_COMMAND
Usermessage an %hwnd schicken
Sendmessage(%hwnd,$4000,0,lParam&)
Endif
Return ~CallWindowProc(OldStaticProc&,wnd&,msg&,wparam&,lparam&)
EndProc
UserMessages $4000
Window 40,40-640,480
Static& = ~CreateWindowEx(~WS_EX_TOOLWINDOW,"Static","Test",~WS_Visible | ~WS_Child | $E,0,0,120,24,%Desktop,0,%hInstance,0)
Image& = ~LoadImage(0,"c:\windows\setup.bmp",0,200,100,~LR_LOADFROMFILE)Pfad anpassen
SendMessage(Static&,~STM_SETIMAGE,~IMAGE_BITMAP,Image&)
Button& = Create("Button",Static&,"klick",0,0,120,24)
~RedrawWindow(%Desktop,0,0,$0581)
Callback setzen
OldStaticProc& = ~SetWindowLong(Static&,~GWL_WNDPROC,ProcAddr(DummyCallback,4))
WhileNot Ende&
waitinput
If %Umessage = $4000
If &ULParam = Button&
Print "Gotcha",&ULParam
Endif
Endif
Wend
end
|
|
|
| Gruss Andreas ________ ________ ________ ________ _ Profan 3.3 - XProfanX2 Win 95,98,ME,2000,XP,Vista - Win 7 32 / 64 Bit ASUS X93S - Intel Core I7-NVIDIA GForce 540M 8GB Arbeitsspeicher Homepage : [...] | 27.08.2004 ▲ |
|
|
|
|
Rolf Koch | JA, ahora hast Usted me otra vez veces todos Fragen a meiner Zufriedenheit beantwortet. Funktioniert ahora bestens!!! Gracias Andreas
Rolf |
|
|
| |
|
|