• ベストアンサー

カレンダーコントロールとサイズ変更

現在、タッチパネルモニタを使用したシステムを検討中で、日付を指定するのに月間予定表コントロールを考えています。(やはり指で操作するなら、カレンダーの方が操作しやすいと思いますので) その為、そのカレンダーコントロールを画面一杯に表示させたいのですが、可能でしょうか?出来るならば、助言をお願いします。 環境  Visual C++6.0  Windows XP Pro SP3 以上、よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • Oh-Orange
  • ベストアンサー率63% (854/1345)
回答No.3

★補足要求します。 >CreateFontでフォントを大きくしてみましたが、日付を変えると >選択前の日と選択した日のフォントが元に戻ってしまい、どうしたら  ↑  どのようにフォントを設定していますか?  こちらでは上手く大きいフォントでカレンダー・コントロールが表示されています。  日付を選択してもフォントの大きさは戻りません。  (非 MFC で確認済み) ・フォントのハンドルは保存しておいて下さい。  プログラムの終了時に DeleteObject などで削除します。  それまではどこかに保存しておかないといけません。  (ソースコードでも貼り付けてみて下さい。)

taka077
質問者

お礼

お世話になります。 以下のようにフォントを設定しています。 CFont CalFont; CalFont.CreateFont(80, 0, 0, 0, FW_BOLD, FALSE, FALSE, 0, SHIFTJIS_CHARSET, OUT_DEFAULT_PRECIS, CLIP_DEFAULT_PRECIS, DEFAULT_QUALITY, DEFAULT_PITCH, _T("MS ゴシック")); m_Calendar.SetFont(&CalFont, TRUE); ※以前、スタティックテキストのフォントを大きくした時と同じにしました。 以上、よろしくお願いします。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (3)

  • redfox63
  • ベストアンサー率71% (1325/1856)
回答No.4

CalFontがイベントのローカル変数なのではないですか ローカル変数だとイベントハンドラから抜けた時点で破棄されてしまいます クラス変数またはグローバル変数にして見ましょう

taka077
質問者

お礼

CalFontをクラス変数(m_CalFont)に変更し、正常に動作しました。 (縦横の大きさのバランスはイマイチですが...。) ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。
  • Oh-Orange
  • ベストアンサー率63% (854/1345)
回答No.2

★アドバイス >その為、そのカレンダーコントロールを画面一杯に表示させたいのですが、 >可能でしょうか?出来るならば、助言をお願いします。  ↑  可能ですが文字のフォントも大きいサイズに変更する必要があると思います。  これをしないとカレンダー・コントロールだけが画面一杯に広がるだけで  日付などは中央に小さいだけになります。 ・これでは大きくする意味がありませんので CreateFont などで  フォントを大きくすれば可能でしょう。 ・あとはタッチパネルモニタからの情報を使ってカレンダー・コントロールの  ヒットテストの通知メッセージを処理すれば良いでしょう。

taka077
質問者

お礼

アドバイス、ありがとうございます。 今、リソースエディタでカレンダーコントロールを大きくしておき、 CreateFontでフォントを大きくしてみましたが、日付を変えると 選択前の日と選択した日のフォントが元に戻ってしまい、どうしたら いいか悩んでいるところです。

全文を見る
すると、全ての回答が全文表示されます。
  • redfox63
  • ベストアンサー率71% (1325/1856)
回答No.1

適切なメッセージを処理すれば可能ですよ WM_SIZEなどを捕まえて コントロールの大きさをSetWidnowPosやMoveWindowなどで変更してやれば良いでしょう

taka077
質問者

お礼

redfox63さん、いつもありがとうございます。 早速、やってみます。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • 「カレンダーコントロール12.0」の使用について

    よろしくお願いします。 Excelで1か月分の日報を作成しています。 1ワークシートに1日の日報を作成しています。 すなわち、1ブックに31日分の日報を作成します。 日付の入力は、「カレンダーコントロール12.0」を利用しています。 まず、標準モジュールの中に「Mojule1」を作成し、次のようにマクロを組みました。 Option Explicit Sub カレンダー表示()  カレンダー表示 Macro ActiveSheet.OLEObjects.Add(ClassType:="MSCAL.Calendar.7", Link:=False, _ DisplayAsIcon:=False, Left:=673.5, Top:=58.5, Width:=204.75, Height:= _ 203.25).Select End Sub Sub カレンダー消去()  カレンダー消去 Macro ActiveSheet.Shapes("Calendar1").Select Selection.Delete End Sub これでカレンダーのON,OFFは正常に動作します。 問題なのは、カレンダーをONにして日付を挿入しようとすると、挿入できません。 現在の対応策として、カレンダーをON →「開発」タブ →「デザインモード」ボタンON→OFF→日付をダブルクリック この操作をすると正常に日付が挿入されます。 その記述は、各ワークシートに次のようになっています。 Option Explicit Private Sub Calendar1_DblClick() ActiveSheet.Range("A3", "C3") = Calendar1.Value End Sub カレンダーON→日付をダブルクリック これで挿入できるようにするには、どこをどのように改めれば良いでしょうか。 よろしくお願いします。 Windows Vista Home Premium SP-2 Office 2007 SP-2

  • アクセスでカレンダーコントロールによる日付入力について。

    現在、アクセスのカレンダーコントロールをクリックすると別の入力画面を開き、その日付がその画面の依頼日に挿入されるようにしてあります。それとは別に、カレンダーの日付が例えば7/3だとしたら、他の画面A、B、Cを別コントロールで開くときも依頼日のところに7/3と挿入することは可能でしょうか?カレンダークリックの上記の操作を同時にするのは無理でしょうか?よろしくお願いします。

  • 2014年11月のカレンダー

    http://www.himekuricalendar.com/month2014_11 このカレンダーを印刷しましたが、肝心の日付欄がA-4画面の紙面に三割くらいの面積で印刷されて白紙の部分が多く出てしまいます。A-4の画面一杯に日付欄が印刷できるようなカレンダーが載っているサイトがありましたら教えてください。 あと大安とか仏滅などの文字は邪魔です。それがないものがありましたら併せてご紹介ください。 私の目的は、生活全般のスケジュールとは別に一つの趣味(川柳)の月間スケジュール表を作成することです。 生活全般のスケジュールは市販のカレンダーを使用して重要なものだけを書きこんでいます。

  • 日付が変更出来ません

    自作のWinXP SP2適用パソコンです。 正月明け何気なくパソコンに入れているカレンダーを見てみると日付が一日違っている(1日→2日の表示)のに気付きコントロールパネルから調整(修正)しましたが数秒経つとまた元の一日違う表示に戻ってしまいます。 BIOS調整画面を出して調整もやってみましたがやはり同じように再起動した後は元の一日違った日付になってしまいます。 どうやったら正常な日付に戻す事出来ますか?

  • NVIDIAコントロールパネルにてフラットパネルスケーリングが変更できない

    ワイドモニタを使用しているのですが、4:3にしか対応していないゲームをプレイするにあたってアスペクト比の固定がしたく、ネットでいろいろ調べたところ 「NVIDIAコントロールパネルのフラットパネルスケーリングの変更をいじればよい」 というのは判明したのですが、肝心のその項目が灰色になってしまい選択できず困っています。どうすればよいのでしょうか? OSはWindowsXP pro SP3、ビデオカードはGeForce 8600GTS、ドライバのバージョンは178.24、モニタはLGのL246WHです。 ビデオカードとモニタとは、ビデオカード側がDVI、モニタ側がHDMIになっているケーブルで接続しています。 よろしくお願いします。

  • カレンダーフォームの操作についてヘルプIII

    カレンダーフォームの操作についてご指導をお願いします。 Access2007 カレンダーコントロール12.0 やりたいこと 開いたカレンダーコントロールフォーム「フォーム名:カレンダーマスター」の任意の日付にコメントを入力、リアルタイム日付表示状態でメモ確認カレンダーとして使いたい。 やったことと「不具合」 「カレンダーマスター」をデザインビューで開いて「プロパティーシート」その他タブの「ヒントテキスト」行に記入する。しかし、起動時にはカレンダーが本日の日付になていましたが、将来の日付を選択してヒントテキストを入力後にフォーム「カレンダーマスター」へ戻すと、本日の日付に戻らず入力した日付表示で本日の日付に戻りません。入力操作(カレンダーマスター → コメント入力日を選択 → デザインビュー → ヒントテキスト入力 → フォームに戻す) おねがい フォーム「カレンダーマスター」を開いた状態でコメントの入力が可能な方法かあればアドバイスをお願いします。可能でなければデザインビューで開いて「ヒントテキスト」行に記入してフォーム「カレンダーマスター」に戻した時に、本日の日付に戻せる方法を教えて下さい。 アドバイスをお願いします。

  • タッチパネル式PCディスプレイを探しています

    質問させていただきます。 タッチパネル機能が付いたPCのモニタを探しています。 画面をタッチしたら、、マウスの左クリックを行った状態と同じになるような、そんな機能が 付いたモニタがあったらぜひ教えていただきたいと思います。 生産ラインに設備を設置し、画面タッチ操作で、その日の生産日報を出力するという事案を 現在検討しています。 初めは、シーケンサに取り付けるFA関連のタッチパネルを使用しようと思ったのですが、 FA関連のタッチパネルでは実現が難しそうだったので、パソコンを設置しVB2008のフォーム画面を タッチパネル機能付きモニタで操作するという方法で今考えています。 みなさんの助言を頂きたいと思います。宜しくお願い致します。

  • タッチパッドでcortanaが出ないようにしたい

    ideapad 52015IKBを使っています。 タッチパッド操作でクリックする時うっかり3本指で触っていると邪魔なcortanaが出てきてしまい困っています。 カーソル移動とクリック以外でタッチパッドを使うことは無いのでSynaptics コントロールパネルで2本指、3本指、4本指の操作は全て切ったのですがそれでもcortanaが出てきます。(Synaptics コントロールパネルの設定には3本指で「タップ」した時cortanaが出ないようにする設定はあるのですが、この設定を切ってもクリックした時はcortanaが出てきてしまいます。) 3本指でクリックしてもcortanaが出ないようにするにはどの設定を変更すればよいのでしょうか? ※OKWAVEより補足:「Lenovo:ノートブック (IdeaPad・Lenovo等)」についての質問です。

  • inspiron 1720 メディアコントロールボタン 無効化

    お世話になります。いろいろ調べてみましたが、解答が見つかりませんでしたので質問します。 先日、inspiron 1720を購入しました。本体にあるタッチパネルでポインター操作をして使用していますが、手がよくメディアコントロールボタンに接触して、誤動作したりしてしまいます。このメディアコントロールボタンを無効にする方法はあるでしょうか。 よろしくお願いいたします。

  • [コントロールパネル⇒…⇒]日付と時刻の調整]

    Win10 Pro のデスクトップ機を使用しています。 タスクバー上の右側にある日時表示の[時計を右クリック]して[日付と時刻の調整]を選択すると、 > 時刻を自動的に設定する > タイムゾーンを自動的に設定する という2つのスイッチが表示されます。 [日付と時刻の調整]は[コントロールパネル]からも行えるはずですが、[コントロールパネル]⇒[時計、言語、および地域]からどういう手順で辿ればその2つのスイッチに行き当たりますか? 教えてください。