2ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

■ このスレッドは過去ログ倉庫に格納されています

■MFC相談室 mfc13d.dll■

1 :デフォルトの名無しさん:05/03/07 16:19:56
Microsoft Foundation Classライブラリ専用スレです。

前スレ
■ MFC相談室 MFC12.dll■
http://pc5.2ch.net/test/read.cgi/tech/1096848771/

過去ログは >>2-5 の辺り。

2 :デフォルトの名無しさん:05/03/07 16:20:50
2get

過去スレ
■ MFC相談室 MFC12.dll■
http://pc5.2ch.net/test/read.cgi/tech/1096848771/
■MFC相談室 mfc11.dll■
http://pc5.2ch.net/test/read.cgi/tech/1088084875/
■ VisualC++(MFC限定)相談室 MFC10.dll■
http://pc5.2ch.net/test/read.cgi/tech/1074104008/
■ VisualC++(MFC限定)相談室 MFC9.dll■
http://pc5.2ch.net/test/read.cgi/tech/1062098350/
■ VisualC++(MFC限定)相談室 MFC8.dll■ (スレタイ壊れているけど前スレ)
http://pc5.2ch.net/test/read.cgi/tech/1056584836/
■ VisualC++(MFC限定)相談室 MFC7.dll■
http://pc5.2ch.net/test/read.cgi/tech/1047949606/l50
■ VisualC++(MFC限定)相談室 MFC6.dll■
http://pc5.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

3 :デフォルトの名無しさん:05/03/07 19:27:22
レジストリエディタ(regedit.exe)のようなUIのアプリを作ろうとしています。
つまり、スプリッタで左右2つのViewを持ち、
左がTreeViewで右がListViewです。

そこで、ListView側に関する質問です。
これまたレジストリエディタにように、アイテムをダブルクリックしたら
値を表示したりするようなダイアログを開くようにしたいのです。
それには、どのようなオーバーライド関数や、メッセージで
引っ掛ければいいのでしょうか?

4 :デフォルトの名無しさん:05/03/07 19:58:57
>>3
ダブルクリック

5 :3:05/03/07 20:52:25
>>4
あぁ… なるほど… アイテムがハイライト状態になったりするのはListViewの
デフォルトの機能だから、ダブルクリックのメッセージで引っ掛ける。

あとは、そのときのマウスカーソルの位置で対象のアイテムを特定
すればいいということでしょうか?

6 :デフォルトの名無しさん:05/03/08 11:25:46
マウスカーソル言うかアイテムの位置じゃね?

7 :デフォルトの名無しさん:05/03/09 11:17:58
>>4,6
どうもありがとうございました。
こんな感じになりました。あとは、↓ではメッセージボックスで
表示しているのをダイアログにして、表示内容を充実させるだけになりました。

void CCcvListView::OnNMDblclk(NMHDR *pNMHDR, LRESULT *pResult)
{
CListCtrl& listCtrl = GetListCtrl();

int iItem = listCtrl.GetNextItem(-1, LVNI_SELECTED);
if (iItem == -1) { /* アイテムが選ばれていなかったら */
goto FUNC_EXIT; /* あとの処理はしない */
}

/* ダイアログへ表示する内容 */
CString name = listCtrl.GetItemText(iItem, 0);
CString data = listCtrl.GetItemText(iItem, 1);
CString msg;
msg.Format("name = [%s]\ndata = [%s]", name, data);

MessageBox(msg, "aaa", MB_OK); /* 表示 */

FUNC_EXIT:

*pResult = 0;
}


8 :デフォルトの名無しさん:05/03/09 16:51:44
ピクチャーボックスの塗りつぶす色を
黒以外(黄色)の色を設定したいのですが
どうすればよろしいですか?


9 :デフォルトの名無しさん:05/03/09 21:07:10
すまん。誰か教えてください。
CreateDispatchでCOleDispatchDriverを継承したクラスのポインタを
グローバル変数にし、マルチスレッドにしたら、必ず、COleException
が発生するんだけど、どうすれば解決するか知りませんか?
CoMarshalInterThreadInStreamを使って解決しようしたんだけど、なんか無理っぽかった。

CCustom *m_p;

void main(void)
{
::CoInitializeEx(NULL, COINIT_MULTITHREADED);
m_p = new CCustom();
m_p->CreateDispatch("なんかID") ;
CreateThread( NULL, 0, CreateThreadFunc, 0, 0, 0 );
m_p->なんかメソッドA;

}
void CreateThreadFunc(void)
{
::CoInitializeEx(NULL, COINIT_MULTITHREADED);
While(1){
m_p->なんかメソッドB;
Sleep(1000);
}
/////
}

10 :デフォルトの名無しさん:05/03/10 13:20:35
>>8
黄色いビットマップのリソースでも張り付けてやればええんジャマイカ?

11 :デフォルトの名無しさん:05/03/12 10:41:33
CBitmap *pBitmap;
HBitmap hBitmap;
/* hBitmap作成 */
pBitmap->FromHandle(hBitmap); //HBITMAPからCBitmapを得る
/* 処理 */

のようにHBITMAPからCBitmapを得て、処理後にDeleteObjectしようとしたのですが
pBitmap->DeleteObject(); はダメで
DeleteObject(hBitmap); なら開放できました

どうしてもDeleteObject(hBitmap);を使わないで開放したいのですが、何か方法は無いでしょうか?

12 :デフォルトの名無しさん:05/03/12 11:05:51
>>11
FromHandle使うんじゃなくてAttachしたらどうか。

13 :11:05/03/12 12:05:29
Attachでいけました
ありがとうございます

14 :デフォルトの名無しさん:05/03/13 12:11:50
VC++6.0を使ってます。

スクロールバーのつまみのサイズを変えるにはどうしたらいいでしょうか。

15 :デフォルトの名無しさん:05/03/13 20:59:38
VC++6.0を使っています。
リストボックスの背景を動的に変える方法を
知ってる方がいましたら教えて頂けないでしょうか?

16 :デフォルトの名無しさん:05/03/13 21:39:36
>>14
SCROLLINFO::nPage

17 :デフォルトの名無しさん:05/03/14 21:03:48
>>16
ありがとう。

18 :デフォルトの名無しさん:05/03/15 09:38:16
MDIで、ドキュメントをアクティブにせずに開く方法ってありますか?
タブブラウザの「リンクを開くときにアクティブにしない」と同じような動作にしたいのですが。

19 :デフォルトの名無しさん:05/03/15 12:13:12
>>18
アクティブにする

20 :デフォルトの名無しさん:05/03/15 20:03:04
とあるWindowLessのActiveXコントロールを作っています。
大雑把に機能を言うと、リクエスト(ActiveXメソッド)があったら、
AfxBeginThreadでワーカースレッドを起こして、
そのスレッド内でとある機器とソケット通信を行って、
終わったら通信終了ということで、
そのスレッドからActiveXイベントを投げたいわけです。

まず、スレッドに発生元であるコントロール自身のポインタを渡して、
スレッド中からFireEventを呼んでみたら失敗。
まあ、これはスレッドとコントロール自身が別スレッド空間だからなあと思いつつ、

じゃあしゃあないPostMessageするかと思ったら、
WindowsLessだから当然hWndを持ってないわけです。
こういう場合、どうやって別スレッドからActiveXコントロールのFireをしてやればいいんでしょ?

少し調べてマーシャリングというものを行えば良いらしいというとこまでは行き着いたのですが、
ググった程度ではサンプル等にまではぶち当たることができませんでした。

このへん説明してるいいwebとかないっすかね?

21 :デフォルトの名無しさん:05/03/15 20:32:02
画像ファイルを読み込むときってCImageとか使わないで自分でオープンソースのライブラリから作るメリットってありますか?


22 :デフォルトの名無しさん:05/03/15 21:13:39
>>21
そのオープンソースのライブラリによる

23 :デフォルトの名無しさん:05/03/16 04:53:41
CRichEditViewで、例えばメニューのボタンを押したらエディタに「あああ」とか出るような方法で、
直接あああと出せる方法ってありますか?
今はクリップボードに「あああ」をコピーさせて出しているんですが・・・

24 :デフォルトの名無しさん:05/03/16 05:17:25
GetRichEditCtrl().ReplaceSel

25 :23:05/03/16 05:41:33
うおおおお!!できました ありがとうざいます!

26 :デフォルトの名無しさん:05/03/16 11:58:04
VC6++使用
DIID_HTMLElementEvents2使いたくて
Platform Sdk入れたのですが、
以下のエラーが出ます。

c:\program files\microsoft platform sdk for windows xp sp2\include\mshtml.h(40626) : error C2061:
構文エラー : 識別子 'LONG_PTR' がシンタックスエラーを起こしました。

SDKセットアップ後、環境変数のバッチ当てて、
VCの環境でIncludeとLibにSDKのディレクトリを設定して
既存のIncludeとLibより上位に持ってきました。

他に設定する項目はあるのでしょうか?
よろしくお願い致します。

27 :デフォルトの名無しさん:05/03/16 19:35:12
mshtml.h, mshtml.idl
mshtml.dll

28 :デフォルトの名無しさん:05/03/16 19:54:59
BITMAPリソースにある画像を絶対座標で最善面に表示したいのですが、やり方、あるいは参考になるサイトってあるでしょうか?

29 :デフォルトの名無しさん:05/03/16 20:03:37
>>28
絶対座標ってなんの座標?
最善面に表示ってどこの最前面?

30 :デフォルトの名無しさん:05/03/16 20:14:42
デスクトップの絶対座標と全てのアプリの最前面です。WndTopMostみたいなやつでしょうか

31 :デフォルトの名無しさん:05/03/16 20:27:52
>>30
ビットマップリソース表示と、最前面表示を別々にググればたくさん出てくるよ。

32 :デフォルトの名無しさん:05/03/16 20:29:20
それじゃ意味がないんです

33 :デフォルトの名無しさん:05/03/16 21:01:15
ていうか>>30で激しく正解が出ているわけだが。

34 :デフォルトの名無しさん:05/03/16 21:34:40
>>32
ビットマップリソース表示と最前面表示の方法がわかれば
あとはそれらを組み合わせるだけじゃん。

35 :デフォルトの名無しさん:05/03/16 21:45:49
因みに>>32は別人です。
もっと色々やってみます。ありがとうでした

36 :18:05/03/17 11:13:35
誰か、教えて・・・

37 :デフォルトの名無しさん:05/03/17 12:01:54
だからアクティブにしたくなかったら
アクティブにすればいいんだよ

38 :デフォルトの名無しさん:05/03/17 18:55:21
リストビューの項目をセンタリングしたい場合どうしたらよいのでしょうか?

39 :デフォルトの名無しさん:05/03/18 10:38:09
http://forums.belution.com/ja/vc/000/164/06s.shtml

40 :デフォルトの名無しさん:05/03/18 13:21:46
>>39ありがとうございますm(__)m

41 :デフォルトの名無しさん:05/03/20 19:00:17
exeと同じ階層に設定ファイルを置いているんですが、
開くファイル?を右クリック⇒プログラムから開く、でやるとその開くファイルと同じ階層から設定ファイルを開こうとしているようなんです
どうすれば常にexeと同じ階層から設定ファイル開くようにできるんでしょうか?

42 :デフォルトの名無しさん:05/03/20 19:26:47
>>41
実行モジュールのあるディレクトリにある設定ファイルを開けばいい。
つまり、GetModuleFileName()で取得できたファイル名の'\\'から後を捨てて得られたディレクトリに
移動してから設定ファイルを開けばいい。

43 :41:05/03/20 20:09:10
ありがとうございます、できました

44 :デフォルトの名無しさん:05/03/20 21:55:02
mfc最高!

45 :ゆん:05/03/20 23:17:49
検索サイトエンジンを作ってみたい><
あれってCGIでできてるの??
誰かつくり方しってますかー????




46 :デフォルトの名無しさん:05/03/20 23:31:44
スレ違いどころではないな

47 :デフォルトの名無しさん:2005/03/21(月) 06:24:54
MFCってまだ廃れないよね?
.net+Win32SDKとかにならないよね?

48 :デフォルトの名無しさん:2005/03/21(月) 19:57:23
ttp://kody.jp/vc/index.shtml

ttp://wg-web.ics.teikyo-u.ac.jp/usage/VC/vwchange.html
を参考にして、CFormViewを切り替えて、
そのCFormViewにWeb Browser Controlを
貼り付けようとしているのですが、
2つ目以降のCFormViewでWeb Browser Controlがうまく動きません。

Program: XXX
File: winocc.cpp
Line:345

For information on how your program can cause an assertion failure, see the Visual C++ documentation on asserts.

コンパイルは通るのですが、上記のエラーが出てしまいます。
MainFrmから呼び出すなど、色々試してみたのですがうまく行きません。
原因がわかる方いらっしゃいましたらどうぞ御教授下さいませ。

49 :デフォルトの名無しさん:2005/03/21(月) 20:28:04
VC++のように複数行選択してシフトを押すと全体にタブ、シフト押しながらだとタブが1つ減る(なんか変な言い方・・・)
とか、CTRL+Zで何十回も戻れたりする動作は自分でコーディングしないといけないんでしょうか?
それとも簡単にできるものなんでしょうか?

50 :デフォルトの名無しさん:2005/03/21(月) 21:20:19
>>49
VisualStudioのテキストエディタの、インデントの話かな?
かなり自分で書かないとダメッしょ。

51 :デフォルトの名無しさん:2005/03/21(月) 22:44:48
全部、自分で書け。
エディットコントロールに頼る様ではダメ。

14 KB
■ このスレッドは過去ログ倉庫に格納されています

★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.02.02 2014/06/23 Mango Mangüé ★
FOX ★ DSO(Dynamic Shared Object)