■MFC相談室 mfc14d.dll■

このエントリーをはてなブックマークに追加
952941:2005/11/08(火) 18:00:01
よかったよかった。

#私の端末で巧くビルドできなかったり実行できなかったりしたのは謎だけど。
953945:2005/11/08(火) 18:32:40
>>949
FocusRect = Light はフォーカスの太さを指定するもの。
なしにしたら囲まれない。Heavyなら太線。
クリックしたセルが囲まれて、同じ行の他のセルは全部反転してるはず。
まあ解決したのならよかった。

>>952
解決したらいいね。↓うちのFlexGrid
Microsoft FlexGrid Control, version 6.0
C:\WINDOWS\system32\MSFLXGRD.OCX
ver 6.0.84.18
954941:2005/11/08(火) 19:15:29
>>953
あーいや、その組み合わせでは使わないから。
今度使うとしたらVC7+FlexGridProだろうな。
955938:2005/11/08(火) 19:30:32
舞い戻ってまいりました・・・
原因は固定行のマージにありました・・・orz
また明日、マージのところをきちんと調べて再挑戦します。
ありがとうございました。
956デフォルトの名無しさん:2005/11/09(水) 00:46:23
AppWizardを使わないで初心者向けにMFCの解説をしているような本やサイトで、お勧めがあったら教えていただけないでしょうか
957デフォルトの名無しさん:2005/11/09(水) 01:17:33
>>956
neko toka ?
958デフォルトの名無しさん:2005/11/09(水) 01:22:00
>>957
猫は一応読みました。もう少しGUIに関する部分で突っ込んだ説明が欲しいのですが・・・
959デフォルトの名無しさん:2005/11/09(水) 04:07:58
マイクロソフト公式解説書 プログラミングMicrosoft Visual C++ .NET〈Vol.1〉基礎編

いろいろ買った中で、これが一番役立った。
960デフォルトの名無しさん:2005/11/09(水) 04:10:29
>>959
ありがとう、明日本屋で立ち読みしてみます
でも確かその本はマネージドの事が主な内容だった気がするのですが・・・
MFCに関しても詳しく書かれてましたか?
961デフォルトの名無しさん:2005/11/09(水) 04:13:04
あ、ちと勘違いしておりました・・・
MFCの事も書かれてますね
962デフォルトの名無しさん:2005/11/09(水) 08:48:11
>AppWizardを使わないで初心者向けにMFC

標準講座MFC6.0
基本的にAppWizardを使わないが、AppWizardの解説も少しある。
963デフォルトの名無しさん:2005/11/09(水) 12:28:43
>>962
賛成票を投じます。

964デフォルトの名無しさん:2005/11/09(水) 13:02:06
ウィザードでメッセージハンドラを追加したら
それがソースにどう反映されるかを見た方が
手っ取り早く勉強になったりするけどな。
965956:2005/11/09(水) 15:41:32
ありがとうございます

>>962>>963
参考にさせて頂きます

>>964
自分がやろうと思ってるのはちょっと定形外な事なので…
一応、ウィザードで作られるコードは十分理解しているつもりです
966デフォルトの名無しさん:2005/11/09(水) 16:29:22
>>964
それは二歩目ということで。
967デフォルトの名無しさん:2005/11/10(木) 20:37:40
VC++.NET 2003 のWindowsフォーム アプリケーション(.NET) で
CAsyncSocketを使って通信のクライアント処理を作ろうとしていますが、

 CAsyncSocket socket;
 socket.Create();

で、socket.Create()の返り値が 0(異常終了) で返ってきます。
Windowsフォーム アプリケーション(.NET)では、CAsyncSocketは使えないのでしょうか?
また、Windowsフォーム アプリケーション(.NET)の通信の実装は、CAsyncSocketを使う以外に
あるのでしょうか?
知っている人がいれば、よろしくお願いいたします。

某スレで
>おまえそれMFCだろうが
というご指摘があったので、マルチで質問しています。
★初心者にVisual C++を教えるスレ★ Part22
http://pc8.2ch.net/test/read.cgi/tech/1131443284/8-
968デフォルトの名無しさん:2005/11/10(木) 20:47:58
>>967
そうじゃなくて向こうのスレの人はこっちへ来いというのではなく、
「CAsyncSocketがMFCのだから.Netアプリで使うなよ」
と言ったかったのだと思う。
969デフォルトの名無しさん:2005/11/10(木) 21:17:54
Socketというそのものズバリのクラスがあるだろ。
970デフォルトの名無しさん:2005/11/11(金) 03:17:14
無いよ。馬鹿な香具師
971デフォルトの名無しさん:2005/11/11(金) 03:19:50
       /\
     /   \
      ̄|  | ̄
    ___|  |__
   / ⌒   ⌒ ::: \   |\
   | (●), 、(●)、  ̄ ̄  \
   |  ,,ノ(、_, )ヽ、,,    左を見ろ>              こっちは右だバカ!
   |  `トェェェェイ'   .:::::__  ./
   \ `ニニ´  .:::/    |/
 l_!!! ,、 ,..-ヽー'',,.. ' ノ`丶--'ー--、 -―--、 + +   +
 | ! !_!|i::::::::::`´ー''´:::::::::::::::::::|:::::::::::::::::::::,..、::`ヽ  +     +
 .! ', ,|!::::::::::::::::::::::::::::::::::::::::::ヽ/---‐'´`\::::\   +
  !、_,イ:::ヽ::::::::::::::::::::::├┤:::/::|        \:::ヽ、_
  ',::::::',::::::|ヽ::::::::::::::::::::::::::::/:::::::l
972デフォルトの名無しさん:2005/11/12(土) 09:15:53
質問です
某アプリのプラグインをmfcで作ろうと思っています
その仕様を見ると最初にCreateProc()というコールバック関数の中で
ウィンドウを作成して、そのウィンドウハンドルを本体側に返さないといけないのですが
いつものようにウィンドウを作ると、内部のCWinApp::Run()で処理がループしてしまうので
返り値を本体側に渡す事が出来ません
どのようにしたら解決出来るでしょうか?
973デフォルトの名無しさん:2005/11/12(土) 09:28:12
age
974デフォルトの名無しさん:2005/11/12(土) 09:28:21
mfcを使わなければいい
975デフォルトの名無しさん:2005/11/12(土) 11:11:08
>>972
何のアプリか書いたら検証できるのに、頭が残念なやつだ。
976デフォルトの名無しさん:2005/11/12(土) 11:32:46
CWinAppでウインドウ作らなきゃいいし、
コールバック関数も使えるだろ
977デフォルトの名無しさん:2005/11/12(土) 11:45:42
>>972
Sleipnir1のパネルプラグインです。ごめんなさい

>>976
CWinApp以外でウィンドウを作る方法があるという事でしょうか。
イレギュラーな方法でなければ教えていただけると幸いです。
978975:2005/11/12(土) 13:37:46
>>977 できる。自作パネルを表示した状態のSleipnir1.66でこれを書いてるw
Sleipnir本体がMFCで書かれてることが幸いしている。
CWinAppなんか出てこない。

DLLのプロジェクトを作成する。
ExPanel_Sample2.zipのソースを貼り付ける。
CWnd派生のクラスCMyPanelを作る。
SPX_CreateProcでウィンドウを作ってそのハンドルを返すようにする。
 ここまでできたら、パネルが表示されるか確認
WndCallbackProc, OnCommand, OnSize 相当の機能を CMyPanel に書く。
979デフォルトの名無しさん:2005/11/12(土) 22:48:29
>>978
うわ、助かります
ちょっと今から試してみます
980デフォルトの名無しさん:2005/11/13(日) 06:10:16
>>978
それで上手く行きました。ありがとうございました

ところでドキュメント/ビューを使うなら結局CWinAppを使うしかないのでしょうか
CHtmlViewを使いたいのですが、また詰まってます…
981デフォルトの名無しさん:2005/11/13(日) 06:18:06
SDK使ったほうが簡単ですよ
982デフォルトの名無しさん:2005/11/13(日) 06:52:23
CHtmlViewではなくて、ブラウザのような物を作ろうとするとWebBrowserControlを使う必要があって、
ATL/WTLを使うことになりますよね?(間違ってたらすいません)
そっちのほうが楽でしょうか?
いずれにしても、自分の力では何をやっても厳しいのは痛感しております
指針となるような情報を頂けると幸いです…orz
983デフォルトの名無しさん:2005/11/13(日) 09:49:49
>>982
Viewの基本クラスをCViewからCHtmlViewに変えれば出来るだろ。
984デフォルトの名無しさん:2005/11/13(日) 11:13:43
>>982
その程度が分からないなら、素直にCHtmlView使っとけ。
CHtmlViewの方がはるかに楽だ。
わからずにATL/WTLに特攻してもぐちゃぐちゃになるだけ。
985デフォルトの名無しさん:2005/11/13(日) 13:10:04
報告です。起動した後に
>Warning: Creating a pane with no CDocument.
>Warning: constructing COleException, scode = DISP_E_MEMBERNOTFOUND
>Sleipnir.exe の 0x7c81eb33 で初回の例外が発生しました : Microsoft C++ exception: COleException @ 0x0012d0e0。
のように何だか分らない例外が投げられてますが(これまずいんですかね)、一応動くようにはなりました。
助けてくださった方々に感謝m(_ _)m
986975:2005/11/13(日) 15:32:48
>>972=>>980=>>982=>>985
勉強不足だな。CHtmlView使うのなら、
ウィザードが作ったスケルトンを見ながらDoc-Viewの仕組みを勉強しろ。
CView系はCDocument系と対で使うもの。
987985:2005/11/13(日) 17:05:38
>>986
叱咤激励ありがとうございます、とりあえずMSDNを読み直しました
それで以下のようにCDocumentと結びつけたら最初のWarningは消えました。
その下のCOleExceptionに関してはお手上げで、ググったら
「CWebBrowserでも同じ例外が出るから、そういうものだと思って無視していいんじゃ?」
と書いてました。どうなんでしょうね。

CMyHtmlView *g_pMyPanel;
CMyDocument *g_pMyDocument;

static SPX_HWND SPX_CALL SPX_CreateProc(SPX_ISleipnir* ipSleipnir, SPX_HWND hWndParent)
{
g_pMyPanel = new CMyHtmlView();
g_pMyDocument = new CMyDocument();

CCreateContext CCC;
CCC.m_pNewViewClass = RUNTIME_CLASS(CMyHtmlView);
CCC.m_pCurrentDoc= g_pMyDocument;

g_pMyPanel->Create
(
NULL,
"PanelWindow",
WS_CHILD | WS_VSCROLL | WS_VISIBLE,
CRect(0, 0, 200, 200),
CWnd::FromHandle(hWndParent),
0,
&CCC
);
g_pMyPanel->Navigate2("http://2ch.net", NULL, NULL);
return g_pMyPanel->m_hWnd;
}
988デフォルトの名無しさん:2005/11/14(月) 15:05:26
CStringListの文字を、POSITIONというイテレーターを使わずに読む方法ありますか?
989デフォルトの名無しさん:2005/11/14(月) 15:17:26
GetHead/GetTail
990デフォルトの名無しさん:2005/11/14(月) 15:24:50
サンクス。

でも、配列のIndexで取れないの?
991デフォルトの名無しさん:2005/11/14(月) 15:30:42
>>990
GetAt()はあるね。
まぁ、CObjectの派生クラスを使おうとしてしまった自分自身を呪うがいい。
992990:2005/11/14(月) 15:33:27
GetAtの引数はPOSITIONみたい...

>>991
CStringListライクで、CObject系以外のものがあるってこと?
993デフォルトの名無しさん:2005/11/14(月) 15:35:19
FindIndexとGetAtでいいじゃん。
なんでそんなにPOSITIONを忌み嫌う。

おれは嫌いだが。
994デフォルトの名無しさん:2005/11/14(月) 15:36:24
>>990
CArray<CString,CString&> なら GetAt(nIndex) できる。
995990:2005/11/14(月) 15:38:18
じゃ、これからCStringListにオサラバして、CArray使う系な人になりまつ。
996990:2005/11/14(月) 15:41:12
CArrayの使い方をググってみたら、CStringArrayってのもあるのか。
MFCってワケワカメ。
997デフォルトの名無しさん:2005/11/14(月) 15:46:37
なんだよ、既存のソースでCXXList使ってるのかと思ったら、
わかんなくてList使っちゃっただけか?
998994:2005/11/14(月) 15:48:28
>>990
CArray系とCList系は直交性がないから
最初にどっちにするかちゃんと決めておかないと後で直すのが面倒。
999990:2005/11/14(月) 15:49:26
既存ソースには、CStringListもCArrayもCStringArrayもなくてビクーリでつ。

自分、BCB/TStringList使ってたから、配列参照が欲しくて。
TStringListだとそれに対するNamesとかParamsとかでini形式の左右が取れたり便利だお。
1000990:2005/11/14(月) 15:49:54
>>998
どっちが良い?
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。