Deutsch
Forum

Ist "CLICKED" launisch ?

 
- Seite 1 -



KompilierenMarkierenSeparieren
IF GETFOCUS(b01%)

    CaseNot MID$(editor$,2,1)=":":2WINDOWS_CONFIG "1"
    SHELL editor$

ELSEIF GETFOCUS(b02%)

    CaseNot MID$(viewer$,2,1)=":":2WINDOWS_CONFIG "2"
    SHELL viewer$

ELSEIF GETFOCUS(b03%)

    CaseNot MID$(ziper$,2,1)=":":2WINDOWS_CONFIG "3"
    SHELL ziper$

ELSEIF GETFOCUS(b04%)

    CaseNot MID$(mailer$,2,1)=":":2WINDOWS_CONFIG "4"
    SHELL mailer$

ELSEIF GETFOCUS(b05%)

    CaseNot MID$(prg_05$,2,1)=":":2WINDOWS_CONFIG "5"
    SHELL prg_05$

ENDIF


Dieser Ausschnitt aus einem Programm-Code funktioniert einwandfrei. Schreibe ich aber für GetFocus das modernere CLICKED in den Code, wird der Parameter für die Procedur 2WINDOWS_CONFIG nicht übergeben - Egal, welchen Button ich benutze, es wird immer der Parameter 1 übergeben - Mache ich was falsch oder klappt das hier mit CLICKED nicht ?
 
28.10.2006  
 



 
- Seite 1 -


@Jörg
Habe jetzt $D... in jede Buttonabfrage eingesetzt und wie Du sehen kannst, wird nach Klick auf den Button5 auch der Focus auf den Button5 gesetzt. Das geht aber nur mit Getfocus - tausche ich gegen Clicked aus, wird Irvan-View gestartet, weil der unter Button1 eingestellt ist und Clicked nur den Parameter 1 übergibt

43 kB
Kurzbeschreibung: Focus auf B05%
Hochgeladen:29.10.2006
Ladeanzahl244
Herunterladen
 
29.10.2006  
 




Jörg
Sellmeyer
Ich vermute aber mal, daß der Button treotzdem richtig ausgelöst wird und der Fehler in der Parameterauswertung liegt.
Wie lautet den die Parameterabfrage in der Prozedur ZWEI_WINDOWS_CONFIG?
Es hängt wahrscheinlich damit zusammen, daß bei GetFocus das Ganze evtl. 2-mal durchlaufen wird, während es bei Clicked korrekterweise nur einmal abläuft. Ist aber nur wildes spekulieren, da es ohne Code nur ein Ratespiel ist.

Gruß
Jörg
 
Windows XP SP2 XProfan X4
... und hier mal was ganz anderes als Profan ...
29.10.2006  
 



 
- Seite 2 -


Mit TNT kannst du unter anderem die ID deiner Buttons überprüfen.
Welche IDs haben deine Buttons?

Id.gif  
93 kB
Kurzbeschreibung: Fenster ID ermitteln
Hochgeladen:29.10.2006
Ladeanzahl45
Herunterladen
 
29.10.2006  
 



Ach ja - und wo befinden die sich genau???
 
29.10.2006  
 



...und - welche Usermessages verwendest du?
 
29.10.2006  
 



[quote:3b05b579b6]
Ich vermute aber mal, daß der Button treotzdem richtig ausgelöst wird und der Fehler in der Parameterauswertung liegt.
Wie lautet den die Parameterabfrage in der Prozedur ZWEI_WINDOWS_CONFIG?[/quote:3b05b579b6]
KompilierenMarkierenSeparieren
PROC ZWEI_WINDOWS_CONFIG

    PARAMETERS ziel$
    print ziel$
    Case ziel$="1":SetFocus(editor%)
    Case ziel$="2":SetFocus(viewer%)
    Case ziel$="3":SetFocus(ziper%)
    Case ziel$="4":SetFocus(mailer%)
    Case ziel$="5":SetFocus(prg_05%)
    ....

@Jörg
Das Problem muss im Hauptfenster liegen. Wenn ich print ziel$ aktiviere, bekomme ich bei GetFocus den richtigen Übergabeparameter 1,2,3,4 oder 5 - bei Clicked bleibt es immer die 1 -

@Andreas
Usermessage 16

[offtopic] Bekomme grade den außerehelichen Befehl, mit spazieren zu gehen und die letzten Sonnenstrahlen hier in Heidelberg auszunutzen - da kann man nichts machen - ...und Tschüss[/offtopic]
 
29.10.2006  
 




Jörg
Sellmeyer
Du hast die Frage nach den ButtonIds noch nicht beantwortet. Also haben Deine Buttons bei
Parameters Exe$,Index&,Window&,X&,Y&,W&,H&,ID&
den gleichen oder unterschiedliche Werte?
Clicked fragt diese IDs glaube ich ab, um herauszufinden ob das Element nur den Focus hat oder auch wirklich gedrückt und losgelassen worden ist.
Wenn alle den gleichen Wert haben, ist es nur logisch, daß der erste Button immer ausgelöst wird.

Viel Spaß beim außerehelichen Was_Auch_Immer.
Jörg
 
Windows XP SP2 XProfan X4
... und hier mal was ganz anderes als Profan ...
29.10.2006  
 




Frank
Abbing
Eben. Seh dir mal deinen eigenen Code an. Deine Funktion CreateIconButton erwartet 8 Parameter, übergeben tust du aber nur 7. Die ID unterschlägst du.
Wenn du den ID Parameter mit aufsteigenden Werten vergibst, wird Clicked auch richtig arbeiten, weil es intern den ID-Parameter auswertet.
 
29.10.2006  
 



Wie gesagt, der Sachverhalt ließe sich mit TNT in wenigen Sekunden überprüfen.
 
29.10.2006  
 



Du könntest also als achten Parameter einfach newId() angeben.

Im Hauptprogramm deklarierst dann eine Globale:
KompilierenMarkierenSeparieren
Declare myControlIdCounter&

und setzt einfach eine Funktion ein:
KompilierenMarkierenSeparieren
Proc newId

    myControlIdCounter&+
    return myControlIdCounter&+9999

endproc

Dann ist sichergestellt das jedes Control seine eigene ID hat.

Gibts Verbesserungsvorschläge für +9999 ?
 
29.10.2006  
 



Da gibts noch GetDlgItem, da ich von der Automatisierung solcher Geschichten aber nichts halte, schreibe ich da jetzt gar nicht erst dran rum.
 
29.10.2006  
 



[quote:d5434d16dd]Eben. Seh dir mal deinen eigenen Code an. Deine Funktion CreateIconButton erwartet 8 Parameter, übergeben tust du aber nur 7. Die ID unterschlägst du.
Wenn du den ID Parameter mit aufsteigenden Werten vergibst, wird Clicked auch richtig arbeiten, weil es intern den ID-Parameter auswertet.[/quote:d5434d16dd]
An alle Helfer - Jörg, Frank, If und Andreas
Es kann so einfach sein. Mir ist nicht aufgefallen, dass die ID fehlt !
Mann, bin ich blöde - aber jetzt klappt alles bestens.
@ Jörg - am Wochenende wird alles mit Clicked funktionieren !
[quote:d5434d16dd]Viel Spaß beim außerehelichen Was_Auch_Immer.
Jörg[/quote:d5434d16dd]
3 Stunden Schaufenster-Bummel
 
29.10.2006  
 




Antworten


Thementitel, max. 100 Zeichen.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Beitrag  Schrift  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Themenoptionen

4.178 Betrachtungen

Unbenanntvor 0 min.
Axel Berse03.11.2023
RudiB.29.12.2021
Sven Bader17.08.2021
Ernst12.03.2014
Mehr...

Themeninformationen



Admins  |  AGB  |  Anwendungen  |  Autoren  |  Chat  |  Datenschutz  |  Download  |  Eingangshalle  |  Hilfe  |  Händlerportal  |  Impressum  |  Mart  |  Schnittstellen  |  SDK  |  Services  |  Spiele  |  Suche  |  Support

Ein Projekt aller XProfaner, die es gibt!


Mein XProfan
Private Nachrichten
Eigenes Ablageforum
Themen-Merkliste
Eigene Beiträge
Eigene Themen
Zwischenablage
Abmelden
 Deutsch English Français Español Italia
Übersetzungen

Datenschutz


Wir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.

Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.

Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Ich möchte keinen Cookie