Image als Button

  1. 2 months ago

    Hallo,

    ich möchte die Sprache des Programms, beim Klick auf die jeweilige Landesflagge, wechseln .
    Ich bin der Meinung, daß ich schon alles durchprobiert habe.
    Entweder gibt es keinen Action event oder der Mouse-event liegt ganz woanders am Bildschirm.
    Das einzige was funktioniert ist ein WebButton. Das sieht aber hässlich aus.
    Nach einem Tag bin ich der Meinung, daß ich Hilfe benötige. Das Problem ist zu einfach....

  2. Markus R

    Mar 31 Testers, Xojo Pro Europe / Germany / Lower Saxon...
    Edited 2 months ago

    Das habe ich mir als IconButton gebastelt. (Web Projekt)
    Eine Klasse mit Super auf WebCanvas, die Bilder liegen in Images Ordner.
    Über Menu Inspector Behavior kann man die Eigenschaft IconName sichtbar im Design Fenster machen.

    als Event Definition
    Event Action()
    
    bei Event Handlers
    Sub MouseDown(X As Integer, Y As Integer, Details As REALbasic.MouseEvent) Handles MouseDown
    
      RaiseEvent Action  
    
    End Sub
    
    Sub Open() Handles Open
    
      Cache
      Self.Refresh
      'Self.Invalidate(False)
      
    End Sub
    
    Sub Paint(g as WebGraphics) Handles Paint
        
      dim p as Picture = Self.Picture
      g.DrawPicture(p,0,0,g.Width,g.Height)
      
    End Sub
    
    bei Methoden
    Private Sub Cache()
    
      dim fi as FolderItem = SpecialFolder.GetResource(Self.IconName + ".png") 
      Self.Picture = new WebPicture(fi)
      
    End Sub
    
    bei Properties
    Attributes ( What = 1 ) Public Property IconName as String
    Private Property Picture as Picture = Nil
    
  3. Hmmm, also stimmt es doch; mit Xojo kann man nichts einfach machen. Nur kompliziert. Ich arbeit mich da mal rein. Danke!

  4. Markus R

    Apr 1 Testers, Xojo Pro Europe / Germany / Lower Saxon...

    Das der WebButton keine Bild Eigenschaft hat wundert mich auch.

  5. Ich komme von Visual Basic und bin bei Xojo nur noch am suchen. Unter VB6 wäre ich längst fertig. Leider ist das völlig veraltet.

  6. Markus R

    Apr 1 Testers, Xojo Pro Europe / Germany / Lower Saxon...
    Edited 2 months ago

    Ja das dauert ein paar Monate bis man in Xojo alles entdeckt hat.
    Ich habe auch VB6 immer als Vergleich und Xojo seit letztes Jahr.

    Web API 2.0 kommt ja bald, das wird vieles besser machen.

  7. Beatrix W

    Apr 1 Testers, Third Party Store Europe (Germany)

    Ist Dein Projekt ein Desktop- oder ein Web-Projekt? Die Lokalisierung eines Programms erfordert normalerweise einen Neustart.

  8. Markus R

    Apr 1 Testers, Xojo Pro Europe / Germany / Lower Saxon...

    Und theoretisch sollte die im Browser eingestellte Sprache genommen werden wenn sie denn jeder einstellen würde und könnte.

  9. Emile S

    Apr 1 Europe (France, Strasbourg)

    Desktop:
    Normalerweise (wahrscheinlich wie unter Linux und Windows mit dem Sprachpaket) erfordert der Sprachwechsel einen Neustart und wird für die gesamte Benutzeroberfläche durchgeführt: Betriebssystem UND Anwendungen.

    Wenn Sie das nicht möchten, müssen Sie alles programmieren.

    Haben Sie die Konstanten in der anderen Sprache eingegeben?

    Haben Sie in der Dokumentation nach Möglichkeiten gesucht?

    Welche Version von Xojo verwenden Sie?

  10. @ Emile
    Das ist alles viel zu kompliziert. Ich möchte nur einen Event. Wenn ich auf ein Icon clicke, dann soll der Text von "Ende" auf "Exit" geändert werden. Total simpel, aber in einer Web-Anwendung scheint das nicht machbar zu sein, oder nur über Umwege.

  11. Carsten B

    Apr 1 Testers, Xojo Pro Germany, NRW, Europe

    @Peter M Unter VB6 wäre ich längst fertig.

    Ich wusste gar nicht, dass man mit VB6 Web-Anwendungen erstellen konnte.

  12. Emile S

    Apr 1 Europe (France, Strasbourg)

    Hast du gesehen, wie andere das tun?

  13. Markus R

    Apr 1 Testers, Xojo Pro Europe / Germany / Lower Saxon...
    Edited 2 months ago

    @Carsten B Ich wusste gar nicht, dass man mit VB6 Web-Anwendungen erstellen konnte.

    Geht schon mit WinSock was aber dann mehr oder weniger HTML aus gibt und Form Daten empfangen kann.
    Aber dieses WinSock kennt kein Secure Socket.

  14. Ohmann, bitte nicht zerreden. Ich möchte nur auf ein Icon klicken können. Und das in einer Web-Anwendung. Das sind allereinfachsten Sachen!

  15. Carsten B

    Apr 1 Testers, Xojo Pro Germany, NRW, Europe

    Nimm für das Bild ein "Image Well", das hat alle notwendigen Ereignisse.

  16. 9 weeks ago
    Edited 9 weeks ago

    Das mit dem Image Well kriege ich nicht hin. Es gibt keinen Action- oder Clickevent. Doubleclick ist doof. Die Mouseevents funktionieren irgendwie nicht, da die anscheinend alle auf X/Y Pos beruhen. Diese Position ist, je nach Auflösung, variabel. Natürlich könnte man die Maus-Pos abfragen und in Relation zu ImageWell Position und -breite/-höhe setzen. Aber das wäre ja lächerlich. Ich will nur auf ein Bild klicken. Ganz einfach.
    Aktuell kann ich nur Segmented Buttons verwenden und das ganze mit Text gestalten.
    Mit Style lässt sich nichts verändern, zumindest unter Windows.
    Gibt es keine andere Möglichkeit?

  17. Emile S

    Apr 2 Europe (France, Strasbourg)

    Deutchland:
    https://www.apple.com/de/newsroom/2020/03/new-macbook-air-has-more-to-love-and-is-now-just-999/

    Français:
    https://www.apple.com/fr/newsroom/2020/03/new-macbook-air-has-more-to-love-and-is-now-just-999/

    Country Selector:
    https://www.apple.com/choose-country-region/

    Sind Sie sicher, dass das, was Sie tun möchten, möglich ist?

  18. @Emile S
    Bitte keine Apple-Werbung zusenden! Bin Linux-User!

    Wenn es nicht möglich ist, auf einen Knopf zu drücken (siehe oben), überlege ich mir die Xojo-Lizenz zurück zu geben. Das sollten dann aber ALLE machen!

  19. Markus R

    Apr 2 Testers, Xojo Pro Europe / Germany / Lower Saxon...
    Edited 9 weeks ago

    @Peter M Die Mouseevents funktionieren irgendwie nicht,

    Das MausDown Event kommt beim WebImageView doch nur wenn man innerhalb dessen Rechtecks was man im Designer sieht
    klickt und die Koordinaten sollten relativ dazu sein also von 0,0 bis Breite,Höhe. Man braucht die doch nicht auswerten.
    Aber auch bei diesem Control kann man sagen New SubClass und dort ein Event wie Action definieren und im MouseDown
    mit RaiseEvent Action auslösen. Ich habe das mit dem Action Event so gemacht damit es einheitlicht ist.

    Die Werbung war bestimmt ein versehen.

  20. Beatrix W

    Apr 2 Testers, Third Party Store Europe (Germany)
    Edited 9 weeks ago

    Koordinaten im MouseDown sind immer lokal zur Control. Emile ist schwer zu verstehen.

    Ich habe das in einem Web-Projekt getestet: ja, die Koordinaten sind lokal.

  21. Newer ›

or Sign Up to reply!