No announcement yet.

Month Calendar control /SysMonthCal32 language

  • Filter
  • Time
  • Show
Clear All
new posts

  • Month Calendar control /SysMonthCal32 language


    There are a number of ways to customize a month calendar control. I can choose a Hebrew calendar or even Gregorian transliterated French calendar. Is there a way to change the language of the control? I am trying to translate a certain app to Spanish. All of the toolbar buttons, labels, etc I can change. However, how can I change the month names and days of the week that are within the control? Any thoughts or ideas?

    Bill Scharf

  • #2
    Imo should the end-user's Windows language autom. show the correct words.


    • #3

      I agree with you that this "should" be the way. However, we have many customers that speak very little English and prefer to work in a Spanish program instead of an English program if this is possible. We try to provide our customers with what they want. I thought there might be a way to programmatically change the language or at least set the names of the months and days. Maybe this is not possible?
      Bill Scharf


      • #4
        Bill, you might try asking Egbert Zijlema. He has done extensive work with calendars. FYI:

        Bernard Ertl
        InterPlan Systems


        • #5
          All that is in my SDK reference is
          The month-calendar control gets its format and all strings from LOCALE_USER_DEFAULT. For Windows 2000 and later systems, it gets the month title format from LOCALE_SYEARMONTH. Thus even with the same DLL version, the appearance of the control may vary slightly depending on the system software on which your application runs. For example, with Windows NT 4.0, the month title will look like: "September 1998". With Windows 2000, it will look like: "September, 1998".
          I don't see any messages or style which address your question.

          So I guess the answer is, you'll have to create your own control. Fortunately you can get the names of the month and day strings easily enough using GetDateFormat() and specifying the LOCALE you want to use when calling that function.

          Michael Mattias
          Tal Systems (retired)
          Port Washington WI USA
          [email protected]