editBox = CreateWindow(
  "EDIT",
  "あああ",
  SS_CENTER | WS_CHILD | WS_VISIBLE,
  0,0,100,20,
  hWnd,
  NULL,
  hInstance,
  NULL);


テキストボックスのフォーカスを外すにはどうしたら
いいんですか?
ESCキーでフォーカスを外そうと思ったら、
テキストボックスにフォーカスがあるせいで
case WM_KEYDOWN が動作しません。
フォーカスを外すというソース自体も分かっていません。


 case WM_KEYDOWN:
  if( wParam == VK_ESCAPE )
   ?
 break;

A 回答 (1件)

WM_KILLFOCUS というメッセージがあります。

これをエディットボックスのウィンドウに
送ってあげれば、フォーカスが外れると思います。

# WIN32 API なんて、久しぶりなので、ちょっと自信無し
    • good
    • 0
この回答へのお礼

ありがとうございます。
WM_KILLFOCUS を送ればいいですね。
まだ、msg に WM_KILLFOCUS を送る方法を知らないから
また別の質問で教えてもらおうと思います。

お礼日時:2002/01/18 01:03

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Q一眼レフカメラにオートフォーカスはないですよね?

普通のビデオカメラにオートフォーカス機能がついていますが、一眼レフカメラにはないですよなね?

Aベストアンサー

静止画のオートフォカスについては、他の方の回答をご覧ください。

従来、動画撮影ではオートフォーカスが効かないのが常識でした。
しかし、厳密にはミラーレスなので一眼レフとはいいがたいのですが、レンズ交換式でパナソニックの
LUMIX DMC-GH1(2009年発売)などで動画撮影中のオートフォーカスが実現されるようになり、
高級機では動画撮影中のオートフォカスが実現されるようになりました。

たとえば、ニコンのD300Sでは、カメラ本来のTTL位相差検出方式ではありませんが、動画撮影中はコントラストAF方式で動作させるようになりました。
http://www.nikon-image.com/products/camera/slr/digital/d300s/features03.htm
またソニーのα55は、透過ミラーで動画撮影中のオートフォーカスを実現しています。
http://www.sony.jp/CorporateCruise/Press/201008/10-0824/

QWM_CHAR or WM_KEYDOWN の「wParam」について

よくわかっていないのですが、

switch (message)
{
case WM_CHAR:
というところで、wParamから、文字の情報取得して、
HDC宣言して、TextOut関数使用…、の途中で、
wParamの文字情報は、どのようにすれば
TextOut関数に渡せるのでしょうか?
Visual C++を勉強したてで、勉強の成果をと思い、
テキストエディタを作ってみたいと思ったのですが、
さて、どうしたらよいのでしょうか?
エラー内容は、unsigned int → const char *
にできません、ということなのですが、
じゃぁ、型の変換の仕方は?という感じです。
初心者なので、簡単な例をつけて説明してくださると助かります。よろしくお願いします。

Aベストアンサー

TextOut(~, (char*)wParam, ~);

と、char*型に型変換すると良い気がします。

--
TextOut関数の宣言、

TextOut(~, (const char*)szText, ~);

のconstキーワードは、
「TextOut関数に渡したwParamの値をTextOut関数の内部で書き換えることはありませんので安心してね。」
という意味ですので、

unsigned int
long double

などの2つの単語で宣言される「型」とは意味合いが異なります。
ヘルプの説明ですと釈然としませんが、参考URLなどを読んでみてください。

プログラマの正体!? - 誰が為にconst
http://www.asahi-net.or.jp/~vx2t-andu/lets/20020203.html

参考URL:http://www.asahi-net.or.jp/~vx2t-andu/lets/20020203.html

Qライカカメラのオートフォーカス

ライカのMシリーズはレンズを交換できると思いますが、
これらのレンズはすべてマニュアルフォーカスなのでしょうか?
オートフォーカスのレンズは出ていませんか?
また今度発売されるデジタルカメラM8もやはりマニュアルフォーカスレンズのみなのでしょうか?

ライカに詳しい方、ご回答お願いしますm(_ _)m

Aベストアンサー

 potepotenさん こんばんは

 ライカMシリーズのカメラは、残念ながら最新のM7であってもオートフォーカスと言う便利な機能は有りません。したがってライカMシリーズに対応するレンズは全てマニュアルフォーカス用のレンズです。

 近い将来発売されるM8はデジカメと言われていますが、多分ライカの考えからしてオートフォーカスは搭載されないと思います。理由として、今まで発売された各型はM3~M7に至までそれまで発売されたバルナックライカ用のLマウントレンズを含めて全て同じ環境で使える環境を整えているのが特長だからです。もしM8がオートフォーカスを採用したとしたら、フランジバックを長くして、中間に現行のM型叉はL型のレンズに対応したオートフォーカス対応のマウントアダプターを作ると思います。そんな事をしたらM5以外のM型ライカの形状を変える事になってしまいます。そう言うことは多分ライカはしないと思いますから、M8もMFのカメラで作られると思います。

QダイアログのWM_KEYDOWNで処理を実行したい

現在、VC++6を用いて、MFC を使わずにアプリケーションを作っている初心者です。
最終的にはWIN_CEハンディーターミナルで動作させる予定です。

ダイアログにフォーカスがある状態で、"↓"キー入力があった場合に処理を行いたいのですが、
ダイアログ及び親ウインドウにWM_KEYDOWNが発生していないみたいなのです。
(SPY++にて確認しました。)

DialogBox、CreateDialogの両方でやってみたのですがうまくいきません。
なにか良い方法はありますか?
よろしくお願いします。

Aベストアンサー

詳しくないのでトッケンハッケンかもです。

IsDialogMessage関数は使ってますか?
この関数、タブキーが押されるとフォーカスを移したり、
[↓]キーが押されると次のコントロールを選択してくれたり
するっぽいんですが。

リンク先はMSDNのIsDialogMessageのところです。

参考URL:http://www.microsoft.com/JAPAN/developer/library/jpuipf/_win32_isdialogmessage.htm

Qフィルムカメラの種類やオートフォーカス機能などについて教えて下さい

事情があってカメラの機能についていろいろ調べています。

●フィルムカメラのピントの合わせ方としては…
1.一眼レフカメラのようにレンズを回しながらピントをあわせる
2.所謂バカチョンカメラ。オートフォーカスであわせる
3・使い捨てカメラのように半押しも必要なし

この三種類しかないのでしょうか?

●それと、オートフォーカスというのは「半押し→撮影」のことを指すのでしょうか?

●デジカメには
aコンパクトカメラ
b本格的な写真を撮るための機能がついた一眼レフカメラに近いコンパクトカメラ
c一眼レフ
……の三種が主に家電店で販売されていますが、bのようなポジションのフィルムカメラってあったんでしょうか?

どれか一つでも、または分かる範囲でも構いませんのでどなたか教えて下さいませんでしょうかm(--)m

Aベストアンサー

ピント合わせ:
・離れた位置に有る鏡をファインダーから見える絵と重ね合わせてズレが最小になった時にピントが合った事にする物や
・赤外線や超音波をカメラから物体に発射して距離を測定して、その分のレンズを動かしてピントを合わせる物や
・入ってきた光の量を計算して(量が最大になった時がピントが合った時なので)その時にレンズを動かすのを止める機構を持った物や、
他にも沢山ピント合わせの機構はあります。

超音波や赤外線なんて真っ暗でもピント合わせできるのですごかったんですけどねぇ(でも真っ暗だと写らない(^^;)

●それと、オートフォーカスというのは「半押し→撮影」のことを指すのでしょうか?
 オートフォーカスは、カメラがピント合わせの操作をしてくれる方法です、半押し→撮影は、写真を撮る時の手順の一つです。
 半押ししても何もしないカメラがありますので。

レンズが交換できない一眼レフカメラというのがありましたし、マニュアルフォーカスのコンパクトカメラや、シャッタースピードや絞りを自分で調節できるコンパクトカメラは多々あります。

バカチョンの言いまわしはコンパクトカメラになりました。

ピント合わせ:
・離れた位置に有る鏡をファインダーから見える絵と重ね合わせてズレが最小になった時にピントが合った事にする物や
・赤外線や超音波をカメラから物体に発射して距離を測定して、その分のレンズを動かしてピントを合わせる物や
・入ってきた光の量を計算して(量が最大になった時がピントが合った時なので)その時にレンズを動かすのを止める機構を持った物や、
他にも沢山ピント合わせの機構はあります。

超音波や赤外線なんて真っ暗でもピント合わせできるのですごかったんですけどねぇ...続きを読む

QWM_PAINTとWM_MOVEで同じ事をしたいけど

VC.NETにて、
ウィンドウプロシージャでWM_PAINTとWM_MOVEを拾って、テキストを書き直す関数に飛ばしているのですが、WM_MOVEでは書き直してくれません。
書き直し関数はウインドウの座標の絶対と相対をGetClientRectとGetWindowRectで得て表示をするだけです。
WM_MOVEでも関数に飛んで、座標を得てはいるようですが、表示しなおしてくれません。
ウインドウの大きさを変えると表示し直してくれます。
何故でしょうか?

Aベストアンサー

>hdc = BeginPaint(hWnd, &paint);
と、
>EndPaint(hWnd, &paint);

これはWM_PAINTの中でしか使用できません。

WM_MOVEで描画を行うのでしたらGetDC()、ReleaseDC()を使用してください。

Q《ウェブカメラの映像にソフトフォーカス効果をかける方法はないでしょうか

《ウェブカメラの映像にソフトフォーカス効果をかける方法はないでしょうか》

電化製品店でウェブカメラを安価で購入しました。
Skypeで英会話のレッスンを受ける際 一部で使用の予定ですが
あまりにくっきりはっきり写るため もう少し目にやさしく見えないものかしら
と思案中です。
明度 鮮度 色合いなどいろいろ工夫しましたが
すこし凸に写る顔にはソフトフォーカスでもかけたいな、と(笑)

レンズのすぐ前にサランラップを当ててみましたが 何の変化もなし。
フィルターの役割にはならないようです。


高価なレンズなら可能なのでしょうか。
でも 高価なものを新しく買い求める余裕はありません。


名案をお待ちしています☆

Aベストアンサー

軽く油を塗ればソフトフォーカスがかかります。
(クリームなどで大丈夫でしょう)

QWM_SIZEとWM_SIZINGの違い (Win32API)

Windowsプログラミングで、画面のサイズを変更したときに送られてくるメッセージで、
WM_SIZEで処理するのとWM_SIZINGで処理するのとでは何が違うのでしょうか?
WM_SIZEとWM_SIZINGの違いは何なのでしょうか?

また、似たようなものでWM_MOVEとWM_MOVINGの違いも教えてもらいたいです。

Aベストアンサー

実際にプログラムを書いてみれば、両者の違いは明白になるでしょう。

WM_SIZE は「サイズの変更後に」メッセージがアプリケーションに飛んでくるので、
ウィンドウのコーナーからマウスを離した時に文字がビョンと移動します。

Windows98 くらいまではウィンドウのサイズの変更はまずは輪郭だけサイズが変って
マウスをコーナーから離した時にウィンドウの中身が再描画されていたので、
WM_SIZE のメッセージハンドラを実装することになったでしょう。

しかし最近のインターフェイスはサイズ変更中もズリズリとウィンドウの中身が
再描画され続けます。これには WM_SIZING のメッセージハンドラを実装して、
サイズ変更中常に文字列の再描画を繰り返す必要があるでしょう。

Q一眼レフのカメラで絞りを絞ったときのフォーカス合わせについて

一眼レフのカメラ初心者です.

CANON EFというカメラを所持しています.
絞りを手動で絞ったとき,ファインダー内が暗くなるので
フォーカスが合っているのか良く分かりません.
レンズに入ってくる光量が少なくなるので暗くなるのは分かりますが,
どうやって確認すればいいのでしょうか?
玄人の方には初歩的な事かも知れませんが,よろしくお願いします.

Aベストアンサー

> 絞りを手動で絞ったとき,ファインダー内が暗くなるので
> フォーカスが合っているのか良く分かりません.
・キヤノンEFか自動開放測光機種ですから、絞りをAマークや○マークから解除してもファインダー像は暗くなりません。

現在、そのカメラは、絞り込み実絞りモードに設定しているから暗くなるのじゃ。
つまり、、、
1・セルフタイマーレバーを右に倒れていて。
2・セルフタイマー下の絞り込み測光レバーを真ん中の「L」にセットしているからだよ。

通常の撮影時は、
1・セルフタイマーは中央。
2・セルフタイマー下の絞り込み測光レバーは右側にセットして使うのじゃ。

もしも、通常の撮影時の設定でも、ファインダーが暗くなるようだと、EFは故障していますぞ。

QSendMessage(hW,WM_CREATE,0,0);を

SendMessage(hW,WM_CREATE,0,0);
を実行するとシステムがWM_DOWNやWM_CHARを発行しなくなるみたいです
というのはそれ以降キー入力を無視するようになるのです
いったんアプリをアイコン化してウィンドウ化するとWM_DOWNやWM_CHARを発行するようになります
WM_CREATEを送ってもWM_DOWNやWM_CHARを発行しなくなるのを阻止するために何か方法はないでしょうか?

Aベストアンサー

>プログラムのイニシャライズのために送ったのですが送らないで住むプログラムに変更しました

普通はそんな方法はとりません。
システムが何をするか分からないからです。

自分でメッセージを定義して、初期化処理を行うようするためのメッセージを送るほうが無難です。
WM_CREATEと同じ処理を初期化処理として行わせたいのであれば、初期化処理を関数化して自分で定義したメッセージでも呼び出せばいいのですし。


>作ったプッシュボタンを押してシステムがWM_COMMANDを送ってきた後キー関係のメッセージを送ってくれなくなります

プッシュボタンがキーボードフォーカスを持ってのるでは?

ボタンがキーボードフォーカスを持っていてもキー関連のメッセージを親ウィンドウが受け取りたいのであれば、サブクラス化をするしかないでしょう。


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング

おすすめ情報