| |
|
|
Stephan Sonneborn | allô (X)Profan-Amis,
erstmal un herzliches allô! à alle XProfaner ici dans qui Community! après que je dans den letzten Jahren à peine zum programmieren gekommen suis (Hausumbau), hoffe je, maintenant wieder öfters un paire Zeilen trop écrivons.
là je qui 10il XProfan - Version komplett verpasst habe, versuche je, mir qui neuen Funktionen qui 11il trop erschließen.
dans einem alten projet J'ai eu qui thread.pcu de iF verbaut, qui mir aussi gute Dienste geleistet hat. eh bien lieu je fest, dass beim Neukompilieren, pas plus alles so fonctionne comment gewohnt. j'ai zunächst CLICKED() im le doute gehabt, suis mais en encore abgerückt: c'est z.B. besser, chaque avec CONTROL() erstellten objet un eigene ID trop donner...
qui Fil.pcu hat mir qui l'heure dans qui Statuszeile angezeigt. eh bien lese je, dass qui Fil.pcu chez XProfan pas unbdingt qui beste l'élection sei. peux mir s'il te plaît la fois quelqu'un sur qui Sprünge aider? Vielen Dank! |
|
|
| Schöne Grüße aus Wittgenstein von Stephan
Programmierumgebung:| XProfan X4 | WIN10 | AMD FX6100 3,3 GHz | 11.11.2009 ▲ |
|
|
|
|
| malheureusement peux qui Fil.Pcu dans aktueller XProfan-Version pas correct marcher, mais cela muss vous aussi pas car il y a qui SubClassProc um dedans de Waitinput Code auszuführen z.B. per SetTimer-API: [...]
si qui obig emulierten Minuteur pas reichen (et je mon pour Statusbaränderung 1faire vous cela ^ ^), ensuite peux on aussi avec nativen Funktionen herumspielen: [...] womit es ensuite wiederum aucun procaddr-Probleme gibt. un Timerbeispiel klebt ici entier unten tour: [...]
Juhu Stephan ist zurück! |
|
|
| |
|
|
|
Stephan Sonneborn | Hi iF,
merci pour Votre schnelle Antwort. je werde mir den Code am dimanche la fois näher regarder! jusqu'à denne... |
|
|
| Schöne Grüße aus Wittgenstein von Stephan
Programmierumgebung:| XProfan X4 | WIN10 | AMD FX6100 3,3 GHz | 13.11.2009 ▲ |
|
|
|
|
Stephan Sonneborn | allô David,
so... entier verstanden habe je Dein SetTimer.Prf pas. et gewundert, quoi je angeblich alles encore nachladen soll et ensuite im XPSE-Verzeichnis trop liegen hat, hats mich aussi...
Deswegen dans reinem XPROFAN 11: KompilierenMarqueSéparation************************************************************************************************
* SETTIMER DEMO mit CHECKBUTTON *
* Quellcode stammt überwiegend aus der Hilfe zu XPROFAN 11 *
************************************************************************************************
$H Messages.ph
$H Windows.ph
************************************************************************************************
* Funktionen *
************************************************************************************************
Control-ID Generator:
PROC NewID
DECLARE ID&
LastDlgID& = LastDlgID& + 1
ID& = LastDlgID&
RETURN ID&
ENDPROC
Control-Dialogobjekt CHECKBUTTON
DEF CreateXButton(6)CONTROL("BUTTON",@$(2),$54011009,@%(3),@%(4),@%(5),@%(6),@%(1),NewID(), %HInstance, $0000)
************************************************************************************************
* SubClassing *
************************************************************************************************
SubClassProc
IF SubClassMessage(%hWnd, ~wm_sizing)
SetStyle %hwnd, 1, GetStyle(%hwnd, 1) | $02000000
Resize
Set("WinProc", 0)
ElseIf SubClassMessage(bt1&, ~wm_rbuttondown)
SetText bt1&, "Autsch!"
Set("WinProc", 0)
ElseIf SubClassMessage(bt1&, ~wm_rbuttonup)
SetText bt1&, "Test1"
SetMenuItem 3000
Set("WinProc", 0)
ElseIf SubClassMessage(st&, ~wm_mousemove)
SetMenuItem 3001
Set("WinProc", 0)
ElseIf SubClassMessage(%hwnd, ~wm_close)
SetMenuItem 3999
Set("WinProc", 0)
ElseIf SubClassMessage(%hwnd, ~wm_timer)
SetMenuItem 9999
Set("WinProc", 0)
EndIf
ENDPROC
************************************************************************************************
************************************************************************************************
* Fesntergröße einstellen *
************************************************************************************************
Proc Resize
SetWindowPos bt& = 0, 50 - Width(%HWnd)/2, Height(%HWnd) - 75
SetWindowPos bt2& = Width(%HWnd)/2, 50 - Width(%HWnd)/2, Height(%HWnd) - 75
SetWindowPos st& = 0, 0 - 0,0; 0
SetWindowPos tb& = 0, 0 - 0,0; 0
ENDPROC
************************************************************************************************
************************************************************************************************
* Globale Variablen *
************************************************************************************************
DECLARE LastDlgID&
DECLARE bt1&, bt2&, st&, tb&
DECLARE Ende%
************************************************************************************************
* Hauptprpgramm *
************************************************************************************************
Wertzuweisungen
LastDlgID& = 10000 Startwert für Control-ID
Hauptfenster und Dialogobjekte erstellen
CLS
st& = CREATE ("StatusWindow", %HWnd, "Statuszeile")
tb& = CREATE ("Toolbar" , %HWnd, 0, 15, 1, 1000,1)
bt1& = CREATEXBUTTON( %HWnd, "Test1", 0, 50, Width(%HWnd)/2, Height(%HWnd) - 75)
bt2& = CREATE ("Button" , %HWnd, "Test2", Width(%HWnd)/2, 50, Width(%HWnd)/2, Height(%HWnd) - 75)
SubClassing einschalten
SubClass %HWnd, 1 SubClassing des Hauptfensters einschalten
SubClass bt1&, 1 SubClassing des 1. Buttons einschalten
SubClass st&, 1 SubClassing der Statuszeile einschalten
Timer setzen:
SetTimer 500
Hauptschleife
WHILENOT Ende%
WAITINPUT
Ereignisauswertung:
IF %Key = 4
Resize
SetStyle %hwnd, 1, GetStyle(%hwnd, 1) - $02000000
ELSEIF MenuItem(3000)
MessageBox("Rechtsklick auf Button 1!","Test",0)
ELSEIF MenuItem(3001)
MessageBox("Mausbewegung über Statuszeile!","Test",0)
ELSEIF MenuItem(3002)
MessageBox("wm_activate","Test",0)
ELSIF MenuItem(3003)
MessageBox("wm_syscommand",str$(&sWParam),0)
ELSEIF MenuItem(3999)
Case Messagebox("Wollen Sie das Programm wirklich verlassen?","Frage",36) = 6 : Ende% = 1
ELSEIF MenuItem(9999)
SetText st&, TIME$(0) + ":" + LEFT$(TIME$(1),2)
ENDIF
ENDWHILE
SubClassing ausschalten
SubClass %HWnd, 0
SubClass bt1& , 0
SubClass st& , 0
Timer löschen:
KillTimer
href='./../../funktionsreferenzen/XProfan/programmende/'>Programmende
FIN
Einen schönen Programmier-dimanche à alle! |
|
|
| Schöne Grüße aus Wittgenstein von Stephan
Programmierumgebung:| XProfan X4 | WIN10 | AMD FX6100 3,3 GHz | 15.11.2009 ▲ |
|
|
|
|
| tu as den reinen Profantext [...] übersehen, jusqu'à denne.
et gewundert, quoi je angeblich alles encore nachladen soll et ensuite im XPSE-Verzeichnis trop liegen hat, hats mich aussi...
Tut mir leid! |
|
|
| |
|
|
|
Stephan Sonneborn |
iF: tu as den reinen Profantext [...] übersehen
Ooops, cela hab je wohl...
Tut mir leid!
pas grave...
Wozu sommes qui Zusatz-Proggis car gedacht? |
|
|
| Schöne Grüße aus Wittgenstein von Stephan
Programmierumgebung:| XProfan X4 | WIN10 | AMD FX6100 3,3 GHz | 15.11.2009 ▲ |
|
|
|