AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte TInfoBox - eine InfoBox direkt auf dem Desktop
Thema durchsuchen
Ansicht
Themen-Optionen

TInfoBox - eine InfoBox direkt auf dem Desktop

Ein Thema von 3_of_8 · begonnen am 1. Aug 2006 · letzter Beitrag vom 9. Apr 2007
Antwort Antwort
Seite 2 von 6     12 34     Letzte »    
Benutzerbild von 3_of_8
3_of_8
Registriert seit: 22. Mär 2005
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.
Miniaturansicht angehängter Grafiken
hydrogenium_829.jpg  
Angehängte Dateien
Dateityp: zip infobox_634.zip (1,8 KB, 110x aufgerufen)
„The trouble with having an open mind, of course, is that people will insist on coming along and trying to put things in it.“
- Terry Pratchett
 
Benutzerbild von 3_of_8
3_of_8

 
Turbo Delphi für Win32
 
#11
  Alt 3. Aug 2006, 15:15
Frag mich nicht, ich kanns nur mit D7 testen. Probiers halt aus.
Manuel Eberl
  Mit Zitat antworten Zitat
EDatabaseError

 
Delphi 2007 Professional
 
#12
  Alt 3. Aug 2006, 15:19
OnLine 85 Kann er Mouse nicht finden und DoubleBuffred im Create hab ich mal ge//

Dann eben noch die Trans ins gleiche verzeichnis also schau mal was sich in line 85 machen lassen kann.

Mfg
Tobi
Tobias
  Mit Zitat antworten Zitat
Benutzerbild von 3_of_8
3_of_8

 
Turbo Delphi für Win32
 
#13
  Alt 3. Aug 2006, 15:21
Binde mal Controls ein, dann dürfte das mit Mouse funktionieren.
Manuel Eberl
  Mit Zitat antworten Zitat
EDatabaseError

 
Delphi 2007 Professional
 
#14
  Alt 3. Aug 2006, 15:26
ist schon eingebunden. Kennt mein D3 leider nicht
Tobias
  Mit Zitat antworten Zitat
Benutzerbild von 3_of_8
3_of_8

 
Turbo Delphi für Win32
 
#15
  Alt 3. Aug 2006, 15:40
WinAPI is was tolles... Neue Version im Anhang 1. Beitrag, die dürfte auch bei dir gehen.

(Nur das DoubleBuffered musste noch raustun)
Manuel Eberl
  Mit Zitat antworten Zitat
EDatabaseError

 
Delphi 2007 Professional
 
#16
  Alt 3. Aug 2006, 15:42
im ersten Beitrag ist das Panel aber nicht die infobox???

//Edit schneller als die polizei erlaubt
Tobias
  Mit Zitat antworten Zitat
EDatabaseError

 
Delphi 2007 Professional
 
#17
  Alt 3. Aug 2006, 15:45
Element " hat kein übergeornetes Fenster.

Wenn ich es in ein Form einfügen will. An wem liegts
Tobias
  Mit Zitat antworten Zitat
Benutzerbild von 3_of_8
3_of_8

 
Turbo Delphi für Win32
 
#18
  Alt 3. Aug 2006, 15:47
An dir.

Spaß beiseite, will be fixed in next release.
Manuel Eberl
  Mit Zitat antworten Zitat
EDatabaseError

 
Delphi 2007 Professional
 
#19
  Alt 3. Aug 2006, 15:48
ok danke
Tobias
  Mit Zitat antworten Zitat
Benutzerbild von xZise
xZise

 
Delphi 2009 Professional
 
#20
  Alt 3. Aug 2006, 15:57
Zitat von EDatabaseError:
OnLine 85 Kann er Mouse nicht finden
Siehe dsdt:
Zitat:
Bis einschließlich Delphi 3 steht TMouse nicht zur Verfügung. Hier kann folgender Code verwendet werden.
Delphi-Quellcode:
procedure TForm1.Timer1Timer(Sender: TObject);
var
  P: TPoint;
begin
  GetCursorPos(P);
  Label1.Caption := IntToStr(P.X);
  Label1.Caption := IntToStr(P.Y);
end;
[Quelle]

@ Topic: Das scheint ja eine interssante Kombo zu sein... Ich werds mir mal anguggen.
Fabian
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 6     12 34     Letzte »    


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:39 Uhr.
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