![]() |
Komponenten Propertys
Guten Morgen,
ich habe auf einem Panel 2 Memoboxen, getrennt durch einen Splitter, plaziert. Nun möchte ich über Propertys im Objektinbspektor diese Memoboxen sichtbar oder unsichtbar schalten. Kann mir bitte hierbei jemand helfen? Vielen Dank!! Michael |
AW: Komponenten Propertys
.Visible ?
Gruß K-H |
AW: Komponenten Propertys
Ja schon aber wie realisaiere ich das über eine Property?
|
AW: Komponenten Propertys
Wie schon gesagt, über die Eigenschaft visible.
Aber ich glaube nicht, das der Designer die Komponente dann "ausblendet", erst zur Laufzeit ist die Komponente dann unsichtbar. |
AW: Komponenten Propertys
Was meinst Du mit Property, sowas?
Delphi-Quellcode:
type
TFormMitMemos = class(TForm) private function GetMemosVisible: Boolean; procedure SetMemosVisible(const Value: Boolean); ... public property MemosVisible read GetMemosVisible write SetMemosVisible; ... end; ... function TFormMitMemos.GetMemosVisible: Boolean; begin Result := MemoDings.Visible and MemoBums.Visible; end; procedure TFormMitMemos.SetVisibe(const Value: Boolean); begin MemoDings.Visible := Value; MemoBums.Visible := Value; end; |
AW: Komponenten Propertys
Zur Laufzeit würde mir ausreichen, ich habe noch nicht viel mit Propertys gearbeitet und bräuchte für dieses Problem eine kurze Einweisung, wie gesagt, zur Laufzeit würde völlig ausreichen, eingestellt werde soll dieses im OI
|
AW: Komponenten Propertys
Genau sowas meinte ich DeddyH, mal sehen ob ich hinbekomme. Danke!!
|
AW: Komponenten Propertys
Ich empfehle mal den
![]() |
AW: Komponenten Propertys
Du schreibst, dass du deine Memos auf einem Panel platziert hast.
Setze doch - falls du das Panel auch ein-/ausblenden willst - zur Laufzeit einfach MeinPanel.Visible := .... |
AW: Komponenten Propertys
Hallo Michael II,
nein, nicht das ganze Panel soll ausgeblendet werden sondern nur, bei Bedarf, die drauf befindlichen einzelnen Komponenten und das nach Möglichkeit im OI. Es Handelt sich um ein auszulieferndens Programm in dem nicht für jeden alles sichtbar sein soll..... |
AW: Komponenten Propertys
Mahlzeit,
auch wenn eine Komponente im OI auf unsichtbar geschaltet wird bleibt sie im Designer sichtbar. Pubnkt. Die Eigenschaft ( = Property) Visible bemerkt man erst zur Laufzeit. ism |
AW: Komponenten Propertys
.Visible ist eine Property!
Darum nochmals gefragt, was verstehst Du unter "Property", den OI scheinst Du ja zu kennen? Gruß K-H |
AW: Komponenten Propertys
Zitat:
z.B.:
Delphi-Quellcode:
property MyVisible: Boolean read GetVisible write SetMyVisible;
procedure TIrgendwas.SetMyVisible(Value: Boolean); begin FMySubComponent.Visible := Value; if csDesigning in ComponentState then FMySubComponent.Parent := Self else FMySubComponent.Parent := nil; end; function TIrgendwas.GetMyVisible: Boolean; begin Result := FMySubComponent.Visible; end; |
AW: Komponenten Propertys
Hallo,
Delphi-Quellcode:
Das ganze möglichst früh aufrufen (z.B. im FormCreate).
if HatRechtAufMemo1 then
begin Memo1.Visible:= True; end else begin Memo1.Visible:= False; Memo1.Parent:= nil; // später eingetragen (wegen himitsu ;) ) end; |
AW: Komponenten Propertys
Zitat:
denn unsichtbare Controls lassen sich leicht sichtbar machen. ![]() ![]() |
AW: Komponenten Propertys
Mich beschäftigt da eher die Frage ob, wenn es unsichtbar sein soll, eine Komponente überhaupt die korrekte Wahl ist, man kann ja auch StringLists o.ä. nicht-visuelle Dinge verwenden... nur so am Rande.
|
AW: Komponenten Propertys
Für die Sichtbarkeit im Form-Designer gibt es unter VCL, sofern du das meinst, die Funktion
Delphi-Quellcode:
.
SetDesignVisible(Boolean)
Sei aber vorsichtig, weil du dann ohne die Strukturübersicht nicht mehr auf die Komponente zugreifen kannst. |
AW: Komponenten Propertys
Danke für all Eure Antworten!!!
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:09 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