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…
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
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?
@ 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.
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?
@Emile Schwarz
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!
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.