AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

ListBox TopLevel

Ein Thema von EWeiss · begonnen am 26. Jul 2016 · letzter Beitrag vom 2. Aug 2016
Antwort Antwort
Seite 1 von 2  1 2      
EWeiss
(Gast)

n/a Beiträge
 
#1

ListBox TopLevel

  Alt 26. Jul 2016, 22:30
Gibt es eine Möglichkeit eine ListBox über allen anderen Komponenten zu setzen inklusive der eigenen Mainform?
Damit sie sich so verhält wie eine Combobox?

Ich hab schon so einiges versucht SetWindowPos und die dafür verwendbaren Flags.
Hat nichts gebracht..

Siehe Bild unten das Teil das wie eine Combo aussieht, bekomme ich nicht über die MainForm.

gruss

Geändert von EWeiss (11. Jul 2019 um 16:44 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.071 Beiträge
 
Delphi 12 Athens
 
#2

AW: ListBox TopLevel

  Alt 27. Jul 2016, 10:58
Wenn es sich auf die (Main)Form als Komponente drauf malt, dann nein.

Wenn es selber in einem "eigenem" Fenster ist, dann ja. (siehe Hints, PopupMenüs und DropDown-Fenster ala ComboBox)
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#3

AW: ListBox TopLevel

  Alt 27. Jul 2016, 17:41
Wenn es sich auf die (Main)Form als Komponente drauf malt, dann nein.

Wenn es selber in einem "eigenem" Fenster ist, dann ja. (siehe Hints, PopupMenüs und DropDown-Fenster ala ComboBox)
OK Danke dann werde ich das malversuchen.

Irgendwelche Informationen welche Style des Fensters Verwendung finden?
WS_POPUP oder WS_OVERLAPED
WS_CHILD und oder Parent Handle ?

Glaube das dürfte nicht egal sein damit es funktioniert.

gruss
  Mit Zitat antworten Zitat
Sailor

Registriert seit: 20. Jul 2008
Ort: Balaton
112 Beiträge
 
Delphi 2010 Professional
 
#4

AW: ListBox TopLevel

  Alt 27. Jul 2016, 18:03
FormStyle := fsStayOnTop sollte helfen
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#5

AW: ListBox TopLevel

  Alt 27. Jul 2016, 18:11
FormStyle := fsStayOnTop sollte helfen
Danke sorry ist NonVcl (Hätte ich dabei schreiben sollen)
Und nein würde auch nicht funktionieren.. (mit der ListBox ohne DropDown Window)

Sagte schon das ich SetWindowPos und Konsorte schon versucht habe.

gruss
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.071 Beiträge
 
Delphi 12 Athens
 
#6

AW: ListBox TopLevel

  Alt 27. Jul 2016, 18:15
Zitat:
Sagte schon das ich SetWindowPos und Konsorte schon versucht habe.
Und wie?

Man könnte auf die blöde Idee kommen und in der Forms.pas nachgucken, was fsStayOnTop macht.
SetWindowPos + HWND_TOPMOST

Aber TopMost würde ich nicht nehmen.
Es muß als Owner das Programmfenster bekommen und vermutlich wird man oft etwas mit WS_POPUP und eventuell SWP_NOACTIVATE verwenden.
Bei Google suchendelphi create popup window
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.

Geändert von himitsu (27. Jul 2016 um 18:20 Uhr)
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#7

AW: ListBox TopLevel

  Alt 27. Jul 2016, 18:25
Zitat:
Sagte schon das ich SetWindowPos und Konsorte schon versucht habe.
Und wie?
SetWindowPos + HWND_TOPMOST

Aber TopMost würde ich nicht nehmen
Hallo ?
Ich sagte schon das es nicht funktioniert inklusive aller Flags von SetWindowPos.
Ich bekomme ohne eines emulierten DropDown (ala Combobox) so wie von dir vorgeschlagen die Einträge meiner Listbox nicht onTop..

Zitat:
Man könnte auf die blöde Idee kommen und in der Forms.pas nachgucken
Nein ich muss da nicht schauen was SetWindowPos tut macht und kann. (Das ist mir bekannt)
Da ich fast ausschließlich Nonvcl programmiere.

Zitat:
Es muß als Owner das Programmfenster bekommen und vermutlich wird man oft etwas mit WS_POPUP und eventuell SWP_NOACTIVATE verwenden
Ok
Dann werde ich das Fenster mit dem Style WS_POPUP auslegen. WS_CHILD weglassen und das Parent Handle auf 0 setzen.

gruss

Geändert von EWeiss (27. Jul 2016 um 18:28 Uhr)
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#8

AW: ListBox TopLevel

  Alt 28. Jul 2016, 12:31
Da ist wohl nix zu machen.
Ich habe es auf verschiedene weise versucht aber das DropDown (für meine ListBox) verhalten der Combobox lässt sich nicht emulieren.
Na ja wollte es nur noch mitteilen falls jemand anderes er versuchen sollte.


gruss
  Mit Zitat antworten Zitat
BerndS

Registriert seit: 8. Mär 2006
Ort: Jüterbog
491 Beiträge
 
Delphi 12 Athens
 
#9

AW: ListBox TopLevel

  Alt 28. Jul 2016, 14:02
In den Rx Komponenten gibt es ein TComboEdit welches dieses Verhalten nachstellt. Diese befindet sich in der Unit RxToolEdit. Da müsste ersichtlich sein, wie das gemacht wird.
Ich habe hier nur einen Stand vom 4.9.2012. Einen neueren Stand kann man unter https://sourceforge.net/projects/rxlib/ herunter laden. Vielleicht ist es das was du suchst.
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#10

AW: ListBox TopLevel

  Alt 28. Jul 2016, 19:05
In den Rx Komponenten gibt es ein TComboEdit welches dieses Verhalten nachstellt. Diese befindet sich in der Unit RxToolEdit. Da müsste ersichtlich sein, wie das gemacht wird.
Ich habe hier nur einen Stand vom 4.9.2012. Einen neueren Stand kann man unter https://sourceforge.net/projects/rxlib/ herunter laden. Vielleicht ist es das was du suchst.
Kann nicht schaden da mal nachzuschauen.
Danke..

Eigentlich dürfte es kein Problem sein wenn ich als Parent GetDesktopWindow nehme und anschließend
die Listbox über das Window mit MoveWindow verschiebe.

Das Problem ist nur das ohne Top_Most die Liste auch nicht über das Hauptfenster gezeichnet wird.
Zudem geht mir dann noch die Transparenz verloren.
Das schlimmst aber ist das die Liste dann on Top über alle Explorer Fenster liegt wenn ich ein Fenster über die Anwendung verschiebe.

OK werde mir das Teil mal anschauen.

EDIT:
Keine Infos die mich weiterbringen

gruss

Geändert von EWeiss (28. Jul 2016 um 20:32 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 11:35 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