Visual C++でダイアログエディタを表示させると、
エディタ上には、コントロールボックスが表示されます。
このコントロールボックスを非表示とさせた後、
再度、表示させる方法を教えて下さい。

ツール→オプション→ワークスペースタブで
ドッキングビューには、コントロールボックスが表示されていなく
チェックできない状態です。(表示させる方法が違うのでしょうか?)

宜しくお願い致します。

A 回答 (1件)

ダイアログエディタを表示させた状態で、


ツールバーのあるスペースで右クリックしてください。
(ツールバーが存在する場所の右横あたりの領域)

そこで「コントロール」を選択すると表示されます。
どうでしょうか?
    • good
    • 0
この回答へのお礼

できましたああ♪♪♪
ありがとうございました。
あれこれ試したり、MSDN見たんですけど、
解らなくずっと気になってましたので。。
見落とししたんでしょうか。
とっても嬉しいです。

お礼日時:2002/04/01 21:28

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

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

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

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

Qボタンの表示の色、フォントを変更したい

VC++でプログラミングしています。
MFCのダイアログベースのEXEを造っています。
ダイアログにはボタンとエディットボックスを貼り付けています。
私がやりたいのは以下のことです。

・ボタンの色を設定したい
・ボタン、エディットボックスに表示する文字の色を設定したい
・ボタン、エディットボックスに表示する文字のフォント(サイズ)を設定したい

プロパティでサイズ変更すると全体に反映されてしまうので、個々の
コントロールについて制御したいと思っています。

ヘルプで調べて、それらしい関数を見つけるのですが使い方がわかりません。
VCを始めたばかりで、クラスの理解がまだ浅いです。。。
関数の説明は理解できても、「じゃあ、コードはどう書くの?」という状態です。
「○○ は ×× のメンバではありません」と、よく怒られてます。。。

識者の方、ご教授願います。
コードがどうなるのか知りたいので、簡単なサンプルコードがあると助かります。

また、質問ではないのですが、「この関数は○○をする」というのではなく、
「○○をするにはこの関数を使う」という様に調べられる、お勧めの書籍、
Webなどがありましたら教えてください。
今後の勉強に役立てたいと思っています。

VC++でプログラミングしています。
MFCのダイアログベースのEXEを造っています。
ダイアログにはボタンとエディットボックスを貼り付けています。
私がやりたいのは以下のことです。

・ボタンの色を設定したい
・ボタン、エディットボックスに表示する文字の色を設定したい
・ボタン、エディットボックスに表示する文字のフォント(サイズ)を設定したい

プロパティでサイズ変更すると全体に反映されてしまうので、個々の
コントロールについて制御したいと思っています。

ヘルプで調べ...続きを読む

Aベストアンサー

下2つについては以下でいけると思います。

class CMyDlg : CDialog
{
public:

  CFont m_cFont; //Dlgクラスのメンバとして用意
/*
  他のメンバ
*/
  virtual BOOL OnInitDialog(); //初期化

};


BOOL CMyDlg::OnInitDialog()
{
  //TODO:ここでFontを設定しておく(文字の色、サイズなど)

  //Fontを設定
  ((CButton *)GetDlgItem(IDC_BUTTON))->SetFont(&m_cFont,TRUE);

  //TODO:その他の初期化

  return TRUE;
}
//見易さのために、全角スペースを使っています;;

一番上はBitmapを貼り付けるか、CWndのメンバ関数を使って
塗りつぶすかどうかだと思います。

MFCではなく、C++Builderのページなのですが、少しいじればMFCでも使えるので、参考URLに示しておきます。

参考URL:http://market.agr.tottori-u.ac.jp/ken/tech.html

下2つについては以下でいけると思います。

class CMyDlg : CDialog
{
public:

  CFont m_cFont; //Dlgクラスのメンバとして用意
/*
  他のメンバ
*/
  virtual BOOL OnInitDialog(); //初期化

};


BOOL CMyDlg::OnInitDialog()
{
  //TODO:ここでFontを設定しておく(文字の色、サイズなど)

  //Fontを設定
  ((CButton *)GetDlgItem(IDC_BUTTON))->SetFont(&m_cFont,TRUE);

  //TODO:その他の初期化

  return TRUE;
}
//見易さのために、全角スペースを使って...続きを読む

QVC++ダイアログボックス作成でのコントロールパレット

VC++でのダイアログボックス作成の際のコントロールパレットを
一回×印で消してしまうともう一回呼び出すにはどうしたらいいんですか?

Aベストアンサー

以前同じ内容の質問があり、回答しました。
参考URLを見てください。

参考URL:http://oshiete1.goo.ne.jp/kotaeru.php3?q=244337

QWinAPIでタブ付きのウィンドウを作成

現在WinAPI(C++)でタブ付きのウィンドウを作成しようと思っているのですが、
タブコントロールとしてCreateWindowEX関数+WC_TABCONTROLで作成するしかないのでしょうか?
認識不足なら申し訳ありませんが、これはダイアログボックス内にタブを作成するものでしょうか?

行いたいのは、タブで切り替えれる+画像の描画可能+サイズの変更可能なウィンドウなのですが、
また、タブのデザインも変更できればいいんですが・・・

Visualやイラストレータのようなドラッグでウィンドウを移動させてタブから切り離し+
再度タブ化するのは、どのように実現しているのでしょうか

開発環境はMicrosoft Visual C++ 2010 Expressです。

状況説明不足で申し訳ありませんが、ご教示お願いします。

Aベストアンサー

タブのデザイン変更はオーナードローあたりに頼ることになるかと思いますが、APIオンリー、Express Editionでドッキング ウィンドウを実現するのは至難の技だと思います。

Visual Studioのスマート ドッキング ウィンドウは、BCGSoft製のMFC拡張ライブラリを使って作られているようです。
OfficeのリボンUIも同様です。
http://www.bcgsoft.com/
BCGSoftのライブラリを逆輸入する形で、Visual Studio 2008 SP1のStandard Edition以上、それとVisual Studio 2010のProfessional Edition以上には、MFC Feature Packが導入されて、スマート ドッキング ウィンドウやリボンUIその他がMFCアプリで使えるようになっています。
有料版にはMFCのソースコードが付いているので、それを参考にしてAPIに落としていくのもありかとは思いますが、MFCを完全に理解していないと読むのが困難な上に、かなりスパゲッティなのでお勧めしません。

Adobeのほうは詳しくは分かりませんが、PhotoshopやIllustratorのスマート ドッキング ウィンドウは、WindowsでもMacでも同じ仕様を確保するため、おそらくQtライブラリ+Adobe独自のクロス プラットフォーム ライブラリで実現されていると思います。

.NET Framework(C++/CLI)を使うのであれば、スマート ドッキング ウィンドウを実現するためのいくつかの無料ライブラリが存在しますが、VC++ 2010ではC++/CLIのインテリセンスが効かないし、そもそもC++/CLI自体GUIアプリ開発には向いていない特殊な言語なので、お勧めしません。
http://dobon.net/vb/dotnet/links/dockingwindow.html

タブのデザイン変更はオーナードローあたりに頼ることになるかと思いますが、APIオンリー、Express Editionでドッキング ウィンドウを実現するのは至難の技だと思います。

Visual Studioのスマート ドッキング ウィンドウは、BCGSoft製のMFC拡張ライブラリを使って作られているようです。
OfficeのリボンUIも同様です。
http://www.bcgsoft.com/
BCGSoftのライブラリを逆輸入する形で、Visual Studio 2008 SP1のStandard Edition以上、それとVisual Studio 2010のProfessional Edition以上には、MFC Feature Pack...続きを読む

QCString から LPCTSTRの型に変換

visual studio 2013 VC++を使用していますが、WINDOWSの関数に渡すためにCString からLPCTSTRに変換する必要があります。実際にどのようにするのかわかりません。
例えば、以下のサンプルは他の質問コーナーの回答をアレンジしたものです

CString str = _T("ABC");
int siz = str.GetLength()+1;
LPCTSTR pszFName = new TCHAR[siz];
_tcscpy_s( pszFName, siz, str );

で変換するのですが
LPCTSTRからwchar_t*へ変換できませんとエラーがでます
_tcscpy_s()は使用できないのでしょうか

Aベストアンサー

>APIはCStdioFile の Open()でファイル名を与えるところ

APIではないようですが……。

http://msdn.microsoft.com/ja-jp/library/ee247566.aspx
ならば、そのままCStringの変数渡せば、よろしく処理してくれると思いますけど。

QMFCを使用した分割ウィンドウエディタの実装

CSplitterWndクラスを使用して、分割ウィンドウエディタを作成
しようと思っています。
作成するエディタのイメージとしては、Visual Studioのメイン画面や
Windowsのエクスプローラ(左側にフォルダツリー、右側に
ファイル一覧)のようなレイアウトです。
上記で記載したアプリのように、ペイン毎の画面の
表示/非表示(閉じる)を切り替え可能にしたいのですが
具体的な実現方法が思い浮かびません。
CSplitterWndのCreateStaticメソッドを使用して、静的な
分割レイアウトを定義しておいてから上記に記載した機能を
実現したいのですが、実現可能なのでしょうか。

ネット&過去質問を調べてみたのですが、具体的な実装方法を見つけられなかったもので。。。

よろしくお願い致します。

※以下開発環境になります。
 ●開発OS/SoftWare
  Windows XP Pro(SP2) / Visual C++ 2008

Aベストアンサー

MFCの使えるVC++2008は持ってないのですがCDockablePaneというのが使えるみたいです
http://www.hiramine.com/programming/windows/dockablepane.html

昔VC++6.0で下記URLのドッキングウィンドウを使ったことはあります
http://www.datamekanix.com/sizecbar/

QC++とVC++の違いについて

この質問をご覧頂きありがとうございます。

みなさんに2つ、お聞きしたいことがあり、質問させていただきます。
1.C++とVC++とでは、どのくらいの違い(どういう違い、特徴)があるのでしょうか?

2.また、これからC++/VC++でプログラミングを始めようとした場合、
C++からVC++へと段階を踏んで勉強した方がよいのでしょうか?

一応、私のプログラミングの履歴としては、
言語としてVisual Basicは多少勉強はしておりました。
また、オブジェクト指向の基礎程度(多相、継承、カプセル化)は理解しています。

抽象的な質問で大変恐縮なのですが、
みなさんの経験論や、ご参考にした本、HP等がありましたら、
ご教授いただければと思います。

Aベストアンサー

こんにちは、honiyonです。
 VC++ は、Microsoftの発売している C++開発環境です。 純正C++に加え、独自に機能(という言い方でいいのかな?)を追加しており、更に開発しやすいソフト(環境)を添付してあります。

 VC++に限らず、大体はそうです。 ProC++も、Borland C++も皆そうです。
 今までお使いになっていた VBも、BASICコンパイラ+開発環境です。 
 こちらの場合、BASICに機能を追加・・・というより仕様そのものを大幅いじってますね(笑)

 VC++をただ単純に C++として使用するなら良いですが、VC++とMFCを使用してウインドウアプリケーションを作りたいという事であれば、死に物狂いな勉強が必要が必要かもしれません。Windowアプリケーションの処理プロセスを理解していないと、とっても難解に感じると思います。
 VC++でなければいや!という理由がなく、Visual Basicからスムーズに移行でき、かつVisual Basicより奥の深い事をしたい、というならば C++ Builder をお勧めします。 こちらで腕を慣らし、徐々にWindowアプリケーションの処理プロセス(WinMainから始まるプログラムの組み方の事です)を学ぶと良いかな、と思います。 その上で VC++&MFCな環境に移行すると、敷居はぐっと低くなります。
 私は一度VC++&MFCに挫折しましたが、こちらの方法で何とか理解する事が出来ました(^^;

 参考になれば幸いです(..
 

こんにちは、honiyonです。
 VC++ は、Microsoftの発売している C++開発環境です。 純正C++に加え、独自に機能(という言い方でいいのかな?)を追加しており、更に開発しやすいソフト(環境)を添付してあります。

 VC++に限らず、大体はそうです。 ProC++も、Borland C++も皆そうです。
 今までお使いになっていた VBも、BASICコンパイラ+開発環境です。 
 こちらの場合、BASICに機能を追加・・・というより仕様そのものを大幅いじってますね(笑)

 VC++をただ単純に C++として使用するなら良いで...続きを読む

Qラジオボタンのグループ化

VC6.0の
ラジオボタンのグループ化についてですが
例えばIDC_RADIO1~IDC_RADIO6まで作ったとして
IDC_RADIO1と
IDC_RADIO4のグループにチェックをいれると
IDC_RADIO1~3と4~6が
それぞれグループになったのですが
1、2、6と3、4、5をグループにしたいときは
どうすればよいのでしょうか?

あるサイトによるとグループボックスでラジオボタンで囲むと
囲んだ部分がグループになると記述されてたのですが
それについてもうまくいかなかったのですが、教えて頂けないでしょうか?

Aベストアンサー

[レイアウト]-[タブオーダー]でタブ順を
IDC_RADIO1,2,6,3,4,5 の順で設定します。
ラジオボタンのプロパティで IDC_RADIO1 と IDC_RADIO3
の[グループ]をチェックします。またIDC_RADIO5 の後の
コントロール(何でも良い)の[グループ]もチェック
します。

>グループボックスでラジオボタン
マジっすか。

QUpdateData( FALSE); による文字列データの表示更新(VC++6.0)

VC++の超初心者です.

UpdateData( FALSE );
を用いてエディットボックスの文字列の表示の更新を
試みているのですが,たとえば,以下のコードのようにボタンをクリックした際に文字列表示の更新を複数回行おうとするとうまくいきません.
具体的には一回目のUpdateData( FALSE );が反映されず二回目のUpdateData( FALSE );のみ反映されるという症状です.

なおm_mojiretsuはCstring型でエディットボックスのDDX用の変数です.

void CMyDlg::OnButton1()
{
DWORD p;

m_mojiretsu=_T("mojirstu1");
UpdateData( FALSE );

/*5秒の待ち*/
p=timeGetTime();
while(1){if((timeGetTime()-p)>5000) break;}

m_mojiretsu=_T("mojirstu1\r\nmojirstu2");
UpdateData( FALSE );

}


何か別の処理を行わなければいけないのでしょうか.
どこかに根本的なミスがあるのでしょうか.

VC歴3日程度で,右も左も分からず大変困っております.よろしくお願いします.

VC++の超初心者です.

UpdateData( FALSE );
を用いてエディットボックスの文字列の表示の更新を
試みているのですが,たとえば,以下のコードのようにボタンをクリックした際に文字列表示の更新を複数回行おうとするとうまくいきません.
具体的には一回目のUpdateData( FALSE );が反映されず二回目のUpdateData( FALSE );のみ反映されるという症状です.

なおm_mojiretsuはCstring型でエディットボックスのDDX用の変数です.

void CMyDlg::OnButton1()
{
DWORD p;

m_mojiretsu=_T("mojirst...続きを読む

Aベストアンサー

m_mojiretsu=_T("mojiretsu1");
UpdateData(FALSE);
UpdateWindow(); // <- これを追加

/*5秒の待ち*/
...

とすれば、ひとまず期待どおりの動作になると思います。

# こうするよりは、OnButton1() では変数を書き換えるべしと言う
# 自前のコマンドメッセージを投げるだけで、すぐに戻った方が
# お行儀は良いのですが...
# そこいらへんは追々調べたり試したりしてみて下さい。

Qエディットボックスのフォントを変えたい

MFCで作ったダイアログ上の他のコントロールはいじらずに、
エディットボックスのフォントだけを大きく変えたいのですが、
行間が変わらない為か、文字の下のほうが切れてしまいます。

色々試してみていますが、どうしても出来ません。

元のダイアログのフォントは12ptです。

OnInitDialog関数内で、
CFont m_font;(メンバ変数)に以下を設定し、
m_font.CreateFont( 20, 0, 0, 0, FW_SEMIBOLD, FALSE, FALSE, 0, SHIFTJIS_CHARSET, OUT_TT_PRECIS,CLIP_DEFAULT_PRECIS, DEFAULT_QUALITY,DEFAULT_PITCH | FF_DONTCARE, "MS P ゴシック" );

OnCtlColor関数内で、該当エディットボックスの場合だけ
pDC->SelectObject( &m_font );
しています。

CreateFontのパラメータが間違っているのでしょうか?

それとも、これら関数を呼び出す場所が間違っているのでしょうか?

ご回答お待ちしております。

MFCで作ったダイアログ上の他のコントロールはいじらずに、
エディットボックスのフォントだけを大きく変えたいのですが、
行間が変わらない為か、文字の下のほうが切れてしまいます。

色々試してみていますが、どうしても出来ません。

元のダイアログのフォントは12ptです。

OnInitDialog関数内で、
CFont m_font;(メンバ変数)に以下を設定し、
m_font.CreateFont( 20, 0, 0, 0, FW_SEMIBOLD, FALSE, FALSE, 0, SHIFTJIS_CHARSET, OUT_TT_PRECIS,CLIP_DEFAULT_PRECIS, DEFAULT_QUALITY,DEFAULT_PIT...続きを読む

Aベストアンサー

こんにちは。

Senna_FFさんの回答とかぶりますが、SetFontで出来ます。
CreateFontの下に下記の一行を追加してみてください。
質問のCreatoFontは正しく動作していました。
IDC_EDITはフォントを変更したいエディットボックスのIDを入れてください。


GetDlgItem(IDC_EDIT)->SetFont(&m_font);

Qダイアログの上のテキストボックスの、初期値を設定する方法が分かりません・・・・

VSC++2005です、

ダイアログの上のテキストボックスの初期値を設定する
方法が分かりません、

ダイアログが表示されたとき、
ダイアログに貼り付けてあるテキストボックスの初期値を
入力しておきたいのですが、うまくゆきません

下のようにしました、

ボタンをクリックして、ダイアログを表示させ ダイアログ上の
エディットコントロールに、値を表示させるつもりですが、

void CXXXView::OnBnClickedButton2()
{
// TODO: ここにコントロール通知ハンドラ コードを追加します。

Cfailsettei cf;  //ダイアログのクラスのインスタンス作成

cf.edit1.SetWindowTextA("yyy");  
cf.edit2.SetWindowTextA("xxx");

//edit1、edit2は、エディットコントロールです

cf.DoModal();

}

エラーが起こってしまいます、

何故でしょうか?

よろしくお願いします。

VSC++2005です、

ダイアログの上のテキストボックスの初期値を設定する
方法が分かりません、

ダイアログが表示されたとき、
ダイアログに貼り付けてあるテキストボックスの初期値を
入力しておきたいのですが、うまくゆきません

下のようにしました、

ボタンをクリックして、ダイアログを表示させ ダイアログ上の
エディットコントロールに、値を表示させるつもりですが、

void CXXXView::OnBnClickedButton2()
{
// TODO: ここにコントロール通知ハンドラ コードを追加します...続きを読む

Aベストアンサー

cf.edit1 や cf.edit2 などはダイアログのインスタンスを宣言しただけではテキストボックスなどのコントロールは作られていません

Cfailsettei クラスに CString型のメンバー変数を用意します
アクセス指定子は Publicにして
そして

cd.m_strEdit1 = _T("yyy");
cd.m_strEdit2 = _T("xxx");

としてから DoModalで起動します

ダイアログクラスの WM_INITDIALOGの処理ルーチン OnInitDialogの
// TODO: の 下の行辺りで
CEdit* pEdit = (CEdit*)GetdlgItem( IDC_EDIT1 );
pEdit->SetWidnowText( m_strEdit1 );
pEdit = (CEdit*)GetdlgItem( IDC_EDIT2 );
pEdit->SetWidnowText( m_strEdit2 );
などと記述してみましょう

または Cfailsetteiに IDC_EDIT1およびIDC_EDIT2に関連付けした String型のメンバー変数用意するかでしょう
ダイアログエディタでコントロールを選択して 右クリック
変数の追加
カテゴリを 『Value』に変更
変数名に m_strEdit1 などを設定
コメントなど必要なら記入して 『完了』
といった手順で メンバー変数が追加できます

cf.edit1 や cf.edit2 などはダイアログのインスタンスを宣言しただけではテキストボックスなどのコントロールは作られていません

Cfailsettei クラスに CString型のメンバー変数を用意します
アクセス指定子は Publicにして
そして

cd.m_strEdit1 = _T("yyy");
cd.m_strEdit2 = _T("xxx");

としてから DoModalで起動します

ダイアログクラスの WM_INITDIALOGの処理ルーチン OnInitDialogの
// TODO: の 下の行辺りで
CEdit* pEdit = (CEdit*)GetdlgItem( IDC_EDIT1 );
pEdit->SetWidnowText( m...続きを読む


人気Q&Aランキング