Deutsch
Forum

Button-Abfrage

 

Ernst
Hallo Leute,
ich schaffe es nicht, den Button abzufragen;
1. mit clicked keine Reaktion
2. mit getfocus kommt Reaktion klarerweise zu früh und Button verhält sich vorerst nicht wie ein Button (beim Anklicken)
3. frage ich überhaupt an der richtigen Position ab ??

KompilierenMarkierenSeparieren
 {$iq}
 $H windows.ph
 $H messages.ph
 $H structs.ph
Set("ErrorLevel",1)
Set("FastMode",1)
Declare WndClass#
Declare Msg#
Struct TWindowClass  = ~WNDCLASS
Struct TMsg          = ~MSG
Dim Msg#,TMsg
Var hwndClass$       = "WINDOW"
Var hwndName$        = "FENSTER"
'*****************************************************************************************

Proc WinMain

    Dim WndClass#,TWindowClass

    With WndClass#

        .style&          = ~CS_HREDRAW | ~CS_VREDRAW
        .lpfnWndProc&    = ProcAddr(WndProc,4)
        .cbClsExtra&     = 0
        .cbWndExtra&     = 0
        .hInstance&      = %hInstance
        .hIcon&          = 0
        .hCursor&        = ~LoadCursor(0, ~IDC_ARROW)
        .hbrBackground&  = (~COLOR_APPWORKSPACE + 1)
        .lpszMenuName&   = 0
        .lpszClassName&  = Addr(hwndClass$)

    EndWith

    ~RegisterClass(WndClass#)
    Dispose WndClass#
    Var hWnd& = ~CreateWindowEx(0,Addr(hwndClass$),Addr(hwndName$),$02CA0000,100,100,780,500,0,0,%hInstance,0)
    ~ShowWindow(hWnd&, ~SW_SHOWNORMAL)
    ~UpdateWindow(hWnd&)
    Var but& = @create("BUTTON",hWnd&,"TEST",50,50,100,100)

    While ~GetMessage(Msg#, 0, 0, 0) > 0

        ~TranslateMessage(Msg#)

        If getfocus(but&)

            print "1"

        EndIf

        ~DispatchMessage(Msg#)

    EndWhile

EndProc

'*****************************************************************************************

nProc WndProc

    Parameters Wnd&, Message&, wParam&, lParam&

    If Message& = ~WM_DESTROY

        ~PostQuitMessage(0)

    EndIf

    Return ~DefwindowProc(Wnd&, Message&, wParam&, lParam&)

EndProc

'*****************************************************************************************
WinMain
Dispose Msg#
END


Dank für Hilfestellung im Vorhinein
Gruß Ernst
 
12.03.2014  
 




Jörg
Sellmeyer
Darf ich mal fragen, warum du es dir so schwer machst? Gerade die Erstellung von Elementen, einschließlich Fenstern, ist eine von XProfans Stärken.
KompilierenMarkierenSeparieren
Window 600,400
Var btn& = Create("Button",%hwnd,"Klick",100,10,60,24)
Usermessages $10

While 1

    WaitInput

    If %umessage = $10

        Break

    ElseIf Clicked(btn&)

        Print "Aha"

    EndIf

Wend

 
Windows XP SP2 XProfan X4
... und hier mal was ganz anderes als Profan ...
12.03.2014  
 




Ernst
Hallo Jörg,
das mit XProfan-Fenstern ist mir klar; nur dieses Beispiel bezieht sich auf das MDI-Projekt ([...] an dem ich seit vorigem Jahr bastle - und wenn ich die richtige Vorgehensweise bei einem einfachen API-Fenster nachvollziehen kann, blicke ich leichter durch
.....
hab's schon selbst geschafft
 
12.03.2014  
 



Antworten


Thementitel, max. 100 Zeichen.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Beitrag  Schrift  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Themenoptionen

4.802 Betrachtungen

Unbenanntvor 0 min.
H.Brill10.01.2019
E.T.19.10.2015
Ernst02.03.2015
iF09.07.2014
Mehr...

Themeninformationen

Dieses Thema hat 2 Teilnehmer:

Ernst (2x)
Jörg Sellmeyer (1x)


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