|  | 
|   | 
 | 
  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. |  
  | 
|   | 
 |  | 
|   | 
 
 
  |