![]() |
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. |
Re: TDesktopPanel - ein Panel direkt auf dem Desktop
Zu dem ersten Bug: statt des SetParent nimm lieber sowas:
Delphi-Quellcode:
Den zweiten kann ich garnicht nachvollziehen :gruebel:
Parent := new TWinControl.CreateParented(GetDesktopWindow);
Windows.SetParent(HAndle, GetDesktopWindow); Bleibt trotzdem noch die Frage - für ist sowas gut? |
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. |
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
Dieses Thema wurde von "Chakotay1308" von "Neuen Beitrag zur Code-Library hinzufügen" nach "Open-Source" verschoben.
|
Re: TInfoBox - eine InfoBox direkt auf dem Desktop
Aloa!
Wie wärs mit einem Screenshot, bzw einer Demo-Exe :stupid: ? |
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 ;)
|
Re: TInfoBox - eine InfoBox direkt auf dem Desktop
:stupid: jetzt baut er die Trans.pas in alles ein :lol:
|
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. |
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 02:51 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz