• ベストアンサー

ビジュアルC++でボタンの有効/無効

bluecampusの回答

  • ベストアンサー
回答No.4

みているサンプルは 「Windows フォームアプリケーション」 で作成したプロジェクト用のものではありません。 どのタイミングで有効・無効を切り替えるかわかりませんが、 Enabledプロパティで変更できませんか? this->button1->Enabled = false; // 無効 Control::Enabled プロパティ http://msdn.microsoft.com/ja-jp/library/system.windows.forms.control.enabled.aspx

saver00
質問者

お礼

回答ありがとうございます! ビルドに成功し、ボタンの無効に成功しました 重ねてありがとうございます^^ 下記3名の方々も、。すばやい対応ありがとうございました^^

関連するQ&A

  • 別スレッドからメインダイアログのコントロールにアクセスする方法

    VC++2005 MFC WindowsXPを使用しています。 メインダイアログに作成したエディットボックスに フォーカスをセットしたいのですが、 別スレッドから行うにはどのようにすればよいのでしょうか? メインダイアログにあるボタンを押すと別スレッドの処理に入り、 その中でメインダイアログのコントロールを操作しようとしています。 //フォーカスをセット CWnd* MyEdit = ( CWnd* )this->GetDlgItem( IDC_EDIT1 ); MyEdit->SetFocus(); 宜しくお願い致します。

  • ダイアログ アプリで 複数のボタンの制御

    コーディング ConBtn->EnableWindow(FALSE); CanBtn->EnableWindow(TRUE); 二つのボタンを排他的制御したいのですが ConBtnが 押されたら そのボタンを無効にして(ここまでOK) 即 別なボタン(CanBtn)を有効にしたいのですが 一連の処理が終わらないと CanBtnが 有効にならない どなたかご教示お願いいたします。

  • CWnd::EnableWindow()の扱い方

     CWnd::EnableWindow()で有効、無効を切り替えるというのはわかりますが、エディットボックスの有効、無効を切り替えるにはどうしたらいいでしょうか? 現在MFCで開発していますが、エディットボックスのメンバ変数にはCStringを使っているので、EnableWindowの使い方がわかりません。 動作環境はWindows2000とNTです。 ツールはVC++6.0を使用しています。

  • Visual C++ 2008でCUDAプログラミング

    こんにちは。Visual C++ 2008でCUDAプログラミング経験のある方に質問です。 OS:Vista 64bit CUDA:ver2.1 で、SDKの中にあるサンプルプログラムsimpleCUBLASをビルドしたところ、 1>------ ビルド開始: プロジェクト: simpleCUBLAS, 構成: Release Win32 ------ 1>リンクしています... 1>LINK : fatal error LNK1181: 入力ファイル 'cutil32.lib' を開けません。 とエラーが出ました。 実際、SDKのlibフォルダには、cutil64.libはありますが、32はありません。 また、デバッグ構成でビルドしますと、今度はculti32D.libが開けないといわれます。 GPUはGeForce 9800 GTと新しいですし、 Visual C++も2005ではなく2008ですので、 周りのソフトが追いついてないということなのでしょうか・・・ どなたか、詳しい方がいらっしゃいましたら、ご教授おねがいします。

  • visual C#について

    マイクロソフトのVisual C# 2008 Express Editionをインストールして使用したのですが、何故かGUIの配置ができないんです。 上手く説明できないんですけど、例えばボタンを作ろうとしたらツールボックスから「Button」を選択して配置しますよね。しかし実際に配置してみると コンポーネント'Button'を生成できませんでした。エラーメッセージ: 'SystemInvalidProgramException:共通言語ランタイムが無効なプログラムを検出しました。  場所 System.Drawing.Design.ToolboxItem.GetType(IDesignerHost host,AssemblyName assemblyName,String typeName,Boolean reference) 長いので以下省略します。 というようなエラーメッセージが表示されます。 プログラムを打ち込んでボタンを作る方法もありますが、不便なのでツールボックスから配置したいんです。 非常に困っています。 どなたか解決法をお教えください。 よろしくお願いします。

  • c++ 電卓制作

    今使ったのはMicrosoft Visual Studio 2010のアプリ 以下のプログラムはダイアログボックス表示で0から9のボタン入れでます、普通の電卓作りたいです、計算のプログラムわからないので、どうすればいいですか? #include <windows.h> #include "resource.h" #include <tchar.h> // プロトタイプ宣言 BOOL CALLBACK DlgWndProc ( HWND , UINT , WPARAM , LPARAM ) ; void sub( int no , HWND hWnd ) ; static int cnt ; int a , b ; static int c ; // エントリポイント int APIENTRY WinMain ( HINSTANCE hInstance , HINSTANCE hPrevInstance , LPSTR lpCmdLine , int nCmdShow ) { DialogBox(hInstance , MAKEINTRESOURCE(IDD_DIALOG1) , NULL , (DLGPROC) DlgWndProc ) ; return 0 ; } /* ------ ダイアログボックスウインドウプロシージャ ----- */ BOOL CALLBACK DlgWndProc ( HWND hWnd , UINT message , WPARAM wParam , LPARAM lParam ) { TCHAR s[80] ; switch( message ) { case WM_INITDIALOG : cnt = 0 ; return TRUE ; case WM_COMMAND : switch ( LOWORD(wParam) ) { case IDC_1 : sub ( 1 , hWnd ) ; return TRUE ; case IDC_2 : sub ( 2 , hWnd ) ; return TRUE ; case IDC_3 : sub ( 3 , hWnd ) ; return TRUE ; case IDC_4 : sub ( 4 , hWnd ) ; return TRUE ; case IDC_5 : sub ( 5 , hWnd ) ; return TRUE ; case IDC_6 : sub ( 6 , hWnd ) ; return TRUE ; case IDC_7 : sub ( 7 , hWnd ) ; return TRUE ; case IDC_8 : sub ( 8 , hWnd ) ; return TRUE ; case IDC_9 : sub ( 9 , hWnd ) ; return TRUE ; case IDC_0 : sub ( 0 , hWnd ) ; return TRUE ; case IDC_CLOSE : EndDialog( hWnd , 0 ) ; return TRUE ; default : return FALSE ; } default : return FALSE ; } } /* ------------------------------------- */ /* 表示 */ /* ------------------------------------- */ void sub( int no , HWND hWnd ) { TCHAR s[20] ; cnt *= 10 ; cnt += no ; wsprintf( s , TEXT("%d") , cnt ) ; SetWindowText( GetDlgItem(hWnd , IDC_EDIT1) , s ) ; }

  • ボタンの有効と無効

    アクションスクリプトの初心者です。 いつも、お世話になっております。 ページtopにA,B,C,D四つのボタンがあります。 各ボタンを押すと、ページA、ページB、ページC、ページDへジャンプします。 ボタンAとB両方を押す前には、ボタンCとDは無効です。 AS2.0です。 流れはこうです。 最初Topページは、A,Bボタンは有効、C,Dボタンは無効の状態。 A(B)ボタンを押下→ページA(B)へジャンプ→戻るボタンを押下→Topページへ戻る。→B(A)ボタンを押下→ページB(A)へジャンプ→戻るボタンを押下→Topページへ戻る。→C,Dボタンが有効になり、押下すると各ページへジャンプする。 大元に以下のように書きましたが、なぜかうまくいきません。 どうぞご教授のほどよろしくお願いします。 btnA.onRelease=function(){ gotoAndStop(pageA);//ページAへジャンプ a = 1; } btnB.onRelease=function(){      gotoAndStop(pageB);//ページBへジャンプ b = 1; } if(0==a+b){ btnC.enabled = false; btnD.enabled = false; }else if(2==a+b){ btnC.enabled = true; btnD.enabled = true; }

    • ベストアンサー
    • Flash
  • 初回のスピンボタンの挙動

    下記コードを記入し、スピンボタンの増加をクリックすると 最初の一回目に触った時のみ値がマイナスされる現象がでます。 なぜでしょうか? 1)INIファイルから値を読み込みエデットボックスに表示する。 2)スピンボタンの増加をクリックすると、最初の一回目に触った時のみ値がマイナスされる (エデットボックスの値が50だとすると49になる) 3)再度INIファイルから値を読み込みエデットボックスに表示する。 4)二回目からマイナスされない。 (エデットボックスの値が50だとすると51になる) スピンボタンのOnDeltapos UDACCEL stUD; stUD.nSec = 1; stUD.nInc = 1; // ここで変化量設定 CSpinButtonCtrl* m_Spin=(CSpinButtonCtrl*)GetDlgItem(IDC_SPIN1); m_Spin->SetRange32(0,300); //レンジ CString str; ((CEdit*)GetDlgItem(IDC_EDIT1))->GetWindowText(str);//エディットから文字列を int a=atoi(str);//文字列を数字に変換 m_Spin->SetPos(a); //初期値 m_Spin->SetAccel(1,&stUD);//変化量 m_Spin->SetBuddy((CSpinButtonCtrl*)GetDlgItem(IDC_EDIT1));//エディットに関連付け 環境 Windwos XP,Microsoft Visual C++ 6.0

  • ボタンの表示変更方法

    いつもお世話になっております。 現在VC6.0を使ってボタンにアイコンを張ろうとしています。 リソースエディタを使って、ボタン(IDC_BUTTON)とアイコン(IDI_ICON)を 準備し、ボタンのプロパティでアイコンの欄をチェックした後 switch(message) case WM_INITDIALOG: { SendDlgItemMessage(hWnd, IDC_BUTTON, BM_SETIMAGE, IMAGE_ICON, (LPARAM)GetDlgItem(hWnd, IDI_ICON)); } return TRUE; としているのですが、実行するとなぜかボタンを押したときの処理が 繰り返されます。 ダイアログボックスのみのプログラムを作っており、このボタンを 押したらファイル選択画面になるのですが、ずっとファイル選択画面が ループしてダイアログが表示されません。 デバッグしてみても混合モードというものに入ってよくわかりません。 どうすればボタンにアイコンを乗せる事ができるのでしょうか? 皆さんの知恵を貸してください。 開発環境 VC++6.0 OS    WindowsXP

  • ID を引数にとる場合の記述方法

    MFC のダイアログベースでプログラミングをしています。 関数について、引数の記述方法が分からずに困っています。 以下のように、関数の途中で現れる IDC_SOMOTHING に相当する 部分を引数としたいと思っています。 この場合、どのように記述すればよいのでしょうか。 戻り値 関数名(引数) {       ・       ・       ・ // デバイスコンテキストの獲得 CWnd* h = GetDlgItem(IDC_SOMETHING); CDC* pDC=h->GetDC();       ・       ・       ・ } 引数が文字列なら    戻り値 関数名(CString temp){}              ̄ ̄ ̄ ̄ ̄ ̄ とできますが、ID を引数にとる場合、どのように引数を記述したらよいのでしょうか。 教えていただけると幸いです。