Italia
Foro

Button auf einem Static, nicht erreichbar?

 

Torsten
Rümker
Hallo, mein nächstes Static Problem.

Situation: TabControl mit 2 Reitern, auf jedem Reiter ein Static, auf jedes Static die jeweiligen Elemente

Auf dem 2ten Static (=2ter Reiter Tabcontrol)
Ich habe auf einem Static zwei Button erzeugt, eine Abfrage circa GetFocus erbringt aber kein Ergebnis, außer der Tab wird gewechselt, dann wird der zuletz angeklickte Button bei jedem Tabwechsel aktiviert.

Hat irgendjemand einen Vorschlag wie ich das umgehen kann?

MfG
Torsten
 
Ich lerne, ob ich will oder nicht!
Betriebssystem:
- Ubuntu 15.x
- Windows (diverse)
XProfan Version: X2
05.10.2005  
 



Leider fehlt Deiner Signatur die Angabe Deiner XProfanversion und Deines Betriebssystemes.

Probiere mal clicked  bzw. sysvar_menuitem .

Salve.
 
05.10.2005  
 




Torsten
Rümker
[quote:3b1706cc93=iF]Leider fehlt Deiner Signatur die Angabe Deiner XProfanversion und Deines Betriebssystemes.

Probiere mal clicked  bzw. sysvar_menuitem .[/quote:3b1706cc93]
Ist ab sofort geändert (Signatur)

Clicked habe ich da XProfan 8 noch nicht zur Verfügung, aber wie das ganze circa MenuItem zu lösen ist werde ich mir mal anschauen.
Danke per den Tip.

MfG
Torsten
 
Ich lerne, ob ich will oder nicht!
Betriebssystem:
- Ubuntu 15.x
- Windows (diverse)
XProfan Version: X2
05.10.2005  
 



Hallo IF...

Kann beides nicht gehen.

@Torste: Kleinen Quelltext?
 
05.10.2005  
 




Torsten
Rümker
Ich habe versucht die Abfrage circa den von Andreas Hötker vorgeschlagenen weg zu realisieren

[quote:2033f67ada]
Schreibe ganz an den Anfang deines Programmi folgende Zeilen:

DEF @GetDlgCtrlID(1) !USER32,GetDlgCtrlID %MENUITEM von einem Handle ermitteln
DEF @ButtonClicked(1) @GetDlgCtrlID(@&(1))=-%MENUITEM %MENUITEM vergleichen

Ersetze dann jedes GETFOCUS durch

@ButtonClicked(Handle_des_Buttons_&)
[/quote:2033f67ada]
Aber das funktioniert auch nicht.

jetzt wird auf ein Drücken der Buttons gar nicht mehr reagiert.

Ich glaube langsam das mein Computer mich ärgern möchte.

Naja, hat noch jemand einen Vorschlag?
 
Ich lerne, ob ich will oder nicht!
Betriebssystem:
- Ubuntu 15.x
- Windows (diverse)
XProfan Version: X2
05.10.2005  
 




Torsten
Rümker
So sieht der komplette Quellcode des Dialoges im moment aus:
KompilierenMarkierenSeparieren
DEF @GetDlgCtrlID(1) !"USER32","GetDlgCtrlID" "%MENUITEM" von einem Handle ermitteln
DEF @ButtonClicked(1) @GetDlgCtrlID(@&(1))=-%MENUITEM %MENUITEM vergleichen

PROC Einstellungen

    DECLARE DLG&, DIALOGENDE%
    DECLARE icongroesse&
    DECLARE AusZeit_1&
    DECLARE AusZeit_2&
    DECLARE xpdown&
    DECLARE pwabfrage&
    DECLARE AutoUpdate&
    DECLARE desktoplink&
    DECLARE Startmenulink&
    DECLARE autostartlink&
    DECLARE speichern&
    DECLARE EinstEnde&
    Declare stEinstellungen&, stProgramme&
    DECLARE Tab&
    DECLARE PName&
    DECLARE PDateiname&
    DECLARE PDateinameSuche&
    DECLARE Parameter&
    DECLARE pwuebergabe&
    DECLARE vollbild&
    DECLARE iconnummer&
    DECLARE zurueck&
    DECLARE weiter&
    DECLARE Programmnummer&

    PROC ESpeichern

        GETMESSAGE
        WriteIni INIDateiname$,"init","Auszeit1"= @Left$ (@GetText$(AusZeit_1&),5)         AusZeit 1 in Config eintragen
        let aus1$ =@Left$ (@GetText$(AusZeit_1&),5)
        WriteIni INIDateiname$,"init","Auszeit2"= @Left$ (@GetText$(AusZeit_2&),5)         AusZeit 2 in Config eintragen
        let aus2$ =@Left$ (@GetText$(AusZeit_2&),5)

        If @GetCheck(xpdown&) = 1                                                          Windows XP beenden in Config eintragen

            WriteIni INIDateiname$,"init","xpdown"= "ja"
            Let xpdown$="ja"

        Else

            WriteIni INIDateiname$,"init","xpdown"= "nein"
            Let xpdown$="nein"

        EndIf

        WriteIni INIDateiname$,"init","Buttongroesse"= @GetText$(icongroesse&)             Buttongroesse in Config eintragen

        If @GetCheck(pwabfrage&) = 1                                                       Passwortabfrage in Config eintragen

            WriteIni INIDateiname$,"init","pwabfrage"= "ja"

        Else

            WriteIni INIDateiname$,"init","pwabfrage"= "nein"

        EndIf

        If @GetCheck(AutoUpdate&) = 1                                                      Autoupdate in Config eintragen

            WriteIni INIDateiname$,"init","AutoUpdate"= "ja"

        Else

            WriteIni INIDateiname$,"init","AutoUpdate"= "nein"

        EndIf

        If @GetCheck (desktoplink&) = 1                                                    DesktopLink in Config eintragen

            WriteIni INIDateiname$,"setup","desktoplink"= "ja"

        Else

            WriteIni INIDateiname$,"setup","desktoplink"= "nein"

        EndIf

        If @GetCheck (Startmenulink&) = 1                                                  Startmenulink in Config eintragen

            WriteIni INIDateiname$,"setup", "Startmenulink" = "ja"

        Else

            WriteIni INIDateiname$,"setup", "Startmenulink" = "nein"

        EndIf

        If @GetCheck (autostartlink&) = 1                                                  Autostart in Config eintragen

            WriteIni INIDateiname$,"setup", "Autostart" = "ja"

        Else

            WriteIni INIDateiname$,"setup", "Autostart" = "nein"

        EndIf

        IconsAnlegen

    ENDPROC

    WINDOWSTYLE 31
    DLG&=CREATE("DIALOG",%HWND,"SoftStart Einstellungen",SUB(DIV(%MAXX,2),DIV(270,2)),SUB(DIV(%MAXY,2),DIV(360,2)),270,360)
    USEFONT "MS Sans Serif",13,0,0,0,0
    SETDIALOGFONT 1
    TAB& =@CREATE("TABCTRL",DLG&,"Einstellungen",0001,0001,0269,0290)
    @InsertTab(TAB&,1,"Programme")
    Tab Einstellungen mit Elementen versehen
    stEinstellungen&=Control("STATIC","",$54001102,2,30,265,280,Tab&,0,%Hinstance,$0)
    @CREATE("TEXT",stEinstellungen&,"Icongröße:",0010,0010,0070,0015)
    ICONGROESSE& = CREATE("SPINEDIT",stEinstellungen&,"0;15;40",0090,0010,0060,0018)
    Create("Tooltip",stEinstellungen&,icongroesse&,"Trage hier die Größe der Icons ein")
    AusZeit_1& =@CREATE("TIMEEDIT",stEinstellungen&,@ReadIni$ (INIDateiname$, "init", "Auszeit1"),0090,0040,0060,0018)
    Create("Tooltip",stEinstellungen&,AusZeit_1&,"Trage hier die Programmendezeit 1 ein")
    AusZeit_2& =@CREATE("TIMEEDIT",stEinstellungen&,@ReadIni$ (INIDateiname$, "init", "Auszeit2"),0090,0070,0060,0018)
    Create("Tooltip",stEinstellungen&,AusZeit_2&,"Trage hier die Programmendezeit 2 ein")
    @CREATE("TEXT",stEinstellungen&,"AusZeit 1:",0010,0040,0070,0015)
    @CREATE("TEXT",stEinstellungen&,"AusZeit 2:",0010,0070,0070,0015)
    xpdown& =@CREATE("CHECKBOX",stEinstellungen&,"WinXP beenden",0157,0070,0100,0020)
    pwabfrage& =@CREATE("CHECKBOX",stEinstellungen&,"Passwortabfrage beim Programmstart",0010,0100,0200,0020)
    AutoUpdate& =@CREATE("CHECKBOX",stEinstellungen&,"AutoUpdate per FTP",0010,0130,0150,0020)
    desktoplink& =@CREATE("CHECKBOX",stEinstellungen&,"Desktoplink erzeugen",0010,0160,0150,0020)
    Startmenulink& =@CREATE("CHECKBOX",stEinstellungen&,"Startmenulink erzeugen",0010,0190,0150,0020)
    autostartlink& =@CREATE("CHECKBOX",stEinstellungen&,"AutoStartlink erzeugen",0010,0220,0150,0020)
    settext Icongroesse&, @ReadIni$ (INIDateiname$, "init", "Buttongroesse")
    Case @Equ$ (@ReadIni$ (INIDateiname$, "init", "xpdown"),"ja") : SetCheck xpdown&,1
    Case @Equ$ (@ReadIni$ (INIDateiname$, "init", "pwabfrage"),"ja") : SetCheck pwabfrage&,1
    Case @Equ$ (@ReadIni$ (INIDateiname$, "init", "AutoUpdate"),"ja") : SetCheck Autoupdate&,1
    Case @Equ$ (@ReadIni$ (INIDateiname$, "setup", "desktoplink"),"ja") : SetCheck desktoplink&,1
    Case @Equ$ (@ReadIni$ (INIDateiname$, "setup", "Startmenulink"),"ja") : SetCheck startmenulink&,1
    Case @Equ$ (@ReadIni$ (INIDateiname$, "setup", "Autostart"),"ja") : SetCheck autostartlink&,1
    Tab Programme mit Elementen versehen
    stProgramme&=Control("STATIC","",$54001102,2,30,265,280,Tab&,0,%Hinstance,$0)
    @CREATE("TEXT",stProgramme&,"Programmname:",0010,0020,0080,0015)
    @CREATE("TEXT",stProgramme&,"Dateiname:",0010,0070,0080,0015)
    @CREATE("TEXT",stProgramme&,"Parameter:",0010,0120,0080,0015)
    PName& =@CREATE("EDIT",stProgramme&,"",0010,0040,0200,0020)
    PDateiname& =@CREATE("EDIT",stProgramme&,"",0010,0090,0200,0020)
    PDateinameSuche& =@CREATE("BUTTON",stProgramme&,". . .",0222,0090,0030,0020)
    Parameter& =@CREATE("EDIT",stProgramme&,"",0010,0140,0200,0020)
    pwuebergabe& =@CREATE("CHECKBOX",stProgramme&,"Passwortübergabe",0010,0170,0120,0020)
    vollbild& =@CREATE("CHECKBOX",stProgramme&,"Vollbild",0140,0170,0060,0020)
    ICONNUMMER& = CREATE("SPINEDIT",stProgramme&,"1;1;100",0010,0205,0070,0020)
    zurueck& =@CREATE("BUTTON",stProgramme&,"<<",0010,0235,0070,0020)
    weiter& =@CREATE("BUTTON",stProgramme&,">>",0100,0235,0070,0020)
    Programm 1 Einstellungen laden
    SetText PName&, @ReadINI$(INIDateiname$,"Programm1","Name")
    SetText PDateiname&, @ReadINI$(INIDateiname$,"Programm1","Aufruf")
    SetText Parameter&, @ReadINI$(INIDateiname$,"Programm1","parameter")
    SetText Iconnummer&, @ReadINI$(INIDateiname$,"Programm1","icon")
    Case @Equ$(@ReadINI$(INIDateiname$,"Programm1","passwort"),"ja"):SetCheck pwuebergabe&,1
    Case @Equ$(@ReadINI$(INIDateiname$,"Programm1","vollbild"),"ja"):SetCheck vollbild&,1
    Let Programmnummer& = 1
    Showwindow(stEinstellungen&,1)
    Showwindow(stProgramme&,0)
    speichern& =@CREATE("BUTTON",DLG&,"Speichern",0010,0300,0070,0030)
    EinstEnde& =@CREATE("BUTTON",DLG&,"Ende",0100,0300,0070,0030)
    SETFOCUS(DLG&)
    LET DIALOGENDE%=0

    WHILENOT DIALOGENDE%

        WAITINPUT

        If @EQU(%KEY,2)

            LET DIALOGENDE%= 1

        ELSEIF Tabchanged(Tab&)

            If Getactivetab(Tab&) = 0

                Showwindow(stEinstellungen&,1)
                Showwindow(stProgramme&,0)

            Elseif Getactivetab(Tab&) = 1

                Showwindow(stEinstellungen&,0)
                Showwindow(stProgramme&,1)

            Endif

        ELSEIF @ButtonClicked(zurueck&)

            MessageBox("zurück","zurück",0)
            CaseNot Programmnummer& = 1 : DEC Programmnummer&

        ELSEIF @ButtonClicked(weiter&)

            MessageBox("weiter","weiter",0)
            CaseNot Programmnummer& = 20 : INC Programmnummer&
            ProgrammDatenladen Programmnummer&

        ELSEIF GETFOCUS(PDateinameSuche&) BUTTON

        ELSEIF @GetFocus(speichern&) BUTTON

            ESpeichern

        ELSEIF @GetFocus(EinstEnde&) BUTTON

            LET DIALOGENDE%=1

        ENDIF

    WEND

    @DESTROYWINDOW(DLG&)

ENDPROC

Declare iniDateiname$, aus1$, aus2$, xpdown$
let iniDateiname$ span> "einstellungen.ini"
cls
einstellungen

Hilft das Vielleicht?

Auf dem Reiter Programme die Beiden Buttons die mit >> und << beschriftet sind, sind die nicht
funktionierenden, eigentlich sollte eine MsgBox erscheinen.

und hier die datzugehörige einstellungen.ini
KompilierenMarkierenSeparieren
Beide File in ein Verzeichnis dann sollte es soweit lauffähig sein.
 
Ich lerne, ob ich will oder nicht!
Betriebssystem:
- Ubuntu 15.x
- Windows (diverse)
XProfan Version: X2
05.10.2005  
 



Bitte lauffähigen Quelltext - habe zur Zeit wenig Zeit...
 
05.10.2005  
 




Torsten
Rümker
Habe obigen Quelltext angepasst, hoffe das hilft

MfG
Torsten
 
Ich lerne, ob ich will oder nicht!
Betriebssystem:
- Ubuntu 15.x
- Windows (diverse)
XProfan Version: X2
05.10.2005  
 



So - hab Dein Prog offen.

Als erstes fällt mir auf das Du die Höhe der Titelleiste nicht beachtest - das solltest Du unbedingt nachholen.

Das Problem ist das in Deinem Fall Waitinput nicht verlassen wird.

Wenn Du
KompilierenMarkierenSeparieren
Stprogramme&=Control("STATIC","",$54001102,2,30,265,280,Tab&,0,%Hinstance,$0)
>
ersetzt in
KompilierenMarkierenSeparieren
windowstyle 80
Stprogramme&=createwindow(tab&,"tets",2,30,265,280)
external("user32","SetParent",Stprogramme&,tab&)re>
wird es demzufolge funktionieren.

Salve, iF.

6 kB
Kurzbeschreibung: Warum Titelzeilenhöhe wichtig ist...
Hochgeladen:05.10.2005
Downloadcounter444
Download
 
05.10.2005  
 



Nachtrag: Ich habe unter Codesnippets wohl eine Prozedur gepostet welche die innere Dimensione eines Control festsetzt. Das ists wohl was Dir hier fehlt - denn Du setzt die Äußere.

Salve.
 
05.10.2005  
 




Detlef
Jagolski
Das sollte gehen.

Steinstellungen&=Control(DIALOG,,$54000000,4,25,265,280,Tab&,0,%Hinstance,$0)
Stprogramme&=Control(DIALOG,,$54000000,4,25,265,280,Tab&,0,%Hinstance,$0)

Saluto
 
XProfan X4, PRFellow, Profan2Cpp - Version 2.0c-pre5, Windows 11
05.10.2005  
 



Komme gerade aus der Nachtschicht und habs mir auch mal angesehen - DIALOG statt STATIC wäre auch mein Vorschlag.
 
06.10.2005  
 




Answer


Topictitle, max. 100 characters.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Topic-Options

5.666 Views

Untitledvor 0 min.
Peter Max Müller31.10.2017
E.T.31.03.2013
Frank Vorholzer26.01.2012
Georg Hovenbitzer06.12.2011
Di più...

Themeninformationen



Admins  |  AGB  |  Applications  |  Autori  |  Chat  |  Informativa sulla privacy  |  Download  |  Entrance  |  Aiuto  |  Merchantportal  |  Impronta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Giochi  |  Cerca  |  Support

Ein Projekt aller XProfaner, die es gibt!


Il mio XProfan
Private Notizie
Eigenes Ablageforum
Argomenti-Merkliste
Eigene Beiträge
Eigene Argomenti
Zwischenablage
Annullare
 Deutsch English Français Español Italia
Traduzioni

Informativa sulla privacy


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