|  |  | 
|  | 
|  | 
|  Ernst
 | | Hallo, ich muss den Doppelklick auswerten, aber ich bekomme keine message ?
 
  $H messages.ph
Window 100,300-600,500
Var cal&=Control("SysMonthCal32","",$54000000,200,40,178,194,%hwnd,0,%hinstance,$1)
while 1
    getmessage
    IF (%message = ~WM_LBUTTONDBLCLK) and (%mwnd = cal&)
        print "OK"
    endif
wend
end
~wm_rbuttondown kann ich abfragen und auch ~wm_lbuttondown.
 kann mir jemand helfen ?
 Gruß Ernst
 | 
 | 
|  | 
|  |  | 
|  | 
| 
 
 
 | 
|  | 
|  E.T.
 | | Schau mal hier:  [...]  Vlt. funzt das ja auch mit dem Kalender oder hilft wenigstens weiter
  | 
 | 
|  | 
|  | | XProfan X3Grüße aus Sachsen... Mario   WinXP, Win7 (64 Bit),Win8(.1),Win10, Win 11, Profan 6 - X4, XPSE, und 'nen schwarzes, blinkendes Dingens, wo ich das alles reinschütte... | 08.10.2016  ▲ | 
 | 
|  | 
| 
 
 
 | 
|  | 
|  Ernst
 | | leider nein, da ich ja keine wm_lbuttondblclk-Message bekomme, die ich abfangen könnte; vielleicht oder wahrscheinlich gibt's diese message beim Calender-control gar nicht. ich hab es dann über die Auswertung der beim Doppelclick zweifachen wm_lbuttondown-Message erledigt.
 
  {$iq}
Declare dc#, dcl&
Dim dc#,4
LONG dc#,0 = 0
dcl&= addr(dc#)
declare dtp#
dim dtp#,20
Declare datum$
usermessages 3000
Window 100,300-600,500
Var cal&=Control("SysMonthCal32","",$54000000,200,40,178,194,%hwnd,0,%hinstance,$1)
~setWindowLong(cal&,~gwl_userData,~setWindowLong(cal&,~gwl_wndProc,procaddr(calProc,4)))
settimer ~GetDoubleClickTime()
while 1
    Waitinput
    IF  (%umessage = 3000) or (%key = 13)
        SendMessage(cal&,~MCM_GETCURSEL,0,dtp#)
        datum$ = format$("00",word(dtp#,6)) + "." +format$("00",word(dtp#,2)) + "." + format$("0000",word(dtp#,0))
        LONG dc#,0 = 0
        break
    ElseIf %wmtimer
        LONG dc#,0 = 0
    EndIf
EndWhile
killtimer
dispose dtp#
dispose dc#
print datum$
waitkey
End
'**********************************************************************************************************
nProc calProc
    parameters Wnd&, Msg&, wParam&, lParam&
    global dcl&
    if Msg& =  ~WM_LBUTTONDOWN
        IF LONG(dcl&,0)=0
            LONG dcl&,0 = 1
        Else
            sendmessage(~getparent(wnd&),3000,0,0)
            Return 0
        EndIf
    endif
    return ~callWindowProc(~getWindowLong(wnd&,~gwl_userData),Wnd&, Msg&, wParam&, lParam&)
EndProc
 | 
 | 
|  | 
|  |  | 
|  | 
| 
 
 
 | 
|  | 
|  Jörg
 Sellmeyer
 | | Nur mal so gefragt: Das profaneigene Kalendercontrol reicht für deine Zwecke nicht aus? | 
 | 
|  | 
|  |  | 
|  | 
| 
 
 
 | 
|  | 
|  Ernst
 | | @Jörg grundsätzlich ja, im Besonderen nein:
 ich habe eine Warenwirtschafts-Software laufen und bastle mir eine separate Applikation dazu, wobei die Elemente (darunter z.B. dieses Calender-control) nahezu ident sein sollen, damit die Bedienung möglichst gleich ablaufen kann.
 | 
 | 
|  | 
|  |  | 
|  | 
| 
 
 
 |