952 :
941:2005/11/08(火) 18:00:01
よかったよかった。
#私の端末で巧くビルドできなかったり実行できなかったりしたのは謎だけど。
953 :
945: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
954 :
941:2005/11/08(火) 19:15:29
>>953 あーいや、その組み合わせでは使わないから。
今度使うとしたらVC7+FlexGridProだろうな。
955 :
938:2005/11/08(火) 19:30:32
舞い戻ってまいりました・・・
原因は固定行のマージにありました・・・orz
また明日、マージのところをきちんと調べて再挑戦します。
ありがとうございました。
AppWizardを使わないで初心者向けにMFCの解説をしているような本やサイトで、お勧めがあったら教えていただけないでしょうか
>>957 猫は一応読みました。もう少しGUIに関する部分で突っ込んだ説明が欲しいのですが・・・
マイクロソフト公式解説書 プログラミングMicrosoft Visual C++ .NET〈Vol.1〉基礎編
いろいろ買った中で、これが一番役立った。
>>959 ありがとう、明日本屋で立ち読みしてみます
でも確かその本はマネージドの事が主な内容だった気がするのですが・・・
MFCに関しても詳しく書かれてましたか?
あ、ちと勘違いしておりました・・・
MFCの事も書かれてますね
>AppWizardを使わないで初心者向けにMFC
標準講座MFC6.0
基本的にAppWizardを使わないが、AppWizardの解説も少しある。
ウィザードでメッセージハンドラを追加したら
それがソースにどう反映されるかを見た方が
手っ取り早く勉強になったりするけどな。
965 :
956:2005/11/09(水) 15:41:32
ありがとうございます
>>962>>963 参考にさせて頂きます
>>964 自分がやろうと思ってるのはちょっと定形外な事なので…
一応、ウィザードで作られるコードは十分理解しているつもりです
966 :
デフォルトの名無しさん:2005/11/09(水) 16:29:22
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-
>>967 そうじゃなくて向こうのスレの人はこっちへ来いというのではなく、
「CAsyncSocketがMFCのだから.Netアプリで使うなよ」
と言ったかったのだと思う。
Socketというそのものズバリのクラスがあるだろ。
無いよ。馬鹿な香具師
/\
/ \
 ̄| | ̄
___| |__
/ ⌒ ⌒ ::: \ |\
| (●), 、(●)、  ̄ ̄ \
| ,,ノ(、_, )ヽ、,, 左を見ろ> こっちは右だバカ!
| `トェェェェイ' .:::::__ ./
\ `ニニ´ .:::/ |/
l_!!! ,、 ,..-ヽー'',,.. ' ノ`丶--'ー--、 -―--、 + + +
| ! !_!|i::::::::::`´ー''´:::::::::::::::::::|:::::::::::::::::::::,..、::`ヽ + +
.! ', ,|!::::::::::::::::::::::::::::::::::::::::::ヽ/---‐'´`\::::\ +
!、_,イ:::ヽ::::::::::::::::::::::├┤:::/::| \:::ヽ、_
',::::::',::::::|ヽ::::::::::::::::::::::::::::/:::::::l
質問です
某アプリのプラグインをmfcで作ろうと思っています
その仕様を見ると最初にCreateProc()というコールバック関数の中で
ウィンドウを作成して、そのウィンドウハンドルを本体側に返さないといけないのですが
いつものようにウィンドウを作ると、内部のCWinApp::Run()で処理がループしてしまうので
返り値を本体側に渡す事が出来ません
どのようにしたら解決出来るでしょうか?
973 :
デフォルトの名無しさん:2005/11/12(土) 09:28:12
age
mfcを使わなければいい
975 :
デフォルトの名無しさん:2005/11/12(土) 11:11:08
>>972 何のアプリか書いたら検証できるのに、頭が残念なやつだ。
CWinAppでウインドウ作らなきゃいいし、
コールバック関数も使えるだろ
>>972 Sleipnir1のパネルプラグインです。ごめんなさい
>>976 CWinApp以外でウィンドウを作る方法があるという事でしょうか。
イレギュラーな方法でなければ教えていただけると幸いです。
978 :
975: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 に書く。
>>978 うわ、助かります
ちょっと今から試してみます
>>978 それで上手く行きました。ありがとうございました
ところでドキュメント/ビューを使うなら結局CWinAppを使うしかないのでしょうか
CHtmlViewを使いたいのですが、また詰まってます…
SDK使ったほうが簡単ですよ
CHtmlViewではなくて、ブラウザのような物を作ろうとするとWebBrowserControlを使う必要があって、
ATL/WTLを使うことになりますよね?(間違ってたらすいません)
そっちのほうが楽でしょうか?
いずれにしても、自分の力では何をやっても厳しいのは痛感しております
指針となるような情報を頂けると幸いです…orz
>>982 Viewの基本クラスをCViewからCHtmlViewに変えれば出来るだろ。
>>982 その程度が分からないなら、素直にCHtmlView使っとけ。
CHtmlViewの方がはるかに楽だ。
わからずにATL/WTLに特攻してもぐちゃぐちゃになるだけ。
報告です。起動した後に
>Warning: Creating a pane with no CDocument.
>Warning: constructing COleException, scode = DISP_E_MEMBERNOTFOUND
>Sleipnir.exe の 0x7c81eb33 で初回の例外が発生しました : Microsoft C++ exception: COleException @ 0x0012d0e0。
のように何だか分らない例外が投げられてますが(これまずいんですかね)、一応動くようにはなりました。
助けてくださった方々に感謝m(_ _)m
986 :
975:2005/11/13(日) 15:32:48
>>972=
>>980=
>>982=
>>985 勉強不足だな。CHtmlView使うのなら、
ウィザードが作ったスケルトンを見ながらDoc-Viewの仕組みを勉強しろ。
CView系はCDocument系と対で使うもの。
987 :
985: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というイテレーターを使わずに読む方法ありますか?
GetHead/GetTail
サンクス。
でも、配列のIndexで取れないの?
>>990 GetAt()はあるね。
まぁ、CObjectの派生クラスを使おうとしてしまった自分自身を呪うがいい。
992 :
990:2005/11/14(月) 15:33:27
GetAtの引数はPOSITIONみたい...
>>991 CStringListライクで、CObject系以外のものがあるってこと?
FindIndexとGetAtでいいじゃん。
なんでそんなにPOSITIONを忌み嫌う。
おれは嫌いだが。
>>990 CArray<CString,CString&> なら GetAt(nIndex) できる。
995 :
990:2005/11/14(月) 15:38:18
じゃ、これからCStringListにオサラバして、CArray使う系な人になりまつ。
996 :
990:2005/11/14(月) 15:41:12
CArrayの使い方をググってみたら、CStringArrayってのもあるのか。
MFCってワケワカメ。
なんだよ、既存のソースでCXXList使ってるのかと思ったら、
わかんなくてList使っちゃっただけか?
998 :
994:2005/11/14(月) 15:48:28
>>990 CArray系とCList系は直交性がないから
最初にどっちにするかちゃんと決めておかないと後で直すのが面倒。
999 :
990:2005/11/14(月) 15:49:26
既存ソースには、CStringListもCArrayもCStringArrayもなくてビクーリでつ。
自分、BCB/TStringList使ってたから、配列参照が欲しくて。
TStringListだとそれに対するNamesとかParamsとかでini形式の左右が取れたり便利だお。
1000 :
990:2005/11/14(月) 15:49:54
1001 :
1001:
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。