エディットボックスの非表示方法

このQ&Aのポイント
  • エディットボックスの非表示方法について教えてください。
  • 現在、MFCによる、スケジュール管理システムを作成中です。クライアント/サーバ型で行っています。
  • IDとパスのエディットボックスは表示されたままになります。その表示を非表示に切り替えたいのですがどのようにしたらいいのかわかりません。
回答を見る
  • ベストアンサー

エディットボックスの非表示方法

 はじめまして。  プログラミング初心者です。  エディットボックスの非表示方法について教えてください。  現在、MFCによる、スケジュール管理システムを作成中です。クライアント/サーバ型で行っています。  クライアントの画面において、スケジュールを見ることが可能です。ただ、変更や追加などを行うときは、ID、パスワードを入力してログインする必要があります。  そのログイン方法は、スケジュールを見る画面にIDとパスワードのエディットボックスがありますので、そこに入力し、サーバでID、パスのチェックを行い一致すると、ログイン状態になり、ログオフボタンが表示されます。  しかし、IDとパスのエディットボックスは表示されたままになります。  その表示を非表示に切り替えたいのですがどのようにしたらいいのかわかりません。  開発環境は、Windows2000およびWindowsNTです。  ツールはVC++6.0です。  よろしくお願いします。

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

  • ベストアンサー
  • ShaneOMac
  • ベストアンサー率39% (356/898)
回答No.2

ただ不要なコントロールとして残るので邪魔だという場合は、認証事項の入力部分をModalダイアログで起こしてやった方が自然かもしれません。 またコントロールをそのメインのダイアログに残すなら、非表示にするのではなく、有効・無効の切り替えにした方がデザイン上の統一性が保てるような気がします。 CWnd::EnableWindow(BOOL bEnable);

その他の回答 (1)

回答No.1

BOOL CWnd::ShowWindow()

関連するQ&A

  • VC++のエディットボックスの非表示

    VC++で、ダイアログを作りました。 エディットボックスを置いているのですが、 このエディットボックスは始めは非表示(入力を受け付けない)にするため、 このエディットボックスのプロパティにある "Disable"をtrueにして"Visible"もtrueにしました。 そこまではよかったのですが、 「入力」ボタンを押すと、エディットボックスが白く表示され、入力を受け付けるというようにしたいのですが、 エディットボックスのプロパティを変更する関数というのはあるのでしょうか? いろいろ検索などをしているのですが、方法がわかりません。よろしくお願いします。

  • エディットボックスのカーソルが表示されない

    長いこと悩んでいますが、解決出来ないでいます。 お知恵を拝借したいと思います。 VC5.0, SDK, WinXPでの開発を行っています。 今、リストビューで直接書き込みをさせる為に、 リストビューのクリックされた位置にエディットボックスをかぶせて表示させてあたかも直接編集させているように見せています。 実際のエディットボックスの表示や書き込み等はうまく行っているのですが、表示したエディットボックスにSetFocusをしても、カーソルが表示される場合とされない場合が出てきています。 親画面を表示し、最初にリストビューをクリックした時のエディットボックスにはきちんとカーソルが表示されます。 しかし、2度目以降はまったくカーソルが表示されません。 ただ、フォーカスはあたっているのか、文字入力は正しく行われます。 また、エディットボックスでリターンキーを押されたタイミングでエディットボックスを破棄し、リストビューに文字列を反映させているのですが、このリターンキー押下後にエディットボックスを表示させた時はカーソルも表示されます。 エディットボックスの破棄には、上記リターンキーもしくはエディットボックスからフォーカスが無くなった時に行っているので、 この時の破棄のタイミング等の問題でカーソルが出たり出なかったりしているのだろうと色々調べているのですが、どうしても分かりません。 実際エディットボックスにフォーカスが当たっていればカーソルは自動的に出るものだと思っていたのですが、出ないという現象は何に問題があるのでしょうか? エディットボックス有効処理 Show( SW_SHOW ); BringWindowToTop( hwnd ); SetFocus( hwnd ); エディットボックス破棄(無効)処理 Show( SW_HIDE ); アドバイスを宜しくお願い致します。

  • エディットボックスのカーソル取得方法

    複数のエディットボックスがあり、マウスで選択したエディットボックスに文字列を表示させたいのですが、うまくいきません。使用ツールはVC++です。

  • エディットボックスの改行について

    よろしくお願いいたします。 環境 WIN98 VC++6.0 MFC にて 改行が可能なエディットボックスのデータをテキストファイルに保存すると、エディットボックスと同様に改行されて保存されます。 ファイルからデータを読出し、エディットボックスに表示する場合もちゃんと改行されていて問題ありません。 ここで、エディットボックスが2つあり、それぞれのエディットボックスのデータが2行あったとすると、ファイルには4行保存されます。 次にファイルからデータを読出し、エディットボックスに表示する場合、1個目のエディットボックスのデータが2行と分かっていれば良いのですが、そうでない場合は何行読み出してエディットボックスに表示すれば良いか分かりません。 そこで、1個目のデータを保存する時に、最終行の次の行にendという文字を保存することにしました。 これで、読み出すときはendを目印に必要な行数を読み出せます。 しかしながら、エディットボックスの文字の中にたまたまendが使われるとうまく行きません。 長くなりましたが、このような場合、一般的にはどのようにして対処すれば良いのでしょうか? お分かりの方よろしくお願いいたします。

  • VC++2010 エディットボックスに値を表示

    現在、VC++2010 MFCでアプリケーションを作成しています。 そこで質問なんですが、 エディットボックスに値(今回はADボードからサンプリングした電圧値)をSetWindowTextや、UpdateData(FALSE);をつかってエディット表示などをしたんですが、これを毎秒表示しようとすると(SetTimer()で毎秒、ADボードで電圧値をサンプリングしエディットボックスに表示)7分後くらいにパソコンがフリーズしてしまいます。どのようにしたらフリーズされないか よろしくお願いします。

  • VC++6.0 エディットボックス小数点表示

    VC++6.0 エディットボックス小数点表示のサンプルがあるサイトあれば お教えください

  • エディットボックスで改行

    お世話になっております。 VC++でプログラムを組んでおり、下記の要領でエディットボックスに文字を表示しています。 _itoa(inputData[i], receivedChar, 16 );//数値を文字列に変換 SetDlgItemText(argThr1->hWnd, IDC_EDIT2, receivedChar); このとき、エディットボックス内で、任意の位置で改行しながら表示する方法はありますでしょうか? よろしくお願い致します。 表示例 ABC(改行) DEF(改行)

  • スピンボタンとエディットボックスの連携

    VC++でスピンボタンを押すと値が1増えて、それが計算式に反映され、エディットボックスの値を変えるとそれも計算式に反映される。 というスピンボタンとエディットボックスを連携したプログラムの作成が上手くいきません。 エディットボックスのメッセージは何を用いればいいのでしょうか。具体的にはエディットボックスに値を入力し、エンターキーをクリックした時にすぐに計算式を実行できるようにしたいのですができません。そのやり方がわかりません。 できたとしてもスピンボタンとの連携が上手くいきません。何かよい方法はないか教えてください。

  • GetAt・SetAtを用いてエディットボックスに表記するにはどうすれば良いでしょうか?

    VC++の初心者です。エディットボックス1で"ON"または"OFF"を入力し、エディットボックス2に"ON"の場合は1を表記し、"OFF"の場合は2をGetAt・SetAtを用いて、表記させたいのですが。初歩的な質問ですみませんが、どうぞよろしくお願い致します。

  • エディットボックス

    VC++、APIでwindowsプログラムを書いています。ダイアログボックスで質問があります。 case WM_INITDIALOG: SetDlgItemText(hDlg, IDC_EDIT1, "0"); return TRUE; で読み取り専用エディットボックス内に初期値を書き case WM_CTLCOLORSTATIC: { HDC hdc = (HDC)wParam ; SetTextColor( hdc, RGB( 255, 255, 255)) ;// 白色 SetBkMode(hdc, TRANSPARENT); // 背景を透過 return (BOOL)(HBRUSH)GetStockObject(NULL_BRUSH) ; } でダイアログボックス内のスタティックテキストと読み取り専用エディットボックスの背景を同時に透過させているのですが、エディットボックス内の文字を void ddd( HWND hDlg, int xxx) { char ttt[100]; sprintf(ttt,"%d",xxx); SetDlgItemText(hDlg, IDC_EDIT1, ttt); return ; } で書き換えると古いテキストが残ったように表示されます(背景に色を指定すれば古いテキストは残らない)。 うまく表示させるにはどういった方法があるでしょうか? ご存知の方、よろしくお願いします。 ちなみにダイアログボックスにはビットマップが貼ってあります。

専門家に質問してみよう