| |
|
|
Stephan Sonneborn | ¡Hola (X)Profano-Amigos,
primero una herzliches ¡Hola! a todos XProfan aquí en el Comunidad! Nachdem Yo en el letzten Jahren kaum para programa gekommen bin (Hausumbau), hoffe Yo, otra vez öfters unos pocos Zeilen a escribir.
Desde que el 10él XProfan - Versión komplett verpasst habe, versuche Yo, me el neuen Características el 11él a erschließen.
In una alten Projekt Tuve el thread.pcu de IF verbaut, el me auch gute Dienste geleistet ha. Nun lugar Yo fest, dass beim Neukompilieren, no mehr alles así se ejecuta como gewohnt. Yo habe primero CLICKED() en el Verdacht gehabt, bin aber su ya otra vez abgerückt: es z.B. mejor, cada con CONTROL() erstellten Objeto una propio ID a geben...
El Hilo.pcu ha me el Uhrzeit en el Statuszeile adecuado. Nun lese Yo, dass el Hilo.pcu en XProfan no unbdingt el beste Wahl sei. Kann me Por favor, veces alguien en el Sprünge helfen? Vielen Dank! |
|
|
| Schöne Grüße aus Wittgenstein von Stephan
Programmierumgebung:| XProfan X4 | WIN10 | AMD FX6100 3,3 GHz | 11.11.2009 ▲ |
|
|
|
|
| Leider kann el Hilo.Pcu en aktueller XProfan-Versión no fehlerfrei trabajo, aber el muss ellos auch no porque lo son el SubClassProc en innerhalb de Waitinput Code auszuführen z.B. por SetTimer-API: [...]
Wenn el obig emulierten Temporizador no reichen (y yo mi para Statusbaränderung tun ellos el ^ ^), entonces puede ser auch con nativen Características herumspielen: [...] womit lo entonces wiederum no procaddr-Problemas son. Ein Timerbeispiel klebt hier bastante unten dran: [...]
Juhu Stephan es zurück! |
|
|
| |
|
|
|
Stephan Sonneborn | Hi IF,
Gracias para Su respuesta rápida. Yo voluntad me el código al Sonntag veces näher ansehen! Bis denne... |
|
|
| Schöne Grüße aus Wittgenstein von Stephan
Programmierumgebung:| XProfan X4 | WIN10 | AMD FX6100 3,3 GHz | 13.11.2009 ▲ |
|
|
|
|
Stephan Sonneborn | ¡Hola David,
así... bastante verstanden Yo Su SetTimer.Prf no. Und gewundert, Yo angeblich alles todavía nachladen se y luego en el XPSE-Directorio a mentira ha, hats mich auch...
Deswegen en reinem XPROFAN 11: KompilierenMarcaSeparación************************************************************************************************
* 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-Sonntag a todos! |
|
|
| Schöne Grüße aus Wittgenstein von Stephan
Programmierumgebung:| XProfan X4 | WIN10 | AMD FX6100 3,3 GHz | 15.11.2009 ▲ |
|
|
|
|
| Usted hast el reinen Profantext [...] übersehen, a denne.
Und gewundert, Yo angeblich alles todavía nachladen se y luego en el XPSE-Directorio a mentira ha, hats mich auch...
Tut me leid! |
|
|
| |
|
|
|
Stephan Sonneborn |
IF: Usted hast el reinen Profantext [...] übersehen
Ooops, el tener Yo wohl...
Tut me leid!
No schlimm...
Wozu son el Zusatz-Proggis porque pensamiento? |
|
|
| Schöne Grüße aus Wittgenstein von Stephan
Programmierumgebung:| XProfan X4 | WIN10 | AMD FX6100 3,3 GHz | 15.11.2009 ▲ |
|
|
|