top of page
  • 執筆者の写真bosi siro

C++ wxWidgetカレンダーの値を参照したい

やりたいこと、

カレンダーの月日を選択時に、カレンダーの値を参照する

該当月日の項目をセルに表示する

カレンダー選択毎にセルの表示が変わる



結果

//カレンダーの名前 m_calendar1




m_calendar1 = new wxCalendarCtrl(this, wxID_ANY, wxDefaultDateTime, wxDefaultPosition, wxDefaultSize, wxCAL_SHOW_HOLIDAYS);


//カレンダーの値を変更したときにする処理


//m_calendar1->Bind(wxEVT_CALENDAR_SEL_CHANGED, [this](wxCommandEvent& event) {

//上記のように、wxEVT_CALENDAR_SEL_CHANGEDにすると、月選択時にも反応してしまう為、不適切(日にちを選択してないのに反応してしまう)


m_calendar1->Bind(wxEVT_CALENDAR_DAY_CHANGED, [this](wxCommandEvent& event) {

//カレンダーから日付のデータを取得するxmdという変数を用意 型はwxDateTime

auto ymd = m_calendar1->GetDate();



//カレンダーから年、月、日を取得するが、何故か月は-1されているため、+1する

std::string ySTR = std::to_string(ymd.GetYear());

std::string mSTR = std::to_string(ymd.GetMonth()+1);

std::string dSTR = std::to_string(ymd.GetDay());


//試しにメッセージボックスで表示

wxMessageBox(ySTR+" " + mSTR +" " +dSTR);

});



問題無く、選択した日付が表示された。


閲覧数:0回0件のコメント

最新記事

すべて表示

C++ SFML マップのスクロール

本日は時間が無い為、突貫工事になる マップのスクロール機能を実装 以下が、追加分になる // プレイヤーを中心にスクロールするビューを作成 sf::View view(sf::FloatRect(0, 0, 800, 600));...

Comments


bottom of page