Das Forentreffen 2018 findet am 20./21. April in Dresden statt. Weitere Infos hier
Zur Homepage des Deutschsprachige Xbase-Entwickler e. V.
Xbase++-Wiki des Deutschsprachige Xbase-Entwickler e. V.

Toolbar / Statusbar "activate"

Nutzung, Komponenten, .NET

Moderator: Moderatoren

Antworten

ich verwende

XbpStatusbar()
2
50%
XbpToolbar()
1
25%
eine 3-PP Lösung
0
Keine Stimmen
eine eigene Lösung
0
Keine Stimmen
nichts davon
1
25%
 
Abstimmungen insgesamt: 4

Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 10580
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg

Toolbar / Statusbar "activate"

Beitrag von AUGE_OHR » Mo, 19. Jan 2015 22:19

wenn ich mir XbpToolBar() / XbpToolBarButton() ansehe habe ich kein Codeblock Slot "activate" ?

ich frage deshalb weil man es ja wie Buttons benutzt wird und ein "activate" Slot doch logisch wäre.

ich habe zwar über den

Code: Alles auswählen

XbpToolBarButton():index
die Möglichkeit einer auswertung -> Aktion aber der (unschlagbare) Vorteil von Codeblöcken ist ja das man sie ausführen kann "wann" und "wo" ( Thread ) man will !

ich kann ja auch bei

Code: Alles auswählen

XbpToolBarButton():addItem( [<cCaption>], [<cKey>] ) => <oMenu>
nichts weiter eingeben was eine Aktion bewirken könnte.

dito. mit XbpStatusBar() / XbpStatusBarPanel() was man auch Button (F1-F12) mässig verwenden könnte.
was ich bekomme ist o:index, o:caption etc ... aber kein Codeblock Slot zum evaluieren :(

wie hab ihr das gelöst ?
gruss by OHR
Jimmy

Benutzeravatar
Werner_Bayern
Programmier-Gott
Programmier-Gott
Beiträge: 1294
Registriert: Sa, 30. Jan 2010 22:58
Wohnort: Niederbayern

Re: Toolbar / Statusbar "activate"

Beitrag von Werner_Bayern » Di, 20. Jan 2015 17:26

Code: Alles auswählen

oStatusbar:panelClick := {|oPanel| if(oPanel:index == 3, if(.not. startedatei("calc.exe"),;
   fehler("Taschenrechner nicht gefunden!"), ), if(oPanel:index == 4, htmlAnzeige(, oDlg), ))}
es grüßt euch

Werner

Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 10580
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg

Re: Toolbar / Statusbar "activate"

Beitrag von AUGE_OHR » Di, 20. Jan 2015 23:54

hi,
Werner_Bayern hat geschrieben:

Code: Alles auswählen

oStatusbar:panelClick := {|oPanel| if(oPanel:index == 3, if(.not. startedatei("calc.exe"),;
   fehler("Taschenrechner nicht gefunden!"), ), if(oPanel:index == 4, htmlAnzeige(, oDlg), ))}
das ist genau das was ich meine ! es wird, über den Index, eine "feste" Reihenfolge vorgelegt.

wenn ich nun einen Panel löschen / neu hinzufüge stimmt das ganz ja nicht mehr :banghead:

deshalb spreche ich ja auch von einem separaten "activate" Codeblock Slot den ich dem jeweiligen Panel zuordnen kann.
gruss by OHR
Jimmy

Benutzeravatar
Werner_Bayern
Programmier-Gott
Programmier-Gott
Beiträge: 1294
Registriert: Sa, 30. Jan 2010 22:58
Wohnort: Niederbayern

Re: Toolbar / Statusbar "activate"

Beitrag von Werner_Bayern » Mi, 21. Jan 2015 0:12

Dann benutze halt den :key anstatt :index.
es grüßt euch

Werner

Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 10580
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg

Re: Toolbar / Statusbar "activate"

Beitrag von AUGE_OHR » Mi, 21. Jan 2015 2:09

Werner_Bayern hat geschrieben:Dann benutze halt den :key anstatt :index.
es geht doch nicht darum "wie" ich es identifiziere sondern um die Belegung von "einem" Codeblock durch o:panelClick.

ideal wäre doch diese Syntax

Code: Alles auswählen

oStatusbar:panelClick := {|oPanel| EVAL(oPanal:activate) }
d.h. jedes Panel Item sollte einen activeate Codeblock Slot haben den man EVALuieren kann.
gruss by OHR
Jimmy

Benutzeravatar
Herbert
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 1823
Registriert: Do, 14. Aug 2008 0:22
Wohnort: Gmunden am Traunsee, Österreich
Kontaktdaten:

Re: Toolbar / Statusbar "activate"

Beitrag von Herbert » Mi, 21. Jan 2015 7:49

Jimmy, du hast recht. Die Toolbar ist in der gegebenen Form nicht mehr zeitgemäss. Man sollt sie z.B auch vom Fenster loslösen können.
Bei mir ist das daher sehr klassisch codiert:

Code: Alles auswählen

oToolBar:addItem(, ID_BTN_DET_BMP,,,,, "ETOOL_OKD"):tooltiptext := "Detailseite speichern"
...
oToolBar:buttonClick := {|oButton| ::EToolbEvent( oButton )}

METHOD AdressF:EToolbEvent( oButton )
LOCAL cKey:=oButton:key
DO CASE
CASE cKey == "ETOOL_OK"
...
Grüsse Herbert
Immer in Bewegung...

Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 10580
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg

Re: Toolbar / Statusbar "activate"

Beitrag von AUGE_OHR » Mi, 21. Jan 2015 11:53

Herbert hat geschrieben:Die Toolbar ist in der gegebenen Form nicht mehr zeitgemäss.
Man sollt sie z.B auch vom Fenster loslösen können.
so wie in Office oder den meisten Browser ... das nennt man Rebar welches einen "Container" bereitstellt.
https://msdn.microsoft.com/en-us/librar ... 85%29.aspx
gruss by OHR
Jimmy

Benutzeravatar
Werner_Bayern
Programmier-Gott
Programmier-Gott
Beiträge: 1294
Registriert: Sa, 30. Jan 2010 22:58
Wohnort: Niederbayern

Re: Toolbar / Statusbar "activate"

Beitrag von Werner_Bayern » Mi, 21. Jan 2015 13:37

Servus Jimmy,

was hindert Dich daran, den Codeblock als Text in :key oder :cargo reinzuschreiben und diesen dann makrozuexpandieren?
es grüßt euch

Werner

Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 10580
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg

Re: Toolbar / Statusbar "activate"

Beitrag von AUGE_OHR » Mi, 21. Jan 2015 23:58

Werner_Bayern hat geschrieben:was hindert Dich daran, den Codeblock als Text in :key oder :cargo reinzuschreiben und diesen dann makrozuexpandieren?
hm ... in den o:key Slot würde ich keinen Codeblock legen aber in den o:Cargo Slot ... das könnte man es machen.

es ging mir bei den beide activeX darum das Windows zwar kein Codeblock kennt aber es für Xbase++ doch "sinnvoll" wäre wenn man einen o:Activate Slot für einen Codeblock hätte.
gruss by OHR
Jimmy

Antworten