aktiviertes Panel mit Execbutton überlagert Schriften?

Das ist genau der Grund, warum ich überlege IPS per Webinterface zu steuern.
Wenn ich mich nur ein wenig mehr mit Javascript anfreunden könnte. :rolleyes:

Gruß
Klaus

Ich denke man könnte für die Webvisualisierung auch ganz gut ohne Javascripts durchkommen. Für die Aktualisierung könnte man einen Reload der Seite hernehmen. Es bleibt aber trotz alledem noch eine ziemliche Hardcoreprogrammierung über, die du dann in ein paar Jahren, wenn du mal was ändern willst wieder analysieren musst. Ich persönlich tue mich da immer recht schwer, - was aber auch an meinem Programmierstil liegen mag :smiley:

Also mein Ansatz warum ich das ganze gerne trotz aller Probleme gerne mit dem Designer realisieren möchte ist folgender:

Ich mache zwar zur Zeit viel in PHP und habe schon viele Webprojekte damit umgesetzt, aber wenn ich eine Haussteuerung mache, dann sehe ich das eher als eine Sache die längerfristig > 5 Jahre laufen sollte. - Da bin ich dann später mal, - und wenns in 10 Jahren ist - in den Designer vermutlich wieder schneller eingearbeitet als in ein paartausend Zeilen PHP und Javascriptcode… Wer weiß wo die Interessen in ein paar Jahren liegen, vielleicht nervt mich dann PHP schon und ich kanns nimma sehn :rolleyes:

Soweit ich gesehen habe unterstützt ja der Designer auch ein Webwindow. Eventuell kann man dann dort Sachen reinbasteln, wo man mit dem Designer wirklich nicht weitergekommen ist und realisiert das dann mit PHP/JS.

Und wenn alles nix hilft, hilft vielleicht Trixi, die Geheimnisvolle Auszubildende :wink:

Grüße,
Wolfgang

Also mit den Panels klappts ganz gut. Transparenter Hintergrund und Buttons zum Her- und Wegschalten. Den Weg werde ich weiterverfolgen. Mal schaun wieviele Variablen und Scripts ich dann benötige, aber Hauptsache der Screenaufbau passt endlich mal…

Wolfgang

Hallo Wolfgang,

Also ich verstehe Deine Probleme nicht so ganz.

Ich würde nämlich gerne den Hintergrund überall durchsehen.

Das hast Du bei Deiner Lösung über Panels mit Buttons doch auch nicht?

Auch die Reiter finde ich persönlich nicht gerade hübsch, die gehören auch weg.

Das geht doch. 1x1 Pixel Lösung und über den Rest der Pixel was drüber legen…

Die Variante mit Variabeln und True/False für die Visability halte ich für zu aufwendig.

Was mich am Designer stört, ist, dass es schwer ist „Unterprogramme“ zu schreiben. Ich meine Blöcke, die ich immer wieder verwenden kann. Änderungen ziehen sich oft durch das ganze Projekt. Eine Art „Include“ wäre nicht schlecht.
(Dann noch lauffähig auf unterschiedlichen Plattformen und ich wäre begeistert)

Gruß
Klaus

Hallo!

Das Problem, welches ich mit den Tabs habe ist, dass ich einen homogenen Hintergrund habe, der nicht Transparent ist. Mein Hintergrundbild (siehe Attachment meiner letzten Antwort) ist aber strukturiert. Zwischen den Buttons möchte ich die Struktur erkennen können und keinen zBsp. gleichmässig blauen Hintergrund haben. - Das finde ich ehrlich gesagt nicht mehr zeitgemäß, - ist aber sicher Geschmacksache.

Das mit dem 1x1 Pixel habe ich nicht herausgefunden, welche Parameter ich hier genau wo beeinflussen kann? - Habe mich aber dann aufgrund der Hintergrundproblematik auch nicht mehr damit beschäftigt.

Die Variante mit Variabeln und True/False für die Visability halte ich für zu aufwendig.

Mir ist da leider nichts besseres eingefallen, was für meinen Zweck funktioniert? Im Prinzip geht’s aber recht schnell. Ca. 30 Scripts und 30 Variablen die gleich heißen und ich decke damit alle Menüpunkte und Untermenüpunkte ab. Ist einmal etwas Arbeit, aber wenn die mal drinn sind geht’s recht flott vorwärts. Vor allem klappt da jetzt endlich auch mal der Bildaufbau korrekt. Bei der Variante mit den ExecButtons hatte ich teilweise die eigenartigsten Artefakte am Bildschirm wenn ich via Remotedesktop zugegriffen habe.

Grüße,
Wolfgang

Wenn das Ding auf einem Minirechner unter Linux laufen würde … schnurrrr :smiley: … aber ich fürchte so sind wir doch wieder bei der Web-Lösung…

Mal ein Ausschnitt aus meinem Designer mit Tabs…:wink:

hmmm… na geht ja doch irgendwie mit Hintergrund? Liegt der Hintergrund als Bild auf den TABs oder wo kommt denn der her? :rolleyes:

Wolfgang

  1. PageControl anlegen
  2. TabHeight auf 1 Pixel stellen und TabWidth auf 1 Pixel stellen
  3. über 1x1 Pixel Rest ein entsprechendes Panel zum Verdecken legen
  4. TabSheets anlegen
  5. GroupBox über das gesamte TabSheet legen
  6. in die GroupBox ein Image als Hintergrund einfügen
  7. entsprechende Panels als Buttons einfügen
  8. im Object Inspector des Panels ParentBackround auf true stellen
  9. transparentes ExecImage über Panel legen um zwischen den Tabs zu wechseln

Fertig!:cool:

Hallo Thomas,

in Punkt 5. verwendest Du Panels als Button. Das ist O.K…
Aber dann setzt Du ParentBackground auf True. Meiner Erfahrung nach bewirkt diese Property beim Panel gar nichts, egal ob sie auf True oder False steht. Damit kann man das Panel nicht transparent machen.

Es gibt einen viel einfacheren Weg:

  • Statt des Panels ein Image oder ExecImage verwenden;
  • Dem Image kein (!) Bild zuweisen;

Die Folge: Es wird kein Bild angezeigt, was bedeutet, dass der Untergrund sichtbar ist.
Oder anders ausgedrückt: Man hat so einen unsichtbaren Button angelegt, denn die Schaltfunktion für den OnClick Event bleibt dabei voll erhalten.

Auf diese Weise kann man der Schaltfläche ein beliebiges Aussehen geben. So kann man z.B. im Bild einer Ziegelmauer einen bestimmten Backstein als Button verwenden.

Das Verfahren der unsichtbaren Buttons wende ich auch beim Thermometer in meinen Beispiel-Skripten an.

Gruß
HJH

Kleine Einfügung.

Das Verfahren der unsichtbaren Buttons wende ich auch beim Thermometer in meinen Beispiel-Skripten an.

Rücksetzen der min/max Werte.

Hallo HJH,

Aber dann setzt Du ParentBackground auf True. Meiner Erfahrung nach bewirkt diese Property beim Panel gar nichts, egal ob sie auf True oder False steht. Damit kann man das Panel nicht transparent machen.

Habe die im Anhang das gleiche Bild von oben mal mit einem Panel und ParentBackground auf False. Wie man sehen kann ist es nicht mehr transparent.

Die Variante mit dem ExecImage finde ich insofern nicht einfacher weil hier ja der Hintergrund entsprechend geändert werden muß und das halte ich für aufwendiger. Die Panels lassen sich außerdem besser plazieren.

Hallo Thomas,

zu ParentBackground:
stimmt, das Panel wird transparent, aber leider nicht immer.
Seltsamerweise funktioniert das nur mit einem Panel auf einem Image im Hauptfenster, nicht dagegen mit einem Panel auf einem Image in einem TabSheet. Dort bleibt das Panel immer undurchsichtig.

zu Image als unsichtbarer Button:
Es kommt darauf an, was man erreichen will. Mit dem Panel bekommst Du die Ränder praktisch mitgeliefert. Beim Image dagegen bist Du in den Gestaltungsmöglichkeiten völlig frei.

In Deiner Lösung ist das Panel sicher eine gute Wahl.
Ich frage mich nur, wieso es bei Dir transparent wird, wo es doch in einem TabSheet liegt? Bei mir funktioniert die Transparenz nur im Hauptfenster (WinXP).

Gruß
HJH

Genauso verhält es sich bei mir auch. Leider nichts mit Transparenz. Der Designer läuft auf einem Win2003 Server.

Wolfgang

Also, ich habe mein Workaround nochmal geändert und um einen Punkt ergänzt.

Die Lösung ist nämlich noch eine Groupbox über das gesamte TabSheet zu legen, dann funktionert es auch.:slight_smile:

Also:

[b]1. PageControl anlegen
2. TabHeight auf 1 Pixel stellen und TabWidth auf 1 Pixel stellen
3. über 1x1 Pixelrest ein entsprechendes Panel zum Verdecken legen
3. TabSheets anlegen
4. GroupBox über das gesamte TabSheet legen
5. in die GroupBox ein Image als Hintergrund einfügen
6. entsprechende Panels als Buttons einfügen
7. im Object Inspector des Panels ParentBackround auf true stellen
8. transparentes ExecImage über Panel legen um zwischen den Tabs zu wechseln

[/b]

Hallo Thomas,

ich kann das jetzt nachvollziehen.

Statt der zusätzlichen GroupBox kann man auch ein Panel verwenden. Dann funktioniert es.

Wenn man aber ein Panel auf ein Image im TabSheet legt funktioniert es nicht.

Ich halte das ganz klar für einen Bug. Es scheint so, dass das TabSheet vom Panel nicht als „Parent“ erkannt wird.

Gruß
HJH

Hallo HJH,

ja stimmt, denke da sollte paresy mal was dazu sagen.