• ベストアンサー

VC++6.0 MFC 日時指定コントロールの秒へのセットフォーカス

VC++6.0 MFC 日時指定コントロールの秒へのセットフォーカス 以下の環境でプログラミングを実施しています。 開発環境:Visual Studio 6.0 言語:Visual C++ プロジェクト:MFCアプリケーション 日時指定コントロールのスピンを最初にクリックすると 時間が変化しますが、これを初期設定で秒にしたいのですが どうしたらいいのか全くわかりません。 教えてください!

  • 43512
  • お礼率100% (1/1)

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

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

『Date and Time Picker』コントロールの事でしょうか? コントロールにフォーカスを与えてから keybd_eventで左矢印の 入力をシュミレートして見ましょう CWnd* pWnd = (CWnd*)GetDlgItem( IDC_DTPicker1 ); pWnd->SetFocus(); // LEFTを押す keybd_event( VK_LEFT, 0, KEYEVENTF_EXTENDED, 0 ); // LEFTを離す keybd_event( VK_LEFT, 0, KEYEVENTF_EXTENDED | KEYEVENTF_KEYUP, 0 ); といった具合です

43512
質問者

お礼

ありがとうございます!! ずっとセットフォーカス関連で調べていたので イベントを発生させるとは考えていませんでした(^^; C++初心者なので、非常に助かりました。

関連するQ&A

  • 子ダイアログのコントロールにフォーカス(VC++2005)

    お世話になります。 Visual Studio 2005でVC++の開発をしております。 ダイアログを2つ用意して、一つはstyleを「ポップアップ」に、 もう一つは「子」にしてます。 親ダイアログ内にタブをセットし、その上に子を乗せる処理を行っていて 親のダイアログのボタンイベントから子のダイアログのコントロールにフォーカスを 当てたいのですが、どのようにしたらよろしいのでしょうか? 親ダイアログ内では、 (子ダイアログ).Create(子ダイアログクラス, this); で生成して MoveWindowやShowWindowで位置・表示の設定を行っています。 親から子ダイアログ内のコントロールの入力チェックを行おうと思い、 未入力判定まではできたのですが どうしてもSetFocus()でフォーカスが当たりません。 どなたかご教授していただけますでしょうか?

  • 時刻の日時指定コントロールで実行エラー

    時刻の日時指定コントロールで実行エラー MFCでwindowsアプリケーションを勉強しているものです。 OS : Vista Premium VS : 2008 Pro 日時指定コントロールで、日付や時刻を選択する参考書サンプルを動かそうとしています。 結果は、 時刻のDate Time Pickerのスピンコントロールを動かすとエラーが表示されます。 添付画像にあるエラー表示内の 'File: f:\dd\vctools\crt_bld\self_x86\crt\src\output.c ' というファイルは、 C:\Program Files\Microsoft Visual Studio 9.0\VC\crt\src\ にあるoutput.cのことでしょうか? そうだとしても、今の私のスキルでは解読することができません。 この時刻のコントロールのプロパティは、以下のように設定しました。 ID : IDC_DATETIMEPICKER4 Format : 時刻 Use Spin Control : True ( 淡色表示になっている ) その他は、デフォルト値です。 このコントロールのイベントハンドラコード部分 void CDateTimeCtrlDialog::OnDtnDatetimechangeDatetimepicker4(NMHDR *pNMHDR, LRESULT *pResult) {     LPNMDATETIMECHANGE pDTChange = reinterpret_cast<LPNMDATETIMECHANGE>(pNMHDR);     // TODO: ここにコントロール通知ハンドラ コードを追加します。     CTime ct;     m_MonthCal4.GetTime( ct );     m_strDate4.Format( L"%02d:%02d:%02" , ct.GetHour() , ct.GetMinute() , ct.GetSecond() );     UpdateData( false );     *pResult = 0; } どなたか教えてください。 お願いします。

  • 別プロセスのコントロールにフォーカスをあてたい

    VC++5.0 または VC++6.0 の環境で、MFC を使ってダイアログベースの EXEを造っています。 (OS は NT4.0 または 2000 です) 以下のことをしたいと思っています。 ・プロセスA、Bがあります。 ・プロセスAがプロセスBをフォアグランドにします。 →SetForegroundWindow() します。 ・プロセスAがプロセスBのボタンやエディットボックスなどのコントロールに フォーカスをあてる。 で、この最後のフォーカスをあてる処理は実現可能でしょうか? 自分のプロセス内のコントロールに対しては、SetFocus() で フォーカスをあてられたのですが、別プロセスではフォーカスを あてることができませんでした。 識者の方、ご教授願います。

  • MFCアプリケーションでの終了コードの指定方法

    以下の環境でプログラミングを実施しています。 開発環境:Visual Studio 2005 言語:Visual C++ プロジェクト:MFCアプリケーション OS:Windows XP Professional SP2 以下のようにコーディングを行い、任意の終了コードを指定しているつもりですが、 コマンドラインよりプログラム実行後、「echo %errorlevel%」を実行しても 0しか表示されずうまくいきません。 --------------------------------------------------------------------------- // 終了コード用グローバル変数 int g_nRetCode; BOOL CXXXXXApp::InitInstance() { ~~~省略~~~ CWinApp::InitInstance(); ~~~省略~~~ g_nRetCode = Main(); // メイン処理 ~~~省略~~~ return FALSE; } int CXXXXXApp::ExitInstance() { ~~~省略~~~ CWinApp::ExitInstance(); return g_nRetCode; } --------------------------------------------------------------------------- 上記開発環境で任意の終了コードを返すには、どのようにコーディングすれば よいのでしょうか?

  • VC++(MFC) とVC++,NETの違いと今度の需要

    VC++(MFC) とVC++.NET の違いと今後の需要についてです。 IT関係のものではないですが、パソコンが好きで 独学でプログラムの勉強をしようと考えています。 C言語は大学のカリキュラムで習った程度で、 Javaの文法的な独学の経験は多少あるという程度の者です。 まず、質問なんですが 「Visual Studio .NET 2005」を使用してできるのは、VC++(MFC)ではなく、VC++.NETの方ですよね? 「Visual Studio2008 Express Edition」もVC++.NETですかね? 従来のVC++(MFC)をやるにはどうすれば?まだ売っているんですか? (企業の求人にVC++(MFC)と限定して書いてあったので) また、無償のExpress Editionだとこれ以上の機能のフリーソフトは 作れないよ~みたいな制限なんかあれば教えてください。 メインの質問に戻りますが、 同じVC++でも MFCと.NET Freamework(,NET言語)じゃ ネイティブコードを吐き出さない(.NET)とは、処理速度が 違うんじゃないのかなぁーと思いまして。(よく理解してませんがw) それで、今後自分で勉強していくにあたって、どちらをすべきで 需要があるかなど迷っているんです。 それと合わせて、SQLデータベースを勉強するに当たってですが、 個人で勉強するには、何がいいかなと思いまして。 なんかオラクルなんて個人レベルじゃとっつきにくいんです。 MS-AccessかMySQL(Linux)でやってみようかと思うんですが スキルアップ(実用的ですかね)になりますかね? 現在Cent OS 4でMySQLが動くようにはしています。 また、何を作るかによって違ってくるとは思いますが、 何言語でwindowsアプリケーションを作り、そのアプリケーションから データベースに接続し、データを取得、表示、更新するようなものが一般的と思いますが、言語とデータベースの開発環境の組み合わせの 選択が、企業などの開発業務に携わったことがないので、 わかんないんです。 言語はこれで、データベースはこれ、で「******が出来るアプリケーション」を作ってみては?みたいな進めやすい例はないものでしょうか? いろいろ調べてるんですが、初心者向けに文法的なことは書いていますが、アプリケーションを実際に作りながら進めていく、VC++.NET(クライアント側windowsアプリケーション(画面))とAccess(サーバ側)を使用した、「個人用データ管理システム」みたいなのが見あたらないんです。 言語文法ばかり勉強しても、個人(自宅レベル)では 具体的な作品を作らないと実感が沸いてこないので。。。 いろんな情報教えていただけませんか? 調べる努力はしていますが、前に進まず、悔しいです(>.<) お願いします!

  • VC++でActiveXコントロールを作りたいのですが

    IEから <OBJECT CLASSID="CLSID:***"></OBJECT> で使えるActiveXコントロールを作りたいのですが、よくわかりません。 VC++では、MFC ActiveX ControlWizard で、ActiveXコントロールが作れるようですね。とりあえずプロジェクトを作って、そのまま何もしないActiveXを作って、ブラウザで表示したいと思っても、どのようにしたらいいのか、そこから分かりません。 HTMLを書いて、ブラウザで表示させようとしてますが、何か抜けていたり、おかしかったりするでしょうか。 かなり情報不足かもしれませんが、何かヒントがいただければと思います。よろしくお願いします。

  • コントロールでのフォーカスの取得

    WNDOWSXP + VC++2010Express + SDKです。VC++ExpressなのでMFCなどは使えません。 ウィンドウのフォーカスの取得方法について質問します。 メインウィンドウにコントロールを3つ貼り付けます。 エディットコントロール2つと、自分で作成したコントロールが1つです。 自分で作成したコントロールのウィンドウプロシージャは仮に↓こんなものだとします。 LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) { if(message==WM_KEYDOWN) { if(wParam=='A'){ MessageBox(NULL,_T("A"),_T("KEYDOWN"),NULL); } return 0; } return DefWindowProc(hWnd, message, wParam, lParam); } プログラムを起動し、エディットコントロールAをクリックすると エディットコントロールAにフォーカスが移動します。 キーボードのAボタンを押下すると、エディットコントロールAに「a」と入力されます。 エディットコントロールB、自分で作成したコントロールは無反応です。 エディットコントロールBをクリックすると、エディットコントロールBにフォーカスが移動します。 キーボードのAボタンを押下すると、エディットコントロールBに「a」と入力されます。 エディットコントロールA、自分で作成したコントロールは無反応です。 次に、自分で作成したコントロールをクリックした場合、 フォーカスはエディットコントロールBにあります。キーイベントなども エディットコントロールBのみが反応します。 ここで、自分で作成したコントロールをクリックした場合に 自分で作成したコントロールがフォーカスを取得し、 キーイベントなどを独占的に受け取れるようにしたいのですが、方法がわかりません。 どなたか方法をご存知の方がいらっしゃいましたら、ご教授いただけないでしょうか。

  • VC++ExpressEdition2005でのMFC利用

    Visual Stdio Express Edition 2005 C++のMFCに関して質問させてください。 とあるプロジェクトをコンパイルしますと, "AFXWIN.H":No such file or directoryとのエラーが出ます。 調べて見たところ,AFXWIN.hはMFCだと言う記述を目にしました。 そして公式サイトの記述によりますと, >MFCとATLはVisual C++ 2005 Express Editionには含まれません。MFCとATLは、その他のすべてのVisual Studio2005エディションに含まれる予定です。 なのだそうです。 ですので,MFCを含むプログラムをこのソフトでやるのは無理かな? と思ったのですが,PSDKをインストールすればExpressEditionでも出来る, という事も聞きました。 結局真実がどうなのかがわからなくなってしまいました。 Visual C++ 2005 Express EditionではMFCは使えるのかどうか? またもしExpressEditionで使えないのならば,どれなら使えるのか?(Standard?Professional?) ご存知の方いらっしゃいましたらご鞭撻どうぞ宜しくお願いいたします。

  • VC2008でリボンコントロールを使う

    VC2008 Express Edition SP1 (DVDからインストールしました。) を使っています。 MFCのリボンコントロールを使いたいのですが、FeaturePackをインストールしようとすると、 None of the products that are addressed by this software update are installed on this computer. Please click Cancel to exit setup. と出てインストール出来ません。 PCにインストールされているVisualStudioは、 Visual Basic 2008 Visual C# 2008 Visual C++ 2008 です。。それもExpressEditionです。

  • コントロールのフォーカスが横取りされた場合の対応

    VC++(6.0)/MFCにてアプリを開発しています。 メイン画面上にリストボックス・リストビュー・ボタンの各コントロールを配置し、 ユーザがいつでも操作できるようになっています。 そこで、ユーザがリストボックス等をマウスにてスクロール中に、バックグラウンド 処理でモーダルダイアログを表示すると、マウスダウン中に突然フォーカスが失われ るため操作中のコントロールに対しマウスアップメッセージが送信されずモーダルダ イアログ側へフォーカスが強制的に移動してしまいます。 操作中のコントロールは、マウスアップイベントが送信されていないため、奇妙な動 きをするようになります。 この場合、画面上の全てのコントロールに適応可能な「フォーカスが失われたよ」的 な処理を実装したいのですが、どのようにすればよいのでしょうか。 現在は、コントロール単位でオーバーライドしてLostFocus等で処理しています。 よろしくお願いします。

専門家に質問してみよう