![]() |
Anzeige:
|
|
|||||||
| XProfan Alles rund um die Programmiersprache XProfan. |
|
![]() |
|
|
LinkBack | Themen-Optionen | Ansicht |
|
|
#1 (Direktlink) |
|
Ist öfter hier
![]() Registriert seit: 28.01.2010
Ort: bayerischer Untermain
Beiträge: 84
|
Tach zusammen, es ist mal wieder Winterzeit, ich komm mal wieder zum Programmieren...
Banale Frage, wahrscheinlich fehlt mir nur irgendein alberner Befehl...: In aktiven Dialogboxen mit verschiedenen Editfeldern kann ich ja fein nach Reihenfolge der Erzeugung von Editfeld zu Editfeld oder Buttons oder sonstwas mit dem Tabulator springen. Funktioniert ja alles wie es soll. Aber nur, solange der Mauszeiger auch über diesem blöden Dialogfeld verweilt. Sobald mir der da rausrutscht, isses vorbei mit TabSprüngen... Was tun?
__________________
--- Xprofan X2 auf nem ollen PIII mit Win 2000 |
|
|
|
|
|
|
#2 (Direktlink) |
|
Forenmaskottchen
![]() Registriert seit: 16.05.2010
Ort: Berlin
Beiträge: 724
|
Der Mauszeiger sollte wurscht sein, den Fokus muss Dein Dialog haben!
__________________
Gruß Thomas Wenn mir früher jemand gesagt hätte, ich würde freiwillig eine Wanze mit mir herum tragen und sie auch noch selbst aufladen, hätte ich laut gelacht. Heute habe ich ein Smartphone. http://realsource.de |
|
|
|
|
|
#3 (Direktlink) |
|
Dauergast
![]() Registriert seit: 06.02.2009
Ort: Wien, Österreich
Beiträge: 1.083
|
HandleDesObjekts%=@SetFocus( HandleDesObjekts%)
__________________
Win7-64HomPremSP1,XProfan11.2a,XPIA,JWasm,XPSE,IntelCoreQuad2.5GHz/4GB/je1TB HD intern:esataBay:USB2:USB3 |
|
|
|
|
|
#4 (Direktlink) |
|
Ist öfter hier
![]() Registriert seit: 28.01.2010
Ort: bayerischer Untermain
Beiträge: 84
|
auf eure Antworten hin bin ich mal etwas tiefer in die Ursachenforschung eingestiegen. Focus ists nicht, der ist auf dem Dialog. Das Problem wird durch ein zweites XProfanfenster erzeugt. Ich hab mal einen lauffähigen Codeschnipsel zum Selbstnachvollziehen extrahiert. Wenn ich den Code aufrufe, kann ich mit Tab von Feld zu Feld springen, bis meine Maus durch Zufall auf das rechte XProfanfenster kommt, dann ist sofort Schluss und mein Eingabefenster bekommt erst wieder die Tabs mit, wenn die Maus wieder über das Eingabefenster rutscht.
Kommentiere ich Zeile 7 (und 8, aber die isses nich) aus, dann gehts. Gibts Abhilfe, Ideen, sonstiges? Code:
Declare DLG&, Groupbox1&, Text1&, Text2&, Text3&, Text4&, Text5&, Text6&, Text7&, Text8&, Text9&, Text10&, Text12&, Text13&, Text14&
Declare Edit1&, Edit2&, Edit3&, Edit4&, Edit5&, Edit6&, Edit7&, Button1&, Button2&, Button3&, Button4&, Dialogende%, Vorschau&, HGrid&
cls
Windowstyle 256
'Vorschau& = @Create("Window", %Hwnd, " Zeit", %MaxX/2, (%MaxY-410)/2, 570, 390)
'hGrid& = @Create("GridBox", Vorschau&, "Nr.;0;55;Datum;0;70;Mit.;0;30;Baust.;0;55;Zeit;1;40;Tätigk.;0;40;Ergänzung;0;195;SL;2;23;AB;2;25;X;2;15",0,003,004,560,360)
'/// wenn obige Vorschauzeile auskommentiert wird, gibts kein Problem mehr...
DLG&=CREATE("DIALOG",%HWND," Zeit",%MaxX/2-360, (%MaxY-410)/2,360,260)
USEFONT "MS Sans Serif",13,0,0,0,0
SETDIALOGFONT 1
GROUPBOX1& =@CREATE("GROUPBOX",DLG&,"",0007,0001,0340,0192)
TEXT1& =@CREATE("TEXT",DLG&,"Datum",0017,0018,0070,0020)
TEXT2& =@CREATE("TEXT",DLG&,"Mitarbeiter",0017,0042,0070,0020)
TEXT3& =@CREATE("TEXT",DLG&,"Baustelle",0017,0066,0070,0020)
TEXT4& =@CREATE("TEXT",DLG&,"Tätigkeit",0017,0090,0070,0020)
TEXT5& =@CREATE("TEXT",DLG&,"Ergänzung",0017,0114,0070,0020)
TEXT6& =@CREATE("TEXT",DLG&,"Zeit",0017,0138,0070,0020)
TEXT7& =@CREATE("TEXT",DLG&,"Stundenlohn",0017,0162,0070,0020)
EDIT1& =@CREATE("EDIT",DLG&, Date$(0),0092,0016,0070,0020)
EDIT2& =@CREATE("EDIT",DLG&, "",0092,0040,0026,0020)
EDIT3& =@CREATE("EDIT",DLG&, "",0092,0064,0050,0020)
EDIT4& =@CREATE("EDIT",DLG&, "",0092,0088,0050,0020)
EDIT5& =@CREATE("EDIT",DLG&, "",0092,0112,0240,0020)
EDIT6& =@CREATE("EDIT",DLG&, "",0092,0136,0036,0020)
EDIT7& =@CREATE("EDIT",DLG&, "N",0092,0160,0018,0020)
TEXT9& =@Create("TEXT",DLG&,"00000",0300,0018,0039,0015)
TEXT10& =@Create("Text",DLG&,"",0170,0162,0160,0020)
TEXT12& =@CREATE("TEXT",DLG&,"",0170,0042,0160,0020)
TEXT13& =@CREATE("TEXT",DLG&,"",0170,0066,0160,0020)
TEXT14& =@CREATE("TEXT",DLG&,"",0170,0090,0160,0020)
BUTTON1& =@CREATE("BUTTON",DLG&,"Speichern",0014,0201,0070,0025)
BUTTON2& =@CREATE("BUTTON",DLG&,"Neu",0099,0201,0070,0025)
BUTTON3& =@CREATE("BUTTON",DLG&,"Ende",0184,0201,0070,0025)
BUTTON4& =@CREATE("BUTTON",DLG&,"Löschen",0269,0201,0070,0025)
SETFOCUS(DLG&)
DIALOGENDE%=0
WHILENOT DIALOGENDE%
WAITINPUT
If %KEY=2
DIALOGENDE%= 1
ElseIf MenuItem(3004)
'selekted& = @GetCurSel(hGrid&)
'X$=@SubStr$(@GetString$(hGrid&,selekted&),1,"|")
'SetText Text9&, X$
'NeuZeitFillDialog
ELSEIF CLICKED(EDIT1&) 'Datum
SetText Text10&, ""
ELSEIF CLICKED(EDIT2&) 'Mitarbeiter
ELSEIF CLICKED(EDIT3&) 'Baustelle
ELSEIF CLICKED(EDIT4&) 'Tätigkeit
ELSEIF CLICKED(EDIT5&) 'Ergänzung
ELSEIF CLICKED(EDIT6&) 'Zeit
ELSEIF CLICKED(EDIT7&) 'Stundenlohn
ELSEIF CLICKED(BUTTON1&) 'S peichern
'NeuZeitFeldCheck
ELSEIF CLICKED(BUTTON2&) 'Neu
'NeuZeitAppRec
ELSEIF CLICKED(BUTTON3&) 'Ende
Dialogende% = 1
Elseif clicked(Button4&) 'Löschen
'NeuZeitDelRec
ENDIF
ENDWHILE
SETDIALOGFONT 0
'ENDPROC
__________________
--- Xprofan X2 auf nem ollen PIII mit Win 2000 |
|
|
|
|
|
#5 (Direktlink) |
|
Forenmaskottchen
![]() Registriert seit: 08.02.2009
Ort: Nußloch (bei Heidelberg)
Beiträge: 550
|
Ähem, hast Du vielleiht in Deiner Maus-Software eingestellt, dass automatisch das Fenster aktiviert wird, über dem zufällig Deine Maus kreist? Das führt (auch bei nicht-profanen Programmen) zu derartigem - meist nervendem - Verhalten. Das gedrückte TAB wird natürlich dem aktiven Fenster mitgeteilt.
Gruß Roland
__________________
Pentium D 2,8 GHz / 3 GB RAM / 500 GB HDD / ATI Radeon HD5450 1024 MB / Windows 7(32) - XProfan X2.0c AMD Athlon II X2 2,9 GHz / 3 GB RAM / 500 GB HDD / ATI Radeon 3000 / Windows 7(64) - XProfan X2.0c http://www.xprofan.de |
|
|
|
|
|
|
#6 (Direktlink) |
|
Ist öfter hier
![]() Registriert seit: 28.01.2010
Ort: bayerischer Untermain
Beiträge: 84
|
Ich nutze die MS Intellimouse und lasse den Zeiger automatisch auf Standardschaltfläche in Dialogbox bewegen. Ich hab diese Option mal abgeschaltet, ändert nichts.
Es betrifft aber keine anderen Fenster von anderen Programmen, egal wieviele offen sind - wenn ich ohne über das zweite Dialogfenster zu wischen nach links auf den freien Schirm rauswandere, gibts kein Problem. Nur dann, wenn der Mauszeiger nach rechts über das zweite Dialogfenster kommt. Dann aber überall.
__________________
--- Xprofan X2 auf nem ollen PIII mit Win 2000 |
|
|
|
|
|
#7 (Direktlink) |
|
Super-Moderator
![]() Registriert seit: 05.02.2009
Ort: Westliches NRW
Alter: 44
Beiträge: 5.094
|
Hab deinen Code getestet, Martin. Reagiert bei mir vollkommen normal, der Focus springt nicht um, nur wenn der Mauszeiger auf das andere Fenster gezogen wird. Muss wirklich an deiner Maus liegen. Boote doch mal neu.
__________________
Gruß, Frank ![]() Webpage http://frabbing.bplaced.net mit Freeware - Tools, Spiele und Grafiken. |
|
|
|
|
|
#8 (Direktlink) |
|
Forenmaskottchen
![]() Registriert seit: 23.01.2011
Ort: Bernburg
Alter: 58
Beiträge: 759
|
@Frank
Hast Du auch die auskommentierten Zeilen aktiviert? Wenn ich das mache, habe ich das gleiche Problem. Sowohl mit Maus als auch Touchpad. WizMouse lenkt bei mir Scrollaktionen immer auf das Fenster, über dem der Mauszeiger steht, habe ich also deinstalliert und im Maustreiber auch nachgesehen, da ist auch aller Zusatz-Schnickschnack deaktiviert. Trotzdem geht meist (nicht immer) die Tab-Taste nicht, wenn der Mauszeiger das andere Fenster auch nur kurz berührt hat. Gruß Volkmar |
|
|
|
|
|
#9 (Direktlink) |
|
Ist öfter hier
![]() Registriert seit: 28.01.2010
Ort: bayerischer Untermain
Beiträge: 84
|
hätt ich drauf achten sollen, in dem Codeschnipsel die beiden wichtigen Zeilen nicht auszukommentieren, grmbl...
Also gibts noch jemanden ausser mir, der das nachvollziehen kann - dann spar ich mir erstmal die Suche nach nem anderen Maustreiber, bis ich mehr weiss...
__________________
--- Xprofan X2 auf nem ollen PIII mit Win 2000 |
|
|
|
|
|
#10 (Direktlink) |
|
Gast
Beiträge: n/a
|
Bei mir passiert das gleiche aber es ist seltsam wenn ich mit der Tabtaste auf den Buttons bin, geht es problemlos weiter. Ich kann dann auch die Edits ganz durchtaben. Passiert also nur wenn der Mauszeiger das Control verlässt wenn man gerade in einem Editfeld ist.
|
|
|
|
|
#11 (Direktlink) | |
|
Super-Moderator
![]() Registriert seit: 05.02.2009
Ort: Westliches NRW
Alter: 44
Beiträge: 5.094
|
Zitat:
__________________
Gruß, Frank ![]() Webpage http://frabbing.bplaced.net mit Freeware - Tools, Spiele und Grafiken. |
|
|
|
|
|
|
#12 (Direktlink) | |
|
Stammuser
![]() Registriert seit: 08.02.2009
Ort: Bielefeld
Alter: 53
Beiträge: 428
|
Zitat:
Code:
$H Windows.ph
$H Messages.ph
Declare DLG&, Groupbox1&, Text1&, Text2&, Text3&, Text4&, Text5&, Text6&, Text7&, Text8&, Text9&, Text10&, Text12&, Text13&, Text14&
Declare Edit1&, Edit2&, Edit3&, Edit4&, Edit5&, Edit6&, Edit7&, Button1&, Button2&, Button3&, Button4&, Dialogende%, Vorschau&, HGrid&
Windowstyle 527
cls
Windowstyle 256
Vorschau& = @Create("Window", %Hwnd, " Zeit", %MaxX/2, (%MaxY-410)/2, 570, 390)
hGrid& = @Create("GridBox", Vorschau&, "Nr.;0;55;Datum;0;70;Mit.;0;30;Baust.;0;55;Zeit;1;40;Tätigk.;0;40;Ergänzung;0;195;SL;2;23;AB;2;25;X;2;15",0,003,004,560,360)
'/// wenn obige Vorschauzeile auskommentiert wird, gibts kein Problem mehr...
Var OldProc& = ~SetWindowLong(Vorschau&,~GWL_WNDPROC,~GetWindowLong(%hwnd,~GWL_WNDPROC))
DLG&=CREATE("DIALOG",%HWND," Zeit",%MaxX/2-360, (%MaxY-410)/2,360,260)
USEFONT "MS Sans Serif",13,0,0,0,0
SETDIALOGFONT 1
GROUPBOX1& =@CREATE("GROUPBOX",DLG&,"",0007,0001,0340,0192)
TEXT1& =@CREATE("TEXT",DLG&,"Datum",0017,0018,0070,0020)
TEXT2& =@CREATE("TEXT",DLG&,"Mitarbeiter",0017,0042,0070,0020)
TEXT3& =@CREATE("TEXT",DLG&,"Baustelle",0017,0066,0070,0020)
TEXT4& =@CREATE("TEXT",DLG&,"Tätigkeit",0017,0090,0070,0020)
TEXT5& =@CREATE("TEXT",DLG&,"Ergänzung",0017,0114,0070,0020)
TEXT6& =@CREATE("TEXT",DLG&,"Zeit",0017,0138,0070,0020)
TEXT7& =@CREATE("TEXT",DLG&,"Stundenlohn",0017,0162,0070,0020)
EDIT1& =@CREATE("EDIT",DLG&, Date$(0),0092,0016,0070,0020)
EDIT2& =@CREATE("EDIT",DLG&, "",0092,0040,0026,0020)
EDIT3& =@CREATE("EDIT",DLG&, "",0092,0064,0050,0020)
EDIT4& =@CREATE("EDIT",DLG&, "",0092,0088,0050,0020)
EDIT5& =@CREATE("EDIT",DLG&, "",0092,0112,0240,0020)
EDIT6& =@CREATE("EDIT",DLG&, "",0092,0136,0036,0020)
EDIT7& =@CREATE("EDIT",DLG&, "N",0092,0160,0018,0020)
TEXT9& =@Create("TEXT",DLG&,"00000",0300,0018,0039,0015)
TEXT10& =@Create("Text",DLG&,"",0170,0162,0160,0020)
TEXT12& =@CREATE("TEXT",DLG&,"",0170,0042,0160,0020)
TEXT13& =@CREATE("TEXT",DLG&,"",0170,0066,0160,0020)
TEXT14& =@CREATE("TEXT",DLG&,"",0170,0090,0160,0020)
BUTTON1& =@CREATE("BUTTON",DLG&,"Speichern",0014,0201,0070,0025)
BUTTON2& =@CREATE("BUTTON",DLG&,"Neu",0099,0201,0070,0025)
BUTTON3& =@CREATE("BUTTON",DLG&,"Ende",0184,0201,0070,0025)
BUTTON4& =@CREATE("BUTTON",DLG&,"Löschen",0269,0201,0070,0025)
SETFOCUS(DLG&)
DIALOGENDE%=0
WHILENOT DIALOGENDE%
WAITINPUT
If %KEY=2
DIALOGENDE%= 1
ElseIf MenuItem(3004)
'selekted& = @GetCurSel(hGrid&)
'X$=@SubStr$(@GetString$(hGrid&,selekted&),1,"|")
'SetText Text9&, X$
'NeuZeitFillDialog
ELSEIF CLICKED(EDIT1&) 'Datum
SetText Text10&, ""
ELSEIF CLICKED(EDIT2&) 'Mitarbeiter
ELSEIF CLICKED(EDIT3&) 'Baustelle
ELSEIF CLICKED(EDIT4&) 'Tätigkeit
ELSEIF CLICKED(EDIT5&) 'Ergänzung
ELSEIF CLICKED(EDIT6&) 'Zeit
ELSEIF CLICKED(EDIT7&) 'Stundenlohn
ELSEIF CLICKED(BUTTON1&) 'S peichern
'NeuZeitFeldCheck
ELSEIF CLICKED(BUTTON2&) 'Neu
'NeuZeitAppRec
ELSEIF CLICKED(BUTTON3&) 'Ende
Dialogende% = 1
Elseif clicked(Button4&) 'Löschen
'NeuZeitDelRec
ENDIF
ENDWHILE
~SetWindowLong(Vorschau&,~GWL_WNDPROC,OldProc&)
__________________
Gruss Andreas ______________________ http://www.ampsoft.eu Profan 3.3 - XProfanX2 Windows 95,98,ME,2000,XP Vista - Windows 7 32 / 64 Bit ASUS X93S - Intel Core I7 - NVIDIA GForce GT540M - 8GB Arbeitsspeicher |
|
|
|
|
|
|
#13 (Direktlink) |
|
Ist öfter hier
![]() Registriert seit: 28.01.2010
Ort: bayerischer Untermain
Beiträge: 84
|
und jetzt erklär mal nem Unbedarften, was du da eigentlich machst...
__________________
--- Xprofan X2 auf nem ollen PIII mit Win 2000 |
|
|
|
|
|
#14 (Direktlink) |
|
Stammuser
![]() Registriert seit: 08.02.2009
Ort: Bielefeld
Alter: 53
Beiträge: 428
|
Ich versuchs mal zu erklären .
Ich habe einfach nur mit SetWindowLong(Vorschau&,...) die Fenster-Prozedur von Fenster2 (Create("WINDOW"...) auf die Fenster-Prozedur von Fenster1 (CLS) umgebogen, daduch können alle Meldungen der beiden Fenster in einer einzigen Schleife behandelt werden. Machst Du das nicht, hast Du 2 oder mehrere Fenster die jeweils eine eigene Fenster-Prozedur benötigen. Wichtig ist es, die Fenster-Prozedur am Ende wieder zurückzusetzen, sonst knallt es beim Schileßen des Hauptfensters.
__________________
Gruss Andreas ______________________ http://www.ampsoft.eu Profan 3.3 - XProfanX2 Windows 95,98,ME,2000,XP Vista - Windows 7 32 / 64 Bit ASUS X93S - Intel Core I7 - NVIDIA GForce GT540M - 8GB Arbeitsspeicher |
|
|
|
|
|
#15 (Direktlink) | |
|
Super-Moderator
![]() Registriert seit: 05.02.2009
Ort: Westliches NRW
Alter: 44
Beiträge: 5.094
|
Zitat:
__________________
Gruß, Frank ![]() Webpage http://frabbing.bplaced.net mit Freeware - Tools, Spiele und Grafiken. |
|
|
|
|
|
![]() |
|
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
|
|
Ähnliche Themen
|
||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| Probleme mit Login Feld (PHP,HTML) | Peter | PHP/MySQL | 4 | 22.01.2010 21:53 |
| Default bei Edit-Feld? | Schwarzwälder | XProfan | 4 | 18.03.2009 11:53 |
| pascal + n-parameter im feld vergleichen und top rausfinden | powerhugo | Sonstige Programmiersprachen | 1 | 03.03.2006 14:34 |
| Verwendung von Sonderzeichen in Word-Dropdown-Feld | Timberwolf | Office-Anwendungen | 2 | 30.03.2005 13:11 |
| BCC-Feld in Outlook Express verschwunden - wie gehts wieder | Hobson | Office-Anwendungen | 5 | 10.01.2005 12:39 |