Delphi-PRAXiS
Seite 1 von 6  1 23     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Software-Projekte der Mitglieder (https://www.delphipraxis.net/26-software-projekte-der-mitglieder/)
-   -   TInfoBox - eine InfoBox direkt auf dem Desktop (https://www.delphipraxis.net/74297-tinfobox-eine-infobox-direkt-auf-dem-desktop.html)

3_of_8 1. Aug 2006 01:03


TInfoBox - eine InfoBox direkt auf dem Desktop
 
Liste der Anhänge anzeigen (Anzahl: 2)
Morgen.

Ich stand gerade vor dem Problem: Wie kriege ich eine Reihe von Komponenten auf den Desktop?

Nach und nach kam mir die Idee: Warum nicht die Komponenten in ein Panel packen und das mit der WinAPI bearbeiten.

Und hier ist mein TDesktopPanel.

Es kann in der Entwurfszeit auf einem Formular platziert und mit Komponenten bestückt werden. Zur Laufzeit wandert es dann auf den Desktop und kann mit Left/Top/Width/Height platziert/skaliert werden.

Hinweis: Das TDesktopPanel kann NICHT den Fokus erhalten. Ebensowenig alle Komponenten, die darauf sind. Man kann zwar Edits usw. drauftun, nur reinschreiben geht mangels Fokus nicht. Dafür muss man dann eine Form mit BorderStyle=bsNone verwenden.

Zwei Bugs sind noch drin:
1. Die Form zeichnet bei der Verschiebung des Panels immer noch die Scrollleisten, die einzige Möglichkeit, die da wohl funktioniert ist, bei der Form beide Scrollleisten auf Visisble=False zu stellen. Wenn jemand eine bessere Idee hat, nur her damit.

2. Es gibt ein leichtes Flimmern, wenn die Form in den Vordergrund geholt wird bei WM_MOVE. Wie man das behebt, weiß ich nicht, ich bin aber für Vorschläge offen.

Dax 1. Aug 2006 02:07

Re: TDesktopPanel - ein Panel direkt auf dem Desktop
 
Zu dem ersten Bug: statt des SetParent nimm lieber sowas:
Delphi-Quellcode:
Parent := new TWinControl.CreateParented(GetDesktopWindow);
Windows.SetParent(HAndle, GetDesktopWindow);
Den zweiten kann ich garnicht nachvollziehen :gruebel:

Bleibt trotzdem noch die Frage - für ist sowas gut?

3_of_8 1. Aug 2006 08:38

Re: TDesktopPanel - ein Panel direkt auf dem Desktop
 
new TWinControl.CreateParented? :gruebel:

Und: Ich verwende es zum Beispiel für sowas in der Art wie Hinweisboxen, auf die man aber alles mögliche drauschmeißen kann, also die man frei gestalten kann zur Entwicklungszeit.

EDIT: Ich forme die Kompo mal um zur einer "TInfoBox" und poste sie dann nochmal.

3_of_8 2. Aug 2006 21:39

Re: TDesktopPanel - ein Panel direkt auf dem Desktop
 
Liste der Anhänge anzeigen (Anzahl: 1)
Ich habe es jetzt mal als TInfoBox implementiert. Einfach Show aufrufen, wenn sie gezeigt werden soll.

DP-Maintenance 2. Aug 2006 22:37

DP-Maintenance
 
Dieses Thema wurde von "Chakotay1308" von "Neuen Beitrag zur Code-Library hinzufügen" nach "Open-Source" verschoben.

Meflin 3. Aug 2006 13:48

Re: TInfoBox - eine InfoBox direkt auf dem Desktop
 
Aloa!

Wie wärs mit einem Screenshot, bzw einer Demo-Exe :stupid: ?


Neutral General 3. Aug 2006 14:24

Re: TInfoBox - eine InfoBox direkt auf dem Desktop
 
Die InfoBox-Unit wird nicht klappen wenn du die Trans.pas nicht mitlieferst oder die procedure nicht in die InfoBox.pas reinpackst ;)

EDatabaseError 3. Aug 2006 14:28

Re: TInfoBox - eine InfoBox direkt auf dem Desktop
 
:stupid: jetzt baut er die Trans.pas in alles ein :lol:

3_of_8 3. Aug 2006 15:13

Re: TInfoBox - eine InfoBox direkt auf dem Desktop
 
Nein.

Der Hint in meinem Periodensystem IST eine TInfoBox. Die war von Anfang an dafür geplant.

Und ich mach das gleich alles, moment.

EDatabaseError 3. Aug 2006 15:15

Re: TInfoBox - eine InfoBox direkt auf dem Desktop
 
cool. ab welcher version läuft die tinfobox??? D3??? Diese Kompo gefällt mir nämlich ;-)


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:51 Uhr.
Seite 1 von 6  1 23     Letzte »    

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