現在MFCでプログラムを作っているのですが、

SDIベースで作成しており、
MENUバーからMENUを選択したときに
新規(リソースに作成済み)のダイアログを
表示したいのですが、どのようにしたら
よろしいのでしょうか?

ヒントだけでもお願いいたします。

DoModal()とか、newを使ったら、良いのではないかという
見当だけはつけてみたのですが。

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

A 回答 (2件)

1.まず作成したダイアログに対応したクラスを作成します。


  これをCSampleDlgとします。
  (クラスウィザードを使えば楽でしょう)
2.メニューが選択されたとき、以下の処理を入れればモーダルで
  ダイアログが表示されます。
  {
    CSampleDlg dlg;
    dlg.DoModal();
  }
    • good
    • 0
この回答へのお礼

普通どおりでモーダルを
切り替えるだけでいいんですか。
むずかしいことではなかった。

お礼日時:2001/07/05 20:28

はじめまして。


初心者なのでくどい説明になっているかもしれませんがお許しください。
まずリソースのDialogを右クリックしてダイアログを追加します。
適当にボタン等のコントロールを追加したら、ダイアログボックスの絵の上で右クリックをしてClassWizzardを立ち上げます。
そうするとダイアログボックスのクラスを追加するかどうか聞かれますので、適当な名前をつけておきます。
呼び出し側のクラス(cpp)にダイアログボックスのヘッダファイルをインクルードして、DoModal();を実行すればOKです。
例)
#include"[ダイアログクラス名].h"
{
[ダイアログクラス名] <オブジェクト名>

<オブジェクト名>.DoModal();
}
    • good
    • 0
この回答へのお礼

このやり方でよかったんですね。
やっていました。
ただ、二つを切り替えるということで
勝手に難しいものだと思い込んでしまっていました。

お礼日時:2001/07/05 20:33

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

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

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

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

Q「New York New York」の歌詞

「New York New York」ってフランク・シナトラやライザ・ミネリーが歌ってる曲の歌詞と和訳判れば、教えてください。

Aベストアンサー

どうも今晩は!

↓こちらをどうぞ。
http://www.lyricsfreak.com/f/frank+sinatra/new+york+new+york_20056380.html
http://translate.google.com/translate?hl=ja&sl=en&u=http://www.lyricsfreak.com/f/frank%2Bsinatra/new%2Byork%2Bnew%2Byork_20056380.html&sa=X&oi=translate&resnum=2&ct=result&prev=/search%3Fq%3DNew%2BYork%2BNew%2BYork%2Blyrics%26hl%3Dja%26rls%3DGGLG,GGLG:2005-34,GGLG:ja

Q[VC++][MFC][SDI]ダイアログコントロールもしくわツールバー!!詰まってます!!

現在VC++6.0でMFCを使いSDIのプログラムを作っているのですが、フォームにダイアログバーを張っています。

これをツールバーのように自由に動かしたり、左右上下にドッキングさせたり。
これって実現可能でしょうか?

色々ためしてみたんですが無理でした。
やっぱ不可能ですかね?

これが無理なんであればデフォルトで作成されるツールバー([新規作成][開く][保存]等が入ってる)にコントロール(ボタンやリストボックス)を追加して使用、と考えているのですがこれも難しい!!!


まだまだ未熟者なのですがどうかご存知の方おられましたらご教授ください!!
よろしくお願いします!!

Aベストアンサー

Dannerです。
参考URL(英語)を載せておきます。

参考URL:http://www.codeguru.com/Cpp/controls/toolbar/placingcontrolsintoolbars/article.php/c2505/

QNew York Times

New York Timesを読んでるのですが、口語的表現があったりして、うまく読むことができなくて困っています。New York Timesのホームページにアクセスして、日本語訳を見ようとしたのですが、自分が読んでる記事を見つけることができませんでした。New York Timesの日本語訳ののっているサイトなど知っていたら、教えてください。お願いします。

Aベストアンサー

New York Timesは難しいみたいですよ。
もし読んでいて難しいなら、もう少し読みやすい新聞サイトを選んではいかがでしょうか。

でも、なぜ日本語訳が見られるなんて思ったのですか?
あえて日本語ページを作ってくれている会社・サイトでなければ、基本的に英語サイトに和訳はありません。

>日本語訳を見ようとしたのですが、自分が読んでる記事を見つけることができませんでした。

ということは他の記事の日本語訳はあったのでしょうか???

QVC++、MFCでSDIでアプリ作成中

現在、VC++、MFCでSDIでアプリ作成中です。
アイコン上にファイル(txtファイル)をドラッグ&ドロップしてメモ帳を起動したいです。
ただ、ドロップされたファイルはうまく読み込めるのですが、そのファイルを開く(表示)することができません。

ドロップされたファイルは、C○○View.cppで

int C○○View::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
if (CView::OnCreate(lpCreateStruct) == -1)
return -1;

// TODO: この位置に固有の作成用コードを追加してください
CStringArrayargv;
if( IsDropOnIcon( &argv, TRUE ) ){
inti;
for( i = 0; i < argv.GetCount(); i++ ){
MessageBox( argv[ i ], "ドロップされたファイルは", MB_OK );
Read(argv[i]);
}
}
}

BOOL C○○View::IsDropOnIcon( CStringArray* argv, BOOL acceptFolder )
{
CStringcmdlin = "";
CStringresToken;
char*p;
intstartnum = 0;

p = AfxGetApp()->m_lpCmdLine;
if( strlen( p ) == 0 || p[ 0 ] == '-')
return FALSE;

cmdlin = p;

resToken= cmdlin.Tokenize( "\"", startnum );
while( resToken != "" ){
if( resToken != " " && IsExist( resToken, acceptFolder ) )
argv->Add( resToken );
resToken= cmdlin.Tokenize( "\"", startnum );
};
return TRUE;
}

/* 引数で貰った文字列がファイルかどうかをチェック */
BOOL C○○View::IsExist( CString filepath, BOOL acceptFolder)
{
CFilefp;

if( fp.Open( filepath, CFile::modeRead ) ){
fp.Close();
return TRUE;
}
return FALSE;
}

のargv[i]で取得しています。

これが、Read(arg[i])でうまく読み込めません。
ちなみにRead(CString filename)は正しく動くことは確認済みです。
Read(arg[i])を入れる場所がOnCreateがいけないとは思うのですが、どのタイミングで
読み込めばいいかがわかりません。
どなたか教えて頂けないでしょうか?

現在、VC++、MFCでSDIでアプリ作成中です。
アイコン上にファイル(txtファイル)をドラッグ&ドロップしてメモ帳を起動したいです。
ただ、ドロップされたファイルはうまく読み込めるのですが、そのファイルを開く(表示)することができません。

ドロップされたファイルは、C○○View.cppで

int C○○View::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
if (CView::OnCreate(lpCreateStruct) == -1)
return -1;

// TODO: この位置に固有の作成用コードを追加してください
CStringArrayargv;
if( IsDropOnI...続きを読む

Aベストアンサー

InitInstance SDI コマンドライン
でググってみてはいかがでしょうか

Qnew york timesは英検1級程度ですか?

New York timesの難易度について教えてください。

英検準1級までなら持っているのですが、New York TImesを読んでみたら、まったく理解できませんでした。知らない単語ばっか!

英検1級持っている人ならすらすら読める感じでしょうか?

Aベストアンサー

NYTの単語は1級を越えたレベルです。そう考えると1級の単語は、難しいレベルではありません。ちゃんとした新聞や雑誌を読むためには最低知っていないとならない単語のレベルが1級ということです。
NYTを読むには、1級の語彙力でも相当数の単語は辞書を引く必要があります。

アメリカ人でもNYTを読む人は知識人と思われたい人か、本当に知識人クラスです。教育水準が人によって大きく異なるアメリカでは、ネイティブだからと言ってもNYTの記事に出てくる単語を知らない人は沢山います。そういう人たちは、タブロイド紙を読んでいますね。

少なくともNYTをすらすらと読めるようになりたいなら、1級の語彙力は最低条件だと思います。国内で語彙力を増やすのは難しいですが、1級の勉強はよい動機付けになると思いますよ。

QVC++2003SDIでMFCアプリ作成中です。

MFCで自動生成された画面だと、ステータスバーのチェックのON、OFFの切り替えができるようですが、ステータスバーの内容が自動で上書きされます。
ファイルオープンに成功した場合のみ更新したい場合はどうすればよろしいのでしょうか?
どこでステータスバーを更新しているかも教えていただけると嬉しいです。

Aベストアンサー

更新したいところで、

CMainFrame* pMain = (CMainFrame*)AfxGetMainWnd();

pMain->SetStatusbarMessage(_T("メッセージ"));

のようにします。CMainFrameが未定義というエラーが出る場合は、

#include "MainFrm.h"

で解消できるはずです。

QEverybody says New York's a dangero

Everybody says New York's a dangerous place. の New York's の 's は、s か z のどっちで読めばいいのでしょうか? やはり、is の省略なので、z でしょうか?

Aベストアンサー

確かにisの省略ではりますがそれは同発音するのとは全く関係ないです。He is==>He's は「z」ですけど It is==> it's は「s」ですよね。sかzになるのは前の音に寄って決められます。

a,b,d,e, hard G, h, i, l, m, n, o, r, u, v, w, y なら「z」の音になります。

c, f, k, p, t ,なら「s」になります。

soft G, j, s, ch, sh, x, zなら「iz」になります。

QVC++2003でSDIのMFCアプリ作成中です。

アイコン上にファイルをドロップし、ファイルをオープンする動作を実装し、
正常系は動作確認できました。
しかし、ファイルに読み込み制限などをかけていた場合、こちらのエラー処理に入る前に
Windows内部エラー処理に入ってしまうようで、「○○へのアクセスは拒否されました」と
ダイアログが表示されます。
デバッグで見て云ったところ、ProcessShellCommand(cmdInfo)の内部でエラーが発生し、
強制的におちているようですが、具体的にどこのクラス、メソッドでエラーを受け取って
いるのでしょうか?
オーバーライドしてエラー処理を自分で実装したいと考えています。

Aベストアンサー

ドキュメントクラスのOnOpenDocumentの中で実行する GetFileがNULLを返した場合にそのMesseageBoxを表示しているようです

アプリ側のドキュメントクラスに OnOpenDocumentを作成しておいて

BOOL CXXXDocument::OnOpenDocument( LPCTSTR lpszPathName )
{
  CFileException fe;
  CFile* pFile = NULL;
  pFile = GetFile( lpszPathName, CFile::modeRead, &fe );
  if ( pFile ) {
    // 正常に開けたので CDocumentで開けるようにココでは閉じる
    pFile->Close();
  } else {
    // ここでエラー処理をする
    return FALSE;    
  }
  return CDocument::OnOpenDocument(lpszPathName );
}

といった具合でいいように思います

ドキュメントクラスのOnOpenDocumentの中で実行する GetFileがNULLを返した場合にそのMesseageBoxを表示しているようです

アプリ側のドキュメントクラスに OnOpenDocumentを作成しておいて

BOOL CXXXDocument::OnOpenDocument( LPCTSTR lpszPathName )
{
  CFileException fe;
  CFile* pFile = NULL;
  pFile = GetFile( lpszPathName, CFile::modeRead, &fe );
  if ( pFile ) {
    // 正常に開けたので CDocumentで開けるようにココでは閉じる
    pFile->Close();
  } else {
    //...続きを読む

QAutumn in New York の主題歌

 Autumn in New York の主題歌と歌っている人の名前を教えてください。

Aベストアンサー

曲名 Beautiful
アーティスト Jennifer Paige

曲名 Autumn In New York
アーティスト Yvonne Washington

ですね

下記サイトで視聴も出来ます

参考URL:http://www.avexnet.or.jp/avexdb/mtsoundtrack/index.htm

Qリソースのダイアログについて

質問させてください。

現在私はvisual C++6.0のリソース機能を用いてダイアログを作成しております。

そのダイアログに、コントロールの機能をたくさん追加していたのですが、ある数を超えたところで追加できなくなりました。
ひとつのダイアログで使えるコントロールの数は限りがあるのでしょうか??

(MFCの機能は使っておりません。)

Aベストアンサー

システムのリソース制限はもちろんありますが、
たいていの場合、VC6のリソースエディタの上限の方が先にきます。

VC6乗りソースエディタは255以下のコントロールしか扱えません。

rcファイルをテキストエディタで編集すれば回避可能です。

「ある数」があまりにこれより少ないなら別要因かも知れませんが。

# そもそもそんなにコントロールを張るってのは…。


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

人気Q&Aランキング

おすすめ情報