Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Klatsch und Tratsch (https://www.delphipraxis.net/34-klatsch-und-tratsch/)
-   -   Wie wurde dieses Programm programmiert, bzw. wie funktioniert es? (https://www.delphipraxis.net/166229-wie-wurde-dieses-programm-programmiert-bzw-wie-funktioniert-es.html)

Popov 3. Feb 2012 16:59

Wie wurde dieses Programm programmiert, bzw. wie funktioniert es?
 
Liste der Anhänge anzeigen (Anzahl: 1)
Vielleicht liegt es daran, dass ich immer noch mit XP arbeite und vielleicht gehört es seit Vista und Windows 7 zur Normalität, und vielleicht wurde diese Frage hier schon erörtert, aber ich frage mich wie dieses Programm funktioniert. Es nennt sich Analoque Vista Clock und ist als Demo erhältlich, z. B. bei heise: http://www.heise.de/software/downloa...ta_clock/40155. Ich kenne mich zwar nur venig mit Vista und Win 7 aus, aber die Windows Sidebar funktioniert nach meinen Kenntnissen anders.

Was mich an dem Programm interessiert ist nicht, dass es teil-transparent ist und permanent im Vordergrund liegt, sondern dass es durchklickbar ist. Wenn ich auf das Programm klicke, dann klicke ich den Hintergrund an.

Ok, das könnte ich auch noch mit einem gewissen Aufwand hinkriegen in dem ich die Mausaktionen abfange und sie an das dahinter liegende Programm weiterleite, aber kann es so simpel sein und doch so genial?

Sir Rufo 3. Feb 2012 17:07

AW: Wie wurde dieses Programm programmiert, bzw. wie funktioniert es?
 
ja, es wäre so schön, wenn es eine Forensuche geben würde
Hier im Forum suchenform durchklickbar

himitsu 3. Feb 2012 17:12

AW: Wie wurde dieses Programm programmiert, bzw. wie funktioniert es?
 
Und zum Thema (Halb)Transparent gibt es auch einige Threads zu finden.

Popov 3. Feb 2012 17:15

AW: Wie wurde dieses Programm programmiert, bzw. wie funktioniert es?
 
Ok, danke, da habe ich wohl die falschen Suchbegriffe verwendet. Ich ging davon aus, dass es etwas komplexer ist mit Mausaktionen abfangen und nach hinten weiterleiten.

himitsu 3. Feb 2012 17:23

AW: Wie wurde dieses Programm programmiert, bzw. wie funktioniert es?
 
Selbst wenn man es manuell machen müßte ...
- Fenster hinter dem eigenem Fenster finden > EnumWindows
- Mausnachrichten weiterreichen > SendMessage

Sir Rufo 3. Feb 2012 17:23

AW: Wie wurde dieses Programm programmiert, bzw. wie funktioniert es?
 
Zitat:

Zitat von Popov (Beitrag 1149092)
Ok, danke, da habe ich wohl die falschen Suchbegriffe verwendet. Ich ging davon aus, dass es etwas komplexer ist mit Mausaktionen abfangen und nach hinten weiterleiten.

Ja, das kann man bei einigen Threads hier auch beobachten. Da fragt der TE nach einer ganz abstrusen Möglichkeit etwas zu machen. Wenn man dann fragt, was er eigentlich damit erreichen will, stellt man fest, das er da auf dem völlig falschen Weg war :mrgreen:

Programmier-Richtlinie: KISS - Keep It Smart and Simple
Frage-Richtlinie: ASS - Ask Smart and Simple

DeddyH 3. Feb 2012 17:38

AW: Wie wurde dieses Programm programmiert, bzw. wie funktioniert es?
 
Ob sie jetzt "durchklickbar" ist, weiß ich nicht, aber mir fällt spontan Emils GDIClock ein, das Ding ist OpenSource, vielleicht lässt sich da ein wenig spicken (ich selbst habe aber zugegebenermaßen nicht reingeguckt).

EWeiss 3. Feb 2012 19:26

AW: Wie wurde dieses Programm programmiert, bzw. wie funktioniert es?
 
Zitat:

Zitat von DeddyH (Beitrag 1149097)
Ob sie jetzt "durchklickbar" ist, weiß ich nicht, aber mir fällt spontan Emils GDIClock ein, das Ding ist OpenSource, vielleicht lässt sich da ein wenig spicken (ich selbst habe aber zugegebenermaßen nicht reingeguckt).

Jo das ist durchklickbar.. (Ghostmode)

Delphi-Quellcode:
procedure TClockForm.MakeWndTransparent(Value : Boolean);
var
   curWinStyle: Integer;
begin
   curWinStyle := GetWindowLong(Handle, GWL_EXSTYLE);
   if Value then
      SetWindowLong(Handle, GWL_EXSTYLE, curWinStyle or WS_EX_TRANSPARENT)
   else
   SetWindowLong(Handle, GWL_EXSTYLE, curWinStyle and (not WS_EX_TRANSPARENT));
end;
Delphi-Quellcode:
procedure TClockForm.menuGhostClockClick(Sender: TObject);
var
   curWinStyle: Integer;

begin
   menuGhostClock.Checked := not menuGhostClock.Checked;

   curWinStyle := GetWindowLong(Handle, GWL_EXSTYLE);
   bGhostClock := not((curWinStyle and WS_EX_TRANSPARENT) = WS_EX_TRANSPARENT);
   MakeWndTransparent(bGhostClock);
   IsFirstTimer := true;  // to apply modified setting at once

   if bGhostClock then
     MessageBox(Handle, pchar(msgs[6] + #10#10+ msgs[7]), pchar(msgs[1]), MB_OK);
end;
PS:
Super unter Klatsch und Tratsch.. Da gehört es hin?

gruss

Popov 4. Feb 2012 13:32

AW: Wie wurde dieses Programm programmiert, bzw. wie funktioniert es?
 
Zitat:

Zitat von EWeiss (Beitrag 1149111)
PS:
Super unter Klatsch und Tratsch.. Da gehört es hin?

Hm, gute Frage. Das Problem ist, dass ich von falschen Voraussetzungen ausging. Der Fehler beruht wohl drauf, dass ich vor Tagen wegen einer anderen Sache einen Screenshot vom Desktop gemacht habe und im Nachhinein der Meinung war die Uhr nicht gesehen zu haben. Also ging ich von einem Trick aus. Ich wusste nicht, dass des Rätsels Lösung so profan ist.

Aber wo wir schon dabei sind, mit welcher Delphiversion hast du deine GDIClock erstellt?

jaenicke 4. Feb 2012 13:39

AW: Wie wurde dieses Programm programmiert, bzw. wie funktioniert es?
 
Zitat:

Zitat von Popov (Beitrag 1149194)
Aber wo wir schon dabei sind, mit welcher Delphiversion hast du deine GDIClock erstellt?

Schau doch einfach nach. Mit Delphi 2006 wurde es zuerst und dann mit Delphi 2009 bearbeitet. ;-)


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:00 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz