一行のEditBoxを複数おいてプログラムを実行したときに、Tabキーでカーソルが移動しますよね?
おそらく普通にしているとBoxを配置した順に移動していくのですが、順番を変えたいんです。どこかで設定は出来ますか?教えてください。

A 回答 (1件)

今晩は!!


どのEditBoxの上かで右クリックして、出て来たメニューの「タブ順序」をクリックします。
移動したいコントロールをクリックして、右の方の上矢印と下矢印で変える事ができます。
では、
    • good
    • 0
この回答へのお礼

回答ありがとうございました!
おかげさまでタブ順序を変更することが出来ました。

お礼日時:2002/01/21 17:06

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

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

QエディットでEnterキーでのTAB移動

Win32APIを使ってプログラミングしています。
通常はTABでフォーカスを移動するのが良いと思うのですが、Enterキーで移動させたいと思います。
ところが、一行のエディットだとEnterキーを押すとビープ音が鳴ってしまいます。
フォーカス移動はできるのですが、ビープ音を鳴らないようにするにはどうすればいいのでしょう?
多分WM_KEYDOWNかWM_KEYUP、WM_CHARのどれかで書けばいいと思ってるんですが…
よろしくお願いします。

Aベストアンサー

エディットコントロールのウィンドウ処理関数において
switch(wM)
{
..............
case WM_CHAR:
switch(wP)
{
..............
case VK_RETURN:
SetFocus(次のフォーカス先のウィンドウハンドル);
break;
..............
}
return 0;
..............
}

QTabコントロールに貼り付けたダイアログ内のフォーカス移動について

Tabコントロールを使ったソフトを製作中です。

各Tab内のダイアログは、CHILDフラグの付いたウインドウをリソースで作っておき、CreateDialog関数で作成し、TCN_SELCHANGEメッセージを拾ってShowWindowでどのダイアログを見せるかを切り替えています。

マウス操作は問題ないのですが、キーボードのタブキーによるフォーカスの移動がうまくできません。子ダイアログ内の各コントロールを移動させたいのですが、どこにフォーカスがあっても、1回タブキーを押すとTabコントロールにフォーカスが移り、それ以降どこにも移動しないという状態です。

何かメッセージをうまく処理していないのでしょうか?解決策があればご教授お願いします。

Aベストアンサー

★『WS_TABSTOP』は付いている?
・リソースで作っている CHILD フラグ付きのダイアログに WS_TABSTOP が付いていれば
 TAB キーで移動できるのでその後にキーボードでもフォーカスを移動できませんか?
・あるいは CHILD フラグ付きのダイアログの最初のコントロールに WS_GROUP が付いてると
 Tab コントロールから矢印キーだけでの移動は出来ないと思います。
 ダイアログの WS_TABSTOP、WS_GROUP スタイルを確認してみて下さい。
・以上。

QEditBoxのサブクラス化

いつもお世話になっております。
現在、EditBoxのサブクラス化についてやっておりまして、詰まってしまったのでお聞きしたいです。

EditBoxにおいてENTERとESCAPEを押下されたときにある処理をしようとしてサブクラス化をしたのですが、その結果その他のキーが受け付けられなくなってしまいました。
defaultで何かすればいいかと思いいろいろやってみましたがよくわからなかったのでアドバイスお願いします。
現在のソースは以下のとおりです。

LRESULT CALLBACK EditProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
 switch (uMsg)
 {
  case WM_KEYUP:
  {
   if (wParam == VK_RETURN)
   {
    // 処理
   }
   else if (wParam == VK_ESCAPE)
   {
    // 処理
   }
  }
 break;
 }
 return false;
}

ここでENTERとESC以外は普通に入力したいのですがどのようにすれば実現できるかアドバイスお願いします。

環境は
WindowsXP SP3
Visual Studio6.0
です。よろしくお願いします。

いつもお世話になっております。
現在、EditBoxのサブクラス化についてやっておりまして、詰まってしまったのでお聞きしたいです。

EditBoxにおいてENTERとESCAPEを押下されたときにある処理をしようとしてサブクラス化をしたのですが、その結果その他のキーが受け付けられなくなってしまいました。
defaultで何かすればいいかと思いいろいろやってみましたがよくわからなかったのでアドバイスお願いします。
現在のソースは以下のとおりです。

LRESULT CALLBACK EditProc(HWND hWnd, UINT uMsg, WPARAM ...続きを読む

Aベストアンサー

 こんばんは。

 ↓此れを呼び出す筈だったと思います。
 ::CallWindowProc(/*以前のエディットボックスが使っていたプロシージャ*/, hEdit, uMsg, wParam, lParam);

 以前のプロシージャは
 WNDPROC wndOldEditProc = (WNDPROC)::SetWindowLong(hEdit, GWL_WNDPROC...);
 の戻り値から取れます。

Qダイアログ中のタブキーによるカーソルの移動

MFCでダイアログを使ったアプリケーションを
作りました。

実行時に、ダイアログで
入力項目が10個くらいあるのですが、
タブキーで移動しようとすると、
カーソルが入力ボックス並びとは全く関係なく、
あっちこっち飛んでしまいます。

どうやら入力ボックスを作った順番に
飛んでいるらしい?のです。

入力ボックスの順にタブキーが移動するように
できる方法がありましたら、
教えてください。

参考HPやヒント、キーワードだけでも
大変助かります。

よろしくお願いします。

Aベストアンサー

タブオーダーを変更することで対応できます。
変更方法は、以下の通り。

1) メニューの「レイアウト」-「タブオーダー」を選択すると、部品毎に番号が表示されます。これがタブオーダーです。

2) この状態で、任意の部品をマウスでクリックすると、クリックした順に番号が変わります。

3) もう一度、メニューの「レイアウト」-「タブオーダー」を選択すると、タブオーダー変更モードから抜けます。

Q単語の後ろにカーソルを移動させたい

VisualStudio(ほかの環境でも構いません)で、単語の後ろ側にカーソルを移動したい場合どのように操作すればいいでしょうか?

int hoge;

とあった場合に、

int hoge;
↑(hの前にカーソルがあるとき)

int hoge;
↑(tの後ろにカーソルを移動させたい)

このような移動方法は存在してますか?
マクロならできるでも構いません。

よろしくお願いします。

Aベストアンサー

すいません。
VS2008では、Ctrlキー + →キー を連続して押すと、単語の先頭→単語の末尾→次の単語の先頭→次の単語の末尾→・・・と移動しますが、
確認したところ、VS6.0では、先頭しか移動しないようです。
バージョンは何でしょうか?


人気Q&Aランキング

おすすめ情報