![]() |
Re: Anchor in nonVCL setzen
Zitat:
Nachtrag: Kann es sein, dass du deine Controlls unwissentlich auf eine Art Panel erzeugst, welches seine größe nicht ändert nur seine Position, deine Controlls sich aber damit natürlich nicht relativ zum Panel ändern?
Code:
Wenn du nun den Dialog vergrößerst, ändert sich in wirklichkeit nur das obere Panel mit dem Liostview für die Dateien, das untere mit deinem Controll bleibt unverändert und es wirkt nur so, als ob deine Controlls und die anderen Controlls ihre Positioin anpassen würden entsprechend der Größenänderung.
+---------------+
| | | Panel 1 | +---------------+ | | | Panel 2 | | | | Dein Controll | +---------------+ |
Re: Anchor in nonVCL setzen
Wenn ich das wüßte, aber ein Panel müßte doch auch als Control (Window) müßte doch dann auch als DialogItem aufzufinden sein, oder nicht? (gefunden hab ich aber kein weideres Control)
Die Position laß ich so berechnen:
Delphi-Quellcode:
Also das Edit relativ zu seinem Parent, welches aber definitiv (bin mir eigentlich sicher) die Form ist und worauf ich die Controls auch erstellt hab.
H := GetDlgItem(hWnd, 101);
GetWindowRect(H, a1); GetWindowRect([b]GetParent(H)[/b], a2); Form1.Caption := IntToStr(a1.Left - a2.Left) + ' ' + IntToStr(a1.Top - a2.Top); Und wenn da "nur" ein Panel wäre, dann sollten doch wohl die Buttons sich nicht nach rechts bewegen :gruebel: |
Re: Anchor in nonVCL setzen
Zumindest was das Aussehen Deiner Combobox angeht hätte ich was:
Delphi-Quellcode:
Du brauchst einmal den DROPDOWNLIST-Stil und zum zweiten bezieht sich die Höhenangabe bei so einer ComboBox auf den ausgeklappten Zustand und ist dann quasi eine maximale Höhe. Die genaue Höhe könntest Du noch anhand der Anzahl Deiner Einträge ausrechnen.
H := CreateWindowExW(WS_EX_CLIENTEDGE, 'COMBOBOX', '', WS_VISIBLE or WS_CHILD or CBS_DROPDOWNLIST,
a4.Left, a3.Top + (a3.Top - a2.Top), a4.Right, a2.Bottom+1000, hWnd, 103, 0, nil); Gruß, teebee |
Re: Anchor in nonVCL setzen
Das mit der ComboBox wurde schon geändert ^^ (dank Luckie)
und die höhe ich jetzt das 11-fache der Dateiname-Edit-Höhe, da ich 10 Einträge hab ^^ |
Re: Anchor in nonVCL setzen
Hab nun auch noch die ganzen, welche man per GetWindowLong erhält durchsucht und nichts gefunden, also wird wohl irgendwie innerhalb der FensterPorzedur wo ich nicht rankomme alles neu angeordnet und nur das, was auch ursprünglich zum fenster gehört ... konnte da zumindestens keine Bits entdecken, welche das steuern würden :cry:
Bleibt mir wohl nur noch die möglichkeit diese Prozedur zu überschreiben und es wirklich alles selbst machen zu müssen -.-'' |
Re: Anchor in nonVCL setzen
Vielleicht werden die IDs ja für irgendwelche im Normalfall nicht sichtbaren Fenster gebraucht. Hast du denn schon mal andere Zufällige IDs probiert?
|
Re: Anchor in nonVCL setzen
Die IDs sind schon OK, denn wenn ich nichts anlege, dann sind diese IDs auch nicht belegt.
meine IDs und die belegten IDs, wobei bisher zwar dieser ID-Breich frei war:
Code:
100 » Passwort-Label
101 » Passwort-Edit 102 » CompLevel-Label 103 » CompLevel-ComboBox
Code:
aber wie ich jetzt feststellen durfte, sind die anderen IDs nicht unbedingt fest ... siehe
0 » OpenDialog-ClientBereich
1 » Öffnen-Button 2 » Abbrechen-Button 1038 » Hilfe-Button 1040 » Schreibgeschützt-CheckBox 1088 » Control-Butons (at top-right) 1089 » Typ-Label 1090 » Dateiname-Label 1091 » SuchenIn-Label 1120 » Datei-ListBox 1136 » Typ-Edit 1137 » SuchenIn-ComboBox [color=#ff0000]1148 oder 1152[/color] » Dateiname-Edit 1184 » PlacesBar ![]() Wie gesagt, hier funktioinert alles, nur daß es halt anscheinend keine Möglichkeit gibt, daß meine Controls von der selben Routine neu gruppiert werden, welche sich auch schon um die Originalcontrols kümmert :cry: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:55 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