I tried a bit to do the conversion. Rather than LongLong you should use LongPtr in most places, however, I still did not get it to work. When creating a the object of clsMonthCal and using the ShowRangeCal to initate, I get as far as the WindowProc call (initiated by the apiCreateWindowEx call...