Frost Moon Project

MinGWでDTM_SETFORMATを送っても書式が変更できない場合の対処法 - Frost Moon Project アクセスランキング

Home > Tips > MinGWでDTM_SETFORMATを送っても書式変更が行われない場合の対処法

MinGWでDTM_SETFORMATを送っても書式変更が行われない場合の対処法

  1. 問題
  2. 解決方法

問題
Code::BlocksでダイアログベースのWin32アプリケーションを作成し、
ResEditでDateTimePickerをぽとぺた。
tchar.hとcommctrl.hをincludeし、UNICODEをdefine。
WM_INITDIALOGに以下を加え、DateTimePickerの書式変更を試みますが... 何故か変更されません。_T("yyyy")や_T("yyMMMM")など他の文字列にしてみても、変更されません。


ここで、ANSIビルドにしてみたり、Visual C++ Express Editionでビルドすると正常に変更されます。
解決方法
正解はヘッダファイルにありました。

手元にあるMinGWのcommctrl.hには とあります。

ここで、VC++側のCommCtrl.hを見てみると、



      ◢▓▓█ ▓▓▋▓▓▂▅▓▓▓   ▓▉▓▓▓▓ ▓▓  ▓▓▓▅▂▓▓▐▓▓ █▓▓▓
   ▃▆▀▓▓█ ▓▓▌▅▀  ▓▓▓   ▓ ▊▓▓▓▓ ▓▓  ▓▓▓  ▀▅▐▓▓ █▓▓▓
▀◣    ▓▓█ ▓▓▀▓▓  ▓▓▓   ▓ ▋▓▓▓▓ ▓▓   ▓▓▓  ▓▓▀▓▓ █▓▓▓
  ◥◣  ▓▓█ ▓▓ ▓▓  ▓▓▓ ◥◣▓  ▌▓▓▓▓  ◢◤  ▓▓▓  ▓▓ ▓▓ █▓▓▓
 ▲ ◥▅▓▓█ ▓▓ ▃▅▇▀▀▀▀▆▅▃            ▃▅▆▀▀▀▀▇▅▃ ▓▓ █▓▓▓
  ▀▅▃▓▓█ ▓▓◥█▀ ◢▇█▇◣                  ◢▇█▇◣ ▀█◤▓▓ █▓▓▓
    ◢█▓█ ██ ▼ ▐▓██▓▍               ▐▓██▓▍ ▼ ██ █▓█▓
   ◢◤█▓█ ██     ◥▓▓▓◤                ◥▓▓▓◤     ██ █▓█▓
  ◢▀▀█▓█ ██▌   ◥▅▃▂▂▂▃◢◤          ◥◣▃▂▂▂▃▅◤   ▐██ █▓█▓
     █▓█▍███                                  ███ █▓█▓
    █▓▓█▐███.               ◢▋                ███▎█▓▓█▓
   █▓▓▓▋████                                ███▋█▓▓▓█▓
▲▃█ ▓▓▓█████▌        ◥▅▅▆▇▇▇▇▇▆▅▅◤         ▐█████▓▓▓ █▓
 ▓▉ ▓▌▓██████◣         ▼        ▼          ◢██████▓▌▓ ▐▓
 ▓▌  ▓▋▓█████ ▀▃        ◥◣        ◢◤        ▃▀ █████▓▋▓  ▼
 ▼   ▓▊▓████▌  ▀▅        ◥◣▃▂▂▃◢◤        ▅▀  ▐████▓▊▓
     ▼▋▓████     ◥█▅▃                ▃▅█◤     ████▓▋▼


...そんな訳でして、以下を追加してやれば無事書式変更を行うことが出来ました。

Copyright(C)Frost Moon Project


Home > Tips > MinGWでDTM_SETFORMATを送っても書式変更が行われない場合の対処法