AGB  ·  Datenschutz  ·  Impressum  







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

Anchor in nonVCL setzen

Ein Thema von himitsu · begonnen am 22. Apr 2006 · letzter Beitrag vom 28. Apr 2006
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von himitsu
himitsu

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

Anchor in nonVCL setzen

  Alt 22. Apr 2006, 10:45
Ich hab mir per CreateWindowExW einige Controls erstellt und würde dieser ebenfalls (gern) automatisch ausgerichtet haben, ist das irgendwie möglich?

Also genauso, als wenn ich in der VCL die Anchor-Werte auf Unten+Rechts, oder Links+Unten+Rechts asetzen würde.
$2B or not $2B
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#2

Re: Anchor in nonVCL setzen

  Alt 22. Apr 2006, 10:47
die Anchors sind VCL-Sache. Die VCL-Komponenten bekommen also mit wenn die größe geändert wird und setzen dementsprechend die Childs anhand der Anchors um.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

Re: Anchor in nonVCL setzen

  Alt 22. Apr 2006, 10:57
Also muß ich das wohl doch irgendwie alleine machen, oder kann man sich da an andere Komponenten dranhängen?

Es geht um die Open-/Save-Dialoge ... hab da was nachgerüstet und das verhält sich (wie's z.B. auch in Notepad bei der Codierung ist) nicht wie der Rest, wenn man den Dialog vergrößert. -.-''


[Anhang gelöscht]
da drüben ist ist nochmal soeine Datei (der "falsch" beschriftete OK-Button sollte ja nicht stören)
Ich finde keine ChildHandles beim TSaveDialog ...

[grobe Rechtschreibprüfung durchlaufen]
$2B or not $2B
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

Re: Anchor in nonVCL setzen

  Alt 23. Apr 2006, 19:24
Etwas ist aber dennoch komisch, wenn meine Komponenten nicht automatisch ausgerichtet würden, dann müßten die doch oben/links fest sein, aber sin sind unten/links fest, werden also irgendwie ausgerichtet :grübel:

Außerdem bekomm ich über meinen Explorer-Hook keine Rückmeldung über veränderung der Fenstergröße, kann also schonmal da nichts machen

Da nun aber dennoch irgendwie meie Komponenten ausgerichtet werden, sollte es doch irgendwie möglich sein wie und wodurch und eventuell wie man das beeinflussen kann?
$2B or not $2B
  Mit Zitat antworten Zitat
Benutzerbild von turboPASCAL
turboPASCAL

Registriert seit: 8. Mai 2005
Ort: Sondershausen
4.274 Beiträge
 
Delphi 6 Personal
 
#5

Re: Anchor in nonVCL setzen

  Alt 23. Apr 2006, 19:39
:grübel: edit to

Zitat von himitsu:
Etwas ist aber dennoch komisch, wenn meine Komponenten nicht automatisch ausgerichtet würden, [...]
Also ich wüsste nix von Anchors bei nonVCL.

Zitat von himitsu:
dann müßten die doch oben/links fest sein, aber sie sind unten/links fest, werden also irgendwie ausgerichtet

Da nun aber dennoch irgendwie meine Komponenten ausgerichtet werden, sollte es doch irgendwie möglich sein wie und wodurch und eventuell wie man das beeinflussen kann?
Kannst du das mal genauer erklären ?
Matti
Meine Software-Projekte - Homepage - Grüße vom Rüsselmops -Mops Mopser
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

Re: Anchor in nonVCL setzen

  Alt 24. Apr 2006, 00:28
Also, normalerweise sollte doch die Komponente fest auf der X-Y-Position sitzen - sich also nicht relativ zur Ecke oben-link bewegen, wenn man das Formular vergrößert/verkleinert.

Aber du kannst es ja selber testen - dort bewegen sich meine Komponenten.
Na ja, zumindestens hoch/runter (das links/rechts fehlt halt noch).
- es sind die Label/Edits für Passwort und CompLevel
> http://www.delphipraxis.net/internal...=536694#536694

Demnach muß dort ja schon sowas wie ein Anchor gesetzt sein, oder seh ich das falsch?
Allerdings nicht von mir im nonVCL, sondern in der WinAPI, also davon was auch die Originalkomponenten auf der Form verschiebt, und da auf der Form nicht alles auf die selbe Weise verschoben wird, muß es doch wohl auch irgendwie zu steuern sein.
$2B or not $2B
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#7

Re: Anchor in nonVCL setzen

  Alt 24. Apr 2006, 02:27
Nein, es gibt keine Anchors in der WinAPI. Dies ist ein Feature der VCL. Wenn du dein Fenster mit CreateWindows(Ex) erstelllst, gibst du die Position relativ zur Clientarea links oben an. Soll sich dein Clientfenster der Parent anpassen, musst du auf die Nachricht WM_SIZE reagieren, wo du im lParam die neuen Maße der Clientarea bekommst:
Zitat:
lParam
The low-order word of lParam specifies the new width of the client area.
The high-order word of lParam specifies the new height of the client area.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

Re: Anchor in nonVCL setzen

  Alt 24. Apr 2006, 03:48
Tja, abgesehn vom ExplorerHook steht mein Programm aber sozusagen still und reagiert erst recht auf keine Messages eines fremden Fensters (denk ich ma?) und im ExplorerHook bekomm ich keine derartigen Messages.
Denn das Fenster, welches geändert wird wurde doch von GetSaveFileNameW erstellt und sendet seine Messages irgendwo anders hin

Aber Fakt ist nunmal, daß sich meine Controls bewegen ... wie auch immer.
$2B or not $2B
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#9

Re: Anchor in nonVCL setzen

  Alt 24. Apr 2006, 07:36
Hat dein Clientfenster eventuell zufälligerweise die ID eines vorhandenen Fensters? Anders kann ich es mir nicht erklären. Häng das Projekt mal mit Code an. Allerdings kann ich nicht versprechen, dass ich Zeit finde es mir so genau anzugucken, aber zu mindest sehen würde ich es gerne.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

Re: Anchor in nonVCL setzen

  Alt 24. Apr 2006, 08:43
Also meine ID's sind 10 bis 103 und diese sind sonst nicht belegt.
Code:
#32770 » DialogName
0 » OpenDialog-ClientBereich
1 » Öffnen-Button
2 » Abbrechen-Button
[b]100 » Passwort-Label
101 » Passwort-Edit
102 » CompLevel-Label
103 » CompLevel-ComboBox[/b]
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
1152 » Dateiname-Edit
1184 » PlacesBar
Hatte sogar mal das übergebene Fenster-Handle auf 0 gesetzt (in der ButtonClick-Proczedur)
Param.hParent := 0; Selbst in einem Program ohne Fenster ('ne DPR ohne Application und TForm's)

... brachte auch nichts.

Im OnSelectChange ist auch ein Code drin, welcher die Position vom PasswortEdit in der FormCaption anzeigt.
Also nach 'ner Größenänderung des Formulars einfach mal die Markierung der Dateien ändern.


Wie gesagt noch nicht ganz fertig, aber ich hoffe mal es sieht nicht all zu schlimm aus ._.


PS: hast du nicht zufällig ein paar nonVCL-Tuts über CheckBoxen und ComboBoxen?
vorallem meine ComboBox (CompLevel) ist überhaupt nicht so, wie sie sein soll
Angehängte Dateien
Dateityp: exe project3_sfx_180.exe (218,9 KB, 13x aufgerufen)
$2B or not $2B
  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 21:28 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