トップページ⇒tech
1001コメント291KB

■MFC相談室 mfc11.dll■

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさんNGNG
Microsoft Foundation Classライブラリ専用スレです。

前スレ
■ VisualC++(MFC限定)相談室 MFC10.dll■
http://pc5.2ch.net/test/read.cgi/tech/1074104008/

関連リンクは >>2-10 の辺り。
0002デフォルトの名無しさんNGNG
過去スレ
■ VisualC++(MFC限定)相談室 MFC9.dll■
http://pc2.2ch.net/test/read.cgi/tech/1062098350/
■ VisualC++(MFC限定)相談室 MFC8.dll■ (スレタイ壊れているけど前スレ)
http://pc2.2ch.net/test/read.cgi/tech/1056584836/
■ VisualC++(MFC限定)相談室 MFC7.dll■
http://pc2.2ch.net/test/read.cgi/tech/1047949606/l50
■ VisualC++(MFC限定)相談室 MFC6.dll■
http://pc2.2ch.net/test/read.cgi/tech/1039607377/
■ VisualC++(MFC限定)相談室 5■
http://pc3.2ch.net/tech/kako/1028/10285/1028553308.html
■ VisualC++(MFC限定)相談室 4■
http://pc3.2ch.net/tech/kako/1021/10216/1021620974.html
■ VisualC++(MFC限定)相談室 3■
http://pc.2ch.net/tech/kako/1014/10140/1014057520.html
■ VisualC++(MFC限定)相談室 2■
http://pc.2ch.net/tech/kako/1008/10080/1008031675.html
■ VisualC++(MFC限定)相談室 ■
http://pc.2ch.net/tech/kako/989/989902845.html
0003デフォルトの名無しさんNGNG
>>1
Z!
0004デフォルトの名無しさんNGNG
まえすれ
>>972
Thanks!
これでOKザウンス!
0005デフォルトの名無しさんNGNG
捕手しときます
0006デフォルトの名無しさんNGNG
MFCってもうすぐなくなるそうですが、本当ですか?
0007デフォルトの名無しさんNGNG
>>6
本当です。
0008デフォルトの名無しさんNGNG
MFC42.DLL
   シニ

で命運尽きたと見るべきだろう
0009デフォルトの名無しさんNGNG
MFCは永久に不滅です
0010デフォルトの名無しさんNGNG
最初からMSの提唱プログラミング技術は信用していない。
0011デフォルトの名無しさんNGNG
「の」の位置が変になった。

最初からMS提唱のプログラミング技術は信用していない。
0012デフォルトの名無しさんNGNG
CP/Mのパクリ
UNIXのパクり
CORBAのパクリ
SmallTalkのパクリ
Javaのパクリ

オリジナルは??
0013デフォルトの名無しさんNGNG
無い。
0014デフォルトの名無しさんNGNG
COMは何のパクリ?
0015デフォルトの名無しさんNGNG
MS-DOS
0016デフォルトの名無しさんNGNG
話の流れ断ち切るようですみませんが質問させてください

.NETの開発環境やブラウザのSleipnirとかで使ってる
アイコンの背景の変わるツールバーってどうやって実装するんでしょう?
スタイル設定とかで駄目なん?

0017デフォルトの名無しさんNGNG
>>16
MFCを継承していじりたおす。
0018デフォルトの名無しさんNGNG
ダイアログを使ってて、気になることがひとつあるのですが、
×ボタンでアプリケーションを終了させると、
「コード 20 (0x14) で終了しました。」
で、終了して、タスクバーから終了させると、
「コード 61536 (0xF060) で終了しました。」
と、表示されます。

0で終了していないので、どこかにエラーが潜んでいるのかと思うのですが、
どうやって調べたらよいでしょうか?

検索してもそれらしい情報がなくて、
ヘルプでも、0でなければエラーがあるって事しか書いてないので、
どうやったらいいのかと。。。

どなたか知ってる方お願いします。
0019デフォルトの名無しさんNGNG
>>18
Escキーで終了すると0x1bで、Enterキーで終了すると0x0dになるはずですが。
これはちっともエラーではございません。
0020本田NGNG
>COMは何のパクリ?

CORBA
0021デフォルトの名無しさんNGNG
クライアントがインプロセスサーバーの関数を直接呼べるのはCOMだけなのでは?
0022デフォルトの名無しさんNGNG
こんにちは
初歩的な質問ですが、

VisualC++で新しいMFCプロジェクトとしてMDIを作るとき、
初期状態のコードで下記の部分がありますが、

>myappli.cpp
BEGIN_MESSAGE_MAP(CmyappliApp, CWinApp)
ON_COMMAND(ID_APP_ABOUT, OnAppAbout)
// 標準のファイル基本ドキュメント コマンド
ON_COMMAND(ID_FILE_NEW, CWinApp::OnFileNew)
ON_COMMAND(ID_FILE_OPEN, CWinApp::OnFileOpen)
// 標準の印刷セットアップ コマンド
ON_COMMAND(ID_FILE_PRINT_SETUP, CWinApp::OnFilePrintSetup)
END_MESSAGE_MAP()

ON_COMMAND(ID_FILE_NEW, CWinApp::OnFileNew)のコマンド(メニュー)を選ぶと自動的にMDIウィンドウが作成されますが、
このMDIウィンドウを作成するコード(ソース)がどこにも記述されてないのに、どうしてMDIウィンドウが作成されるのでしょうか?
また、ON_COMMAND(ID_FILE_OPEN, CWinApp::OnFileOpen)も同じく、ファイルを開くDialogが出てきますが、
このコモンダイアログを表示するという記述がされている部分がありません。

これらのコード(ソース)は、どこに記述されてるのでしょうか?
0023デフォルトの名無しさんNGNG
>>22
VCをインストールしたディレクトリ下のMFCってとこにソースがある。
その中をgrepしてみれば?
0024デフォルトの名無しさんNGNG
Attachってどういうものなんでしょう?
0025デフォルトの名無しさんNGNG
>>22
CWinAppの初期化コードの中

cmdInfo.m_nShellCommand = CCommandLineInfo::FileNothing;

とするとでてこない。この辺が関係してる。
0026デフォルトの名無しさんNGNG
質問:

プロジェクトの新規作成でMFCのMDIを作ったのですが、
そのMDIをSDIに変更したいと思いして、
部分部分を修正したんですが、
どうしてもエラーダイアログ「空のドキュメント作成に失敗しました。」と表示されて、
MainFrameが作成されず、アプリケーションが終了してしまいます。
何故でしょうか?

修正箇所は、
CMDIFrameWnd → CFrameWnd

MultiDocTemplate* pDocTemplate;
pDocTemplate = new CMultiDocTemplate(IDR_system_mfcTYPE,
RUNTIME_CLASS(Csystem_mfcDoc),
RUNTIME_CLASS(CChildFrame), // カスタム MDI 子フレーム
RUNTIME_CLASS(Csystem_mfcView));
      ↓
CSingleDocTemplate* pDocTemplate;
pDocTemplate = new CSingleDocTemplate(
IDR_MAINFRAME,
RUNTIME_CLASS(Csystem_mfcDoc),
RUNTIME_CLASS(CMainFrame), // メイン SDI フレーム ウィンドウ
RUNTIME_CLASS(Csystem_mfcView));

int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct){
if (CMDIFrameWnd::OnCreate(lpCreateStruct) == -1)
       ↓
       if (CFrameWnd::OnCreate(lpCreateStruct) == -1)

0027デフォルトの名無しさんNGNG
819 名前:デフォルトの名無しさん[sage] 投稿日:04/06/27(日) 14:46
MFCを使ったダイアログを
スタティックライブラリで実現できるんでしょうか?

DLLで出来るのはわかってるんですが。

820 名前:デフォルトの名無しさん[sage] 投稿日:04/06/27(日) 14:50
>>819
Prof 以上ならできる。

821 名前:デフォルトの名無しさん[sage] 投稿日:04/06/27(日) 15:21
>>820
リソースは
リンクするメイン側に置くのですか?
0028デフォルトの名無しさんNGNG
>>26
気になったのでちょっと調べてみたよ
Error: Trying to create object which is not DECLARE_DYNCREATE
アウトプットに以下のメッセージが出て失敗してたので
mainfrm.hのDECLARE_DYNAMICをDECLARE_DYNCREATEに
mainfrm.cppのIMPLEMENT_DYNAMICをIMPLEMENT_DYNCREATEに
それぞれ変えればOKだったよ
つーか、新規に作ったSDIと見比べればOKかと・・・・

0029デフォルトの名無しさんNGNG
int argc, char *argv[]
のように、外部ファイルドロップで起動した時、
ドロップしたファイル名を取得するにはどうすれば良いですか?
0030デフォルトの名無しさんNGNG
>>29
Wizardが吐いたソースならCHogeApp::InitInsatance()の中に
 CCommandLineInfo cmdInfo;
 ParseCommandLine(cmdInfo);
ってコードあるでしょ。そのあたりで調べてみれば?
あと、__argcと__argvとか。
0031デフォルトの名無しさんNGNG
>>30
助かります!調べてみます!
0032デフォルトの名無しさんNGNG
>>29
文字列で受けるなら
CString cmdstr = GetCommandLine();

__argc変数を使うなら
for(int i = 1; i < __argc; i++){
 CString cmdstr = __argv[i];
}

どちらかというと後者の方が扱いやすいね
0033デフォルトの名無しさんNGNG
ツールバーを作ろうとしているのですが、

//Buttonの作成
m_wndToolBar.GetToolBarCtrl().SetButtonWidth(50, 150);
m_wndToolBar.GetToolBarCtrl().SetExtendedStyle(TBSTYLE_EX_DRAWDDARROWS);

img.Create(IDB_HOTBUTTON, 22, 0, RGB(255, 0, 255));
m_wndToolBar.GetToolBarCtrl().SetHotImageList(&img);
img.Detach();
→img.Create(IDB_COLDBUTTON, 22, 0, RGB(255, 0, 255));
m_wndToolBar.GetToolBarCtrl().SetImageList(&img);
img.Detach();

矢印部分でデバッグエラーが出てしまいます。
なぜなのかがわかりません。
Createの戻り値を見ても、「1」と出てるのでエラーはないと思われますが。
0034デフォルトの名無しさんNGNG
Createの戻り値が見れると言うことは、
そこではエラーが出ていないのでは?
003533NGNG
>>34
すいません。
今、どうにか解決できました。
大変申し訳ございませんでした。
0036デフォルトの名無しさんNGNG
CEditでJaneDoeのDoe部分みたいに
文字に色つけたりフォント変えたりリンク踏めるようにするのはどうすればいいんですか?
今はリッチエディットでやってるけど98とXPだとdllのバージョンが違うし
微妙に重かったり、選択の文字色反転がイヤだったりで、改造したいんですよ。
0037デフォルトの名無しさんNGNG
無理
0038デフォルトの名無しさんNGNG
>>36
codeguruとかにヒントになるソースがあったはず
0039デフォルトの名無しさんNGNG
CComboBoxでCBS_SORTを動的につけたり外したりって無理でしょうか?
SetWindowLongでできなかったんですが…
0040デフォルトの名無しさんNGNG
MFCで作ったアプリは、MFCのDLLを添付しないと
実行することはできないのでしょうか?
自分が作ったExeのみで配布することはできないでしょうか?
0041デフォルトの名無しさんNGNG
>>39
1. ResetContent
2. スタイル付け替え
3. AddString
でもダメ?
すでにあるアイテムのソート/非ソートをスタイル変更で
切り替えてくれるような器用な造りにはなっていないと思う。
けど、これはAPIスレ用の話題だな。
>>40
MFCをスタティックリンクすれば。
0042デフォルトの名無しさんNGNG
>>40
VC6以前のVCでビルドしたものならDLLの心配はしなくていい
ほとんどのwin32環境でDLL持ってるのが当たり前になってるから

VC7以降なら注釈を付けてDLLのインストールが必要なことを書いておくか
同梱するかした方がいい
0043デフォルトの名無しさんNGNG
>>40
MFCのスタティックライブラリを使用にする
004439NGNG
>>41
駄目でしたorz
APIスレに移動してみようと思います。ありがとうございました。
0045デフォルトの名無しさんNGNG
>>40
スタティック ライブラリで MFC を使用する
■ このスレッドは過去ログ倉庫に格納されています