| Autor |
Beitrag |
Hybrid
      
Beiträge: 112
Win XP Pro
D7 Ent
|
Verfasst: Mo 07.02.05 20:07
Hi erstmal..
Ich habe zwar vor ca einem Jahr schonmal sowas gepostet und keine Antwort erhalten,
aber ich will das nach ner Stunde erfolgloser Suche jetzt endlich mal wissen:
Wie bekomme ich ein Forular dazu dass es sich immer unter allen fenstern befindet, d.h. in den Desktop geheftet ist?
Das einige, was auch ne ziemlich blöde Methode ist, dass mit einfällt ist ein Timer mit SendToBack -.-
Bitte um Hilfe..
mfG Hybrid
_________________ Hallo, ich bin eine Signatur!
|
|
I.MacLeod
      
Beiträge: 109
|
Verfasst: Mo 07.02.05 20:42
Pack das hier ins OnActivate:
Delphi-Quelltext 1: 2:
| SetWindowLong(handle, GWL_STYLE, GetWindowLong(handle, GWL_STYLE) or WS_CHILD); SendToBack; |
_________________ {$APPTYPE CONSOLE}uses SysUtils;const a='{$APPTYPE CONSOLE}uses SysUtils;const a=%s;begin write(Format(a,[#39+a+#39]))end.';begin write(Format(a,[#39+a+#39]))end.
|
|
Hybrid 
      
Beiträge: 112
Win XP Pro
D7 Ent
|
Verfasst: Mo 07.02.05 21:06
Hä? Wie lustig, wenn ich das benutzte bleibt das Fenster beim ziehen an der Ausgangsposition und bewegt sich erst beim loslassen der Maustaste ^^
Das ist fast so als ob ich "Fensterinhalt beim zeihen anzeigen" aus haben.
Kann man das nicht irgendwie anders machen? (dennoch danke)
_________________ Hallo, ich bin eine Signatur!
|
|
I.MacLeod
      
Beiträge: 109
|
Verfasst: Mo 07.02.05 21:14
Hmm... ich war davon ausgegangen dass es für irgendwelche Statistiken (o.ä.) und das Formular daher sowieso Rahmenlos wäre. (Funktioniert sowieso nur mit BorderStyle=bsNone)
Eine andere Möglichkeit ist mir aber leider nicht bekannt :-/
// Edit:
Eventuell nur dann wieder in den Hintergrund verdammen wenn es gerade aktiviert wurde. Könnte nur eklig flackern. (=>ReleaseCapture?)
_________________ {$APPTYPE CONSOLE}uses SysUtils;const a='{$APPTYPE CONSOLE}uses SysUtils;const a=%s;begin write(Format(a,[#39+a+#39]))end.';begin write(Format(a,[#39+a+#39]))end.
|
|
Motzi
      
Beiträge: 2931
XP Prof, Vista Business
D6, D2k5-D2k7 je Prof
|
Verfasst: Mo 07.02.05 21:20
Eine einfache Möglichkeit die mir grad einfallt, ist einfach den Desktop als Parent zu setzen:
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9:
| var wnd: HWND; begin wnd := FindWindow('Progman', 'Program Manager'); wnd := FindWindowEx(wnd, 0, 'SHELLDLL_DefView', nil); wnd := FindWindowEx(wnd, 0, 'SysListView32', nil);
Windows.SetParent(Handle, wnd); end; |
_________________ gringo pussy cats - eef i see you i will pull your tail out by eets roots!
|
|
Hybrid 
      
Beiträge: 112
Win XP Pro
D7 Ent
|
Verfasst: Mo 07.02.05 21:27
Oh ja jetzt wo du es erwähnst seh ich dass das wirklich nicht für's Verscheiben gedacht ist, da im popupmenü in der Taskleiste kein Verschieben zur auswahl ist.
OK dann mach ich das halt damit. Danke!
Sollte aber dennoch jemanden was anderes einfallen kann er es ja gerne Posten ^^
_________________ Hallo, ich bin eine Signatur!
|
|
I.MacLeod
      
Beiträge: 109
|
Verfasst: Mo 07.02.05 21:39
Joa, die Lösung ist besser. Gibts vielleicht auch noch eine wo TransparentColor & Co. funktionieren?
_________________ {$APPTYPE CONSOLE}uses SysUtils;const a='{$APPTYPE CONSOLE}uses SysUtils;const a=%s;begin write(Format(a,[#39+a+#39]))end.';begin write(Format(a,[#39+a+#39]))end.
|
|
Hybrid 
      
Beiträge: 112
Win XP Pro
D7 Ent
|
Verfasst: Mo 07.02.05 23:01
Also das mit dem Parent is perfekt.
PS: Bei mir geht alles mit Transparentcolor und Alphacolor..
_________________ Hallo, ich bin eine Signatur!
|
|
Gothicware
      
Beiträge: 77
Win 98, Win 2000, Win XP, BeOs-R5, Zeta 1.0(war nicht gut, also verkauft), KnoppiX, VM-Ware
D4 Client/Server, Turbo Basic, QBasic, Atari-Basic
|
Verfasst: Sa 12.02.05 13:21
Also beimir funktioniert nur (W2K Prof):
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13:
| var wnd: HWND; begin wnd := FindWindow('Progman', 'Program Manager'); wnd := FindWindowEx(wnd, 0, 'SHELLDLL_DefView', nil);
Windows.SetParent(Handle, wnd); end; |
Was ich noch empfehlen kann, ist ein AktiveX Elemnt zu Programmieren, und das in eine
HTML Datei einbinden, und das Ganze als Desktop Hintergrund verwenden.
Dann ist alles Wirklich ganz unten...im warsten Sinne des Wortes.
|
|