Nach Hause
Top.Mail.Ru Yandeks.Metrika
Forum: "Haupt";
Aktuelles Archiv: 2002.09.09;
Herunterladen: [xml.tar.bz2];

Nach unten

Nicht-visuelle Komponente Finden Sie ähnliche Zweige


Oleg_Gashev   (2002-08-28 01:14) [0]

Hallo!

Ich erstelle eine nicht visuelle Komponente. Auf der Execute-Komponente muss ein Dialog angezeigt werden. Für den Ort des Dialogs erstellte Eigenschaft Links und Oben. Es gab ein interessantes Detail. Wenn ich diese Komponente in das Formular einfüge und die Werte für Links und Oben ändere, wird die Komponentenbezeichnung zur Entwurfszeit in Abhängigkeit von den Werten für Links und Oben entlang des Formulars verschoben. Es stellte sich also die Frage, wie dieser Effekt beseitigt werden kann.

Mit freundlichen Grüßen Oleg.



Юрий Зотов   (2002-08-28 09:52) [1]

Alles klar Sie ändern die Koordinaten der Komponente selbst - so bewegt sie sich. Es müssen jedoch nicht die Koordinaten geändert werden, sondern die Koordinaten des Dialogfelds, das die Komponente dynamisch erstellen, anzeigen und in ihrer Ausführung beenden soll.

Links und Oben müssen sich nicht berühren. Dies sind die impliziten Eigenschaften von TComponent und nicht visuellen Komponenten, die sie zur Unterstützung der Entwurfszeit benötigen. Erstellen Sie Eigenschaften mit unterschiedlichen Namen und binden Sie sie an die Koordinaten des Fensters und nicht an die der Komponente.



MrBeer   (2002-08-28 20:30) [2]

> Yuri Zotov

otvet ochevidnii, pravda otvet na vopros eto ne dayot.



Старый паскалист   (2002-08-28 20:51) [3]

Benennen Sie Holy Island in um
DialogLeft und DialogRight
(oder etwas anderes)



MrBeer   (2002-08-28 21:17) [4]

> Alter Pascalist
"vopros bil kak izbavitsja ot effekta a ne naiti obhodnoi put".



vuk   (2002-08-28 21:42) [5]

Der Weg ist kein Umweg, sondern der richtige.



Oleg_Gashev   (2002-08-28 21:53) [6]

Finden Sie eine Problemumgehung ist kein Problem. Es reicht aus, zwei Methoden hinzuzufügen: SetPosition, GetPosition. Das Problem wurde interessanter, als ich die Eigenschaft Left and Top vorab festlegte. Sie arbeiten mit der Eigenschaft Left und Top des Formulars selbst, die bei Execute ausgeführt werden soll. Der Effekt war immer noch da. Es ist nur nicht klar, warum Delphi seinen Code meinem Handler hinzufügt. Ich definiere schließlich Eigenschaften neu. Nicht logisch wie.



vuk   (2002-08-28 22:03) [7]

Delphi "Ihr" Code fügt nirgendwo hinzu. In TComponent definiert die DefineProperties-Methode zwei "virtuelle" Eigenschaften, die erforderlich sind, damit die nicht visuelle Komponente ihre Position im Formular beibehält. Sie werden als Left und Top in die Formulardatei geschrieben und in die DesignInfo-Eigenschaft geladen. In Ihrem Fall erhalten Sie Folgendes: Sie deklarieren (explizit) zwei Eigenschaften und deren Werte werden normalerweise gelesen (soweit ich das verstanden habe), sie wirken sich jedoch auch auf den DesignInfo-Wert aus.



Набережных С.   (2002-08-28 22:14) [8]

Etwas kann ich nicht glauben.



Oleg_Gashev   (2002-08-28 22:18) [9]

Danke allen. Ich halte die Filiale für geschlossen.




Юрий Зотов   (2002-08-29 01:07) [10]

> MrBeer
"Eigenschaften mit anderen Namen erstellen" ist also die Antwort auf die Frage "kak izbavitsja ot effekta" oder nicht? Erklärt der Ausdruck "Dies sind implizite Eigenschaften von TComponent" den Grund oder nicht?


> pravda otvet na vopros eto ne dayot
Beobachten, wer.


> Nabereschnyje S. (28.08.02 22: 14)
> Sowas kann ich nicht glauben.
Und glaube nicht. Müssen überprüfen. Sie können den Quellcode TComponent sehen und alles wird klar. Eine andere Möglichkeit besteht darin, eine nicht visuelle Komponente in das Formular zu werfen, das Formular als Text anzuzeigen und sicherzustellen, dass die Eigenschaften Left und Top für diese Komponente beibehalten werden, obwohl sie keine Komponente zu haben scheinen. Dies ist die Aufgabe von DefineProperties, um diese beiden impliziten Eigenschaften beizubehalten. Wenn Sie das Formular am nächsten Tag öffnen, sehen Sie die Komponente an derselben Stelle. Deshalb wird sie benötigt.



Набережных С.   (2002-08-29 14:17) [11]


> Yuri Zotov © (29.08.02 01: 07)

Mein Beitrag war verwandt mit Oleg_Gashev © (28.08.02 21: 53),
speziell auf die Bemerkung "Ich definiere Eigenschaften neu." Ich entschuldige mich für die Mehrdeutigkeit.
Und in Bezug auf DefineProperties lesen Sie erneut Oleg_Gashev © (28.08.02 01: 14)Es kann festgestellt werden, dass diese Methode nichts mit der Frage zu tun hat:
"Wenn ich diese Komponente in ein Formular lege und die Werte für" Links "und" Oben "ändere, wird die Komponentenbezeichnung zur Entwurfszeit in Abhängigkeit von den Werten für" Links "und" Oben "entlang des Formulars verschoben."
Was das Speichern von Links und Oben in DFM angeht - danke, aber mir ist bewusst :).



Seiten: 1 ganze Branche

Forum: "Haupt";
Aktuelles Archiv: 2002.09.09;
Herunterladen: [xml.tar.bz2];

nach oben









Speicher: 0.59 MB
Zeit: 0.025 c
14-27217
Andrey Spiridonov
2002-08-15 14:44
2002.09.09
Dokumentation für Datenbank-VCL-Komponenten


3-26863
Lego
2002-08-17 02:42
2002.09.09
Frage zu gelöschten Einträgen ...


4-27285
Star
2002-07-08 12:46
2002.09.09
So erstellen Sie einen Programm-Screenshot des gesamten Bildschirms


1-27008
xyz
2002-08-22 02:10
2002.09.09
Ganzzahl in Worten


7-27251
Alex Krupnitskiy
2002-06-28 13:33
2002.09.09
Delphi 5-Inkompatibilität mit Windows 95 und NT





Afrikanisch Albanien Arabisch Armenisch Aserbaidschanisch Baskisch Weißrusse Bulgarian katalanisch Chinesisch (vereinfacht) Chinesische Tradition) kroatisch Tschechisch Dänisch Dutch Englisch estnisch Philippinisch Finnish Französisch
Galicisch Georgisch Deutsch Griechisch haitian Creole Hebräisch Hindi ungarisch isländisch Indonesian irisch Italian Japanisch Koreanisch lettisch litauisch Makedonisch Malay Maltesisch Norwegian
persisch Polnisch Portugiesisch Rumänisch Russisch serbisch Slovakisch Slowenisch Spanisch Suaheli Swedish Thai Türkisch Ukrainisch Urdu Vietnamesisch Walisisch Jiddisch Bengalisch bosnisch
cebuano Esperanto Gujarati Hausa Hmong igbo Javanisch kannada khmer Laotisch Lateinisch Maorisch Marathi Mongolisch nepali Pandschabi Somalisch Tamilisch Telugu Yoruba
Zulu
Английский Französisch Deutsch Italienisch Португальский Russisch Spanisch