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

■MFC相談室 mfc17d.dll■

レス数が950を超えています。1000を超えると書き込みができなくなります。
0001デフォルトの名無しさん2006/11/21(火) 10:38:31
Microsoft Foundation Classライブラリ専用スレです。

前スレ
■MFC相談室 mfc16d.dll■
http://pc8.2ch.net/test/read.cgi/tech/1146117893/
0883デフォルトの名無しさん2007/07/02(月) 13:57:13
>>874
ダイアログはMFCの機能じゃないだろ。
0884デフォルトの名無しさん2007/07/02(月) 14:07:30
MFCは便利だよ。
printfとかあるし。
08858742007/07/02(月) 14:17:36
>>883
CDialogを使っていると言うだけの話と思ってくれていいよ。
0886デフォルトの名無しさん2007/07/02(月) 14:43:48
>>885
え?CDialogしか使ってないのに>>874みたいなこと書いてるの?
そりゃ失礼。





ママー変なおじさんが来たよ〜〜〜
08878742007/07/02(月) 14:57:01
あーやっぱり……
0888デフォルトの名無しさん2007/07/02(月) 15:23:35
>>887
馬鹿にされるのは仕方ないかもな。
0889デフォルトの名無しさん2007/07/02(月) 20:07:22
隊長、噂でVS2005のMFCってグリッドコントロールが準備されてるってのは本当デツカ?
VC6で簡単にエクセルのようなグリッドコントロールが使いたいのですが・・・
0890デフォルトの名無しさん2007/07/03(火) 10:36:47
>>889
VC6には、FlexGridのMSバンドル版である、MS-FlexGridがバンドルされていたと思いますが。
Excel(つーかMSOfficeSuite)をインストール済みなら、Excel由来のコントロールも使えると思うし。
0891デフォルトの名無しさん2007/07/03(火) 12:45:41
俺も >>874 同様、CDialog (とコントロールの派生クラス) だけの為に
MFC 使ってるんだが、そんなオカシイこと言ってるか?
0892デフォルトの名無しさん2007/07/03(火) 12:49:25
いいんじゃね?
0893デフォルトの名無しさん2007/07/03(火) 16:05:18
ウィンドウがダイアログでも
CDialogだけってことはあまりないだろ
配置するコントロールもMFCクラスだし
文字列操作とかファイル操作とか
見えない処理でもMFCクラスを使う
機会はある。
0894デフォルトの名無しさん2007/07/04(水) 01:17:10
>>882
お前マジでそんなものも作れないの?
0895デフォルトの名無しさん2007/07/04(水) 01:41:46
>>894
ここ数日煽りばっかりやってるけど
何か嫌なことでもあったの?
0896デフォルトの名無しさん2007/07/04(水) 03:14:33
自前のライブラリでWin32APIのみでMFCカバー完了したんだけど
使ってみたいひといる?
0897デフォルトの名無しさん2007/07/04(水) 06:15:52
>>894
すまん
解説キボン
0898デフォルトの名無しさん2007/07/04(水) 07:53:23
あんただれ?
0899デフォルトの名無しさん2007/07/04(水) 08:53:26
とんでもない。わたしゃ神様だよ。
0900デフォルトの名無しさん2007/07/04(水) 09:26:04
神光臨!
0901デフォルトの名無しさん2007/07/04(水) 11:10:17
蟹工船!
0902デフォルトの名無しさん2007/07/04(水) 18:31:10
>>896
どうせならMFCだけでなく、ATL::CWindowからATL::CWindowImplあたりのカバーをしてくれ。
そうすればVC++以外でWTLが使えるようになる。
0903デフォルトの名無しさん2007/07/05(木) 00:03:59
>>897
解説キボンの前にどこまで考えたのまったく考え付かないわけ?
まったく考えつかない場合目茶低レベルなので以下の質問に答えて欲しい。
TreeViewとかTreeCtrlとかは使ったことあるの?
あるならそれを自前で実装するとしたらどうすればいいか考えてみればいい。
FileDialogも似たようなもの。
TreeViewもヒントにならない場合初歩にも達していないので以下の質問をさせてもらう。
普通のViewに好きなようにアイコンは表示できるのできないの?
これができないならお手上げ、できるなら上の質問に答えられるレベルになればなんとかかんとか思いつくようになれるだろ
良い実装になるかどうかしらんが解説キボンなどと書かなくはなるだろ
0904デフォルトの名無しさん2007/07/05(木) 00:19:31
ネチネチしてるのは梅雨だけで十分。
0905デフォルトの名無しさん2007/07/05(木) 01:16:46
しかしMFCのタイマ機能は貧弱にも程があるよな
MFC設計者アホだろ
0906デフォルトの名無しさん2007/07/05(木) 04:45:05
MFCのタイマー機能って何?
つーか、あれ、SDKそのままで手を加えてないだけだと思うが。
0907デフォルトの名無しさん2007/07/05(木) 07:43:04
>>903
え?いきなりtreeの話始めてるけど
基本方針ってどういうのを想定して言ってるの?
話が全く見えないんだけど?
つまり、FileDialogをどうにかこうにかして使うんじゃなくて
既存FileDialogはもう全く駄目なので自分が望む理想のFileDialogを自作するって言ってる?
0908デフォルトの名無しさん2007/07/05(木) 09:04:28
MSDN見ると、CFileDialogのパス名格納用バッファのサイズって2048が最大だったんだな
http://msdn2.microsoft.com/ja-jp/library/dk77e5e7(VS.80).aspx

20*(MAX_PATH+1)+1とかやってたけど問題無かったがなぁ…
ってちゃんと検証したか覚えて無いがw
0909デフォルトの名無しさん2007/07/06(金) 01:15:34
スレッドから起動してるモーダルダイアログを他スレッドから落とす方法ってありますか?
WM_CLOSE、EndDialogどれも落ちる気配が無いです…
0910デフォルトの名無しさん2007/07/06(金) 01:54:45
>>908
2048?マジすか?
なんもできないじゃないですかw
やっぱり自分で作るしかないですかね
0911デフォルトの名無しさん2007/07/06(金) 09:41:20
複数選択させることがあまりないからなあ
これ対応するにはカスタムテンプレートじゃなくてフックのほうを使うのかな
0912デフォルトの名無しさん2007/07/07(土) 16:45:11
CArrayクラスを使って
char szItem[定数][可変長];
これと等価のものはどの様に書いたらイイデツカ
0913デフォルトの名無しさん2007/07/07(土) 17:12:28
>>912
std::vector<std::vector<char> >
0914デフォルトの名無しさん2007/07/07(土) 21:40:05
それCArray違う。
といいつつこれも違うんだが、CStringArrayを勧めてみる。
0915デフォルトの名無しさん2007/07/08(日) 11:29:41
VisualStudio2003なんですがCButtonにSetIconするとボタンの外観が
クラシックスタイルになってしまいます。
アイコンつきのボタンをXPスタイルで表示させるにはどうすればいいんでしょうか?
0916デフォルトの名無しさん2007/07/08(日) 12:49:26
>>915
1. オーナードロー+Theme系APIで全部自前描画

方法としては一番正しそう。だが面倒。

2. NM_CUSTOMDRAWで中身描画部分だけオーバーライド

BS_BITMAP/BS_ICONはオフにしておくこと。
2005だと手作業で追加作業が必要だったので、念のためメモしとく。
*このメッセージはCC6.0以降でしか送られてこない事に注意

// BEGIN/END_MSG_MAP
ON_NOTIFY(NM_CUSTOMDRAW, コントロールID, ハンドラ)
// ハンドラ
afx_msg void Handler (NMHDR * pNotifyStruct, LRESULT * result)
// ハンドラ実装
const NMCUSTOMDRAW& nmcd = *(const NMCUSTOMDRAW *)pNotifyStruct;
if ( dwDrawStage == CDDS_PREPAINT ) {
// ここでnmcd.hdcに自前描画
*result = CDRF_SKIPDEFAULT;
}
else {
*result = CDRF_DODEFAULT;
}
0917デフォルトの名無しさん2007/07/08(日) 14:55:24
>>916
レスありがとうございます
自前で描画するしかないんですねorz
Theme系APIについて全く無知なので先は険しそうです
0918デフォルトの名無しさん2007/07/09(月) 08:14:29
>>821
たしかVC6はCStringはクラステンプレートになっていなかったはず。
0919デフォルトの名無しさん2007/07/09(月) 18:01:07
VC6です。
現在、複数のコントロールバーの状態を、CFrameWnd::SaveBarStateを使わずに、
アプリケーションのINIファイルやレジストリとは無関係の任意のINIファイル、
任意のセクションに、WritePrivate系の関数で保存できないかと試行錯誤しています。

CDockStateの解説を見てみたところ、Serializeで保存できると書いてあったので、
CMemFileでメモリ上にシリアル化し、そのバイト列をそのまま
WritePrivateProfileStructで吐き出してしまう方法を思いつきました。

以下のようなコードになっているのですが、CMemFileを使うこと自体も初めてで、
このような方法でよいものなのか、わからない状態なのです。

こういう方法でコントロールバーの状態を保存した場合、
なにか問題の起こる可能性はありますでしょうか?
もしくは、もっと的確な方法はありますでしょうか?

  CDockState state;
  GetDockState(state);

  CMemFile file;
  CArchive ar(&file, CArchive::store);
  state.Serialize(ar);

  int bufSize = file.GetLength();
  BYTE* pBuf = file.Detach();
  CString strBufSize;
  strBufSize.Format(_T("%d"), bufSize);
  WritePrivateProfileStruct(_T("SECTION"), _T("BUFFER"), pBuf, bufSize,
   _T(".\\DockState.ini"));
  free(pBuf);
0920デフォルトの名無しさん2007/07/09(月) 19:44:40
CFrameWnd::SaveBarStateのソース見たら簡単にできそうな気がする
0921デフォルトの名無しさん2007/07/10(火) 11:27:58
MFCでDLLを作成している場合のDLLMainの引数のHINSTANCEは
どのように取得したらよいでしょうか?

theApp.m_hInstance
をGetModuleFileNameに渡してみたのですがDLLも
パスが取得できず、呼び出し元のパスが取得されてしまいます。

よろしくお願いします。
0922デフォルトの名無しさん2007/07/10(火) 12:41:29
デバッガ持ってないの?
0923デフォルトの名無しさん2007/07/10(火) 12:50:50
AfxGetInstanceHandle()
0924デフォルトの名無しさん2007/07/10(火) 12:54:28
Win32 APIを便利なクラスライブラリ化したものが
MFCでしょ?(マイクロソフトの製品)
.NET Frameworkクラスライブラリは、何からできてるの?
0925デフォルトの名無しさん2007/07/10(火) 12:59:49
USRDLL バージョンというのは何でしょうか?
0926デフォルトの名無しさん2007/07/10(火) 13:22:04
>>924
Win32に相当するのが.NET Framework
0927デフォルトの名無しさん2007/07/10(火) 14:38:38
少なくとも現状は、.NET FrameworkはMFCやATL/WFC等に代わるライブラリ
で、.NET Frameworkは下請けとしてWin32 APIを呼んでいるはず。

そうでなければ、.NET Frameworkと同じ仕掛けを使えば、システムコール
を使わずにシステムを直接操作できる「セキュリティホール」が存在する
ことになる。

マイクロソフトは、将来的にはMFCやWin32APIを捨てて、.NET Frameworkを
ネイティブなAPIにしたいようだけど、そうなればWindowsエミュレータを
提供しない限り、過去のWindows資産は動かなくなるわけで、下手をすると
Windowsで大きくなってきたMicrosoftの足元をすくうことにもなりかねない。
0928デフォルトの名無しさん2007/07/10(火) 16:39:57
MFCでスプリットウィンドウを作成してみようと、ヘルプを参考にCMainFrame::OnCreateClientに次のように書きました。
(長くなるのでエラー処理は省いています。)

m_wndSplitter.CreateStatic(this, 1, 2);
m_wndSplitter.CreateView(0, 0, RUNTIME_CLASS(CLeftView), CSize(100, 100), pContext);
m_wndSplitter.CreateView(0, 1, RUNTIME_CLASS(CSplitWndTestView), CSize(0, 0), pContext);

上記のような左右分割のスプリットウィンドウは問題ないのですが、

m_wndSplitter.CreateStatic(this, 2, 1);
m_wndSplitter.CreateView(0, 0, RUNTIME_CLASS(CLeftView), CSize(100, 100), pContext);
m_wndSplitter.CreateView(1, 0, RUNTIME_CLASS(CSplitWndTestView), CSize(0, 0), pContext);

上記のような上下分割のスプリットウィンドウを作成仕様とすると、CSplitterWnd::IdFromRowColの下記Assertに引っかかってしまいます。
ASSERT(col < m_nCols);
ちなみにASSERTだけが問題らしく、リリースビルドの場合は問題なく動作しています。

何か書き方に問題がありますでしょうか?
環境はWindowsXP SP2 + Visual Studio 6.0 SP6です。
0929デフォルトの名無しさん2007/07/10(火) 16:43:15
>>927
>.NET FrameworkはMFCやATL/WFC等に代わるライブラリ
いや Framework っつーくらいで、実行環境だから。
>ネイティブなAPIにしたいようだけど、
諦めたとか言ってなかったっけ?

つかスレ違いだ。
0930デフォルトの名無しさん2007/07/10(火) 16:58:34
>928
デバッガ持ってないの?
0931デフォルトの名無しさん2007/07/10(火) 17:25:37
ASSERT(col < m_nCols);
の意味を考えればすぐわかりそうなもんだが。
0932デフォルトの名無しさん2007/07/10(火) 20:01:21
>>916
>>915=>>917です。その後の経過を報告します。

まず[1.]の方法を試してみましたが、
ボタンの上にポインタがあることを検知できないことに加えて、
Theme系のAPIを使うと、当然ながらWin2k上で動かない、
という問題が発覚しました。

次に[2.]の方法を試してみましたが、
こちらはXP上ではそれっぽく表示され、
2k上ではアイコンなしのボタンとして表示されます。

理想はXPでも2kでもアイコンが表示され、かつXP上ではXPのスタイルに
なることなんですが、現状の選択肢だと[2.]の方法で妥協するか、
全部古いスタイルに統一してしまうか、になりそうです。

それとまた質問なんですが、DrawThemeBackground関数に渡す
BP_PUSHBUTTON とか PBS_NORMAL 等はどこに定義されているんでしょうか?
今回は0,1,2...と渡して実際に動かして試しました。
0933デフォルトの名無しさん2007/07/10(火) 22:41:21
>>932
tmschema.h
uxtheme.hの頭の方に、どこで定義されているかは書いてあるんだけどね。

CC6.0以降は自前描画、それより前はBS_ICON+SetIcon、
と使い分けるのが無難かな。多少面倒だけど。
0934デフォルトの名無しさん2007/07/10(火) 22:45:57
>>932
[1]では、Windows 2000ならテーマAPIではなく、
GDIのDrawFrameControlかDrawEdgeで枠を書けばいい。
ますます面倒くささに拍車がかかるけど。
0935デフォルトの名無しさん2007/07/11(水) 20:41:58
>>933,>>934
レスありがとうございます。

基本的に>>933氏のアプローチに沿うかたちになりました。
まずLoadLibraryとGetProcAddressをつかってOpenThemeData関数をコール、
テーマが取得できたらカスタムドローイベントでアイコン部分を描画。
Openしたテーマ自体は使わずにすぐにClose。
テーマが取得できない、あるいはライブラリをロードできない場合は
CButtonをBS_ICONで作り直して普通のアイコンつきボタンにする。

これで一応期待した動作になりました。
なんかCButtonがCreateされたあとはBS_ICONをON/OFFできないみたいなので、
DestroyWindow→Createで作り直すような形になってしまいましたが、
こういうものなんでしょうか。
0936デフォルトの名無しさん2007/07/13(金) 13:26:29
VC++2003です。

CEditのLineLengthで指定行の文字のバイト数が取得できると思ったんですが、

int len = m_edit1.LineLength(m_edit1.LineIndex(i));

MSDNによると指定された行の長さ (バイト数)と書いてあるので
例えば「あいうえお」とすれば10が返ってくると思ったんですが、実際には5が返ってきます。
これだと全角文字はGetLineで一行取り出す、ということが出来ないんですが、こんなもんなんでしょうか。
0937デフォルトの名無しさん2007/07/13(金) 13:35:14
全角文字含んだ行も普通に取れてるけど
0938デフォルトの名無しさん2007/07/13(金) 13:40:30
unicodeか
0939デフォルトの名無しさん2007/07/13(金) 13:45:51
ええ、ホントですか?
おかしいな、と思い新しいプロジェクトでテストしてみたら、本当ですね・・
ちゃんと10が返ってきてます・・・・おかしい、何かがおかしい、
すみませんでした。
0940デフォルトの名無しさん2007/07/13(金) 13:47:40
>>938
いえ、マルチバイトです。
0941デフォルトの名無しさん2007/07/13(金) 14:10:39
ASSERT(sizeof(TCHAR) == sizeof(WCHAR));
0942デフォルトの名無しさん2007/07/13(金) 14:22:02
>>941
一応、アサートします・・・
0943デフォルトの名無しさん2007/07/13(金) 14:31:53
>>942
ASSERTで実行が止まりましたか?
0944デフォルトの名無しさん2007/07/13(金) 14:32:33
>>943
はい、止まりました。マルチバイトだからですよね。
0945デフォルトの名無しさん2007/07/13(金) 15:00:13
CEdit::LineLengthのソース見てみると単にEM_LINELENGTHをsendしてるだけ。
EM_LINELENGTHの方は
>the return value is the length, in TCHARs
って書いてあるから、MFCの方が間違ってるっぽい。
0946デフォルトの名無しさん2007/07/13(金) 15:10:21
つーか、>>939で解決、、、元質問者の勘違いでFAなのでは
09479362007/07/13(金) 16:15:39
CEdit::LineLengthがMBCSならばバイト数が返り、UNICODEなら文字数が返るのが普通なのは分かったんですが、
それでもなぜうちだとMBCSにも関わらず文字数が返るのかが分からなかったんです。
いろいろ調べたら、どうやらXPスタイルに問題があるようでした。
XPのSP2(もしかしたら他も)でビジュアルスタイルを適用していると、エディットボックスの挙動が変わるらしいです。
ビジュアルスタイルを外してテストしたらちゃんとバイト数が返ってきました。
でも古臭いのはイヤなので、改行コードやらなにやら自分で取得して一行単位の処理したいと思います。
一日中悩みました。
09489362007/07/13(金) 16:20:41
>>945
ソースまで見てくれてありがとうございました。
僕も見ましたが随分簡単なソースだったんですね。
0949デフォルトの名無しさん2007/07/13(金) 16:42:27
Editコントロールは行単位で読み書きすると時間かかるから
読みたい行数が多い時はGetLine使わない方がいい
だからGetLine使わずに行処理する方法も考えることになる
0950デフォルトの名無しさん2007/07/13(金) 16:48:07
だけどGetLineは行の正確なバイト数は知らなくてもいいだろ
バッファは大目に用意しとけばいいし
エディットコントロールの最大を超えることはないし
0951デフォルトの名無しさん2007/07/13(金) 17:13:03
その発想はないわw
0952デフォルトの名無しさん2007/07/14(土) 19:57:23
すいませんが質問です
CDialogBar内のコンボボックスでリターンキーを押下したときに
イベントを発生させたいのですが、
どうやってCDialogBar内のコンボボックスのリターンキー押下の
メッセージ拾えばいいですか?
0953デフォルトの名無しさん2007/07/14(土) 20:30:20
>>952は自決しました
PreTranslateMessageでできました
スレ汚しスマソ
0954デフォルトの名無しさん2007/07/15(日) 00:58:02
スレが血塗れに!
0955デフォルトの名無しさん2007/07/17(火) 10:44:55
侍だな
0956デフォルトの名無しさん2007/07/20(金) 18:04:45
今までMFCでダイアログベースのプログラムしか組んだことがありません
この度MDIのプログラムを作りたいのですが、SDIやMDIの場合リソースファイルを
自分で書かないといけないものなのですか?
ダイアログベースの場合はツールボックスからD&Dして作っていて簡単だったんですが
不便ですよね
0957デフォルトの名無しさん2007/07/20(金) 18:34:55
MDIで何を作りたいの?
FormViewとか知らんの?
0958デフォルトの名無しさん2007/07/20(金) 18:45:23
お恥ずかしい限りです、会社ではシリアル関係の実装ばかりやっていて
およそSDIやMDIは知らなくても出来たのでFormViewとか全くの無知です
やりたい事はMDIベースのダイアログからボタンを押したら
グラフのダイアログ(ビューかな?)やテキスト入力の出来るダイアログを出すことです
0959デフォルトの名無しさん2007/07/20(金) 19:51:41
掲示板で聞かないとわからないようなことじゃないし
普通に勉強すればいいよ
0960デフォルトの名無しさん2007/07/20(金) 19:57:09
>>959
サンクス
>>958の書込み読んでFormViewを検索して、SDIでもMDIでも新しいプロジェクトの作成から
基底クラスを良く考えて選べば出来そうですね余りにも同じようなプログラムばかり
組んだり改造しているんで世間知らずでしたww、よってこの質問は取り下げます
0961デフォルトの名無しさん2007/07/21(土) 06:25:55
しね
もうくるな
0962デフォルトの名無しさん2007/07/22(日) 01:38:55
そんな初心者追っ払うほどの話かなぁ・・・
MDIの話でもドキュメントテンプレートの理解までもってってくれる
入門書はみたことないしドキュメントテンプレート理解できないと結構ハマルと思うんだ、俺。
0963デフォルトの名無しさん2007/07/22(日) 03:23:14
MDIってアプリの余白部分が無駄食ってしょうがないと思ってるの漏れだけ?
SDIやダイアログonlyのアプリで複数インスタンス立ち上げ可能な創りの方が合理的だろ
0964デフォルトの名無しさん2007/07/22(日) 13:37:32
何で自分だけと思うんだろう・・・
0965初代スレの>>12007/07/23(月) 22:18:45
このスレまだあったのかw

俺はとっくの昔にMFCなんてクズライブラリは見限って
C#とオブジェクト指向で楽チンなプログラミングライフを
送っているというのにお前らときたら大変だなw

同情を禁じ得ない。
0966デフォルトの名無しさん2007/07/23(月) 22:41:14
いや、昔からの人は今はほとんど同じようなもんじゃない?
このスレにいるのは回答側にまわってるだけさ。
0967デフォルトの名無しさん2007/07/24(火) 00:40:15
独自のDDVとDDXを定義するにはどうしたらよいのでしょうか?

CEditとかはWizardだとCStringとかにしか定義できません。

参考ページとかでもよいので教えてください。
0968デフォルトの名無しさん2007/07/24(火) 01:00:20
すいませんほかにも

UpdateDataではすべてが更新されてしまいますが
コントロールを指定して一つ一つValidateするにはどうしたらよいでしょうか?

Failを呼び出すとメッセージボックスが出てきてしまいますが
これを独自のエラー表示とするにはどうしたらよいでしょうか?
(たとえばToolTipとかLavelに表示)
0969デフォルトの名無しさん2007/07/24(火) 08:34:41
UpdateDataのソース読んだらわかりそうなものだけど、MSDNの解説読んだ?

>DDX_ プロシージャと DDV_ プロシージャの書き方、
>ClassWizard を拡張して独自のルーチンを使う方法についても説明します。
0970デフォルトの名無しさん2007/07/26(木) 03:19:30
MFCってもう終わりなの?
VC6.0使いつづけて6年・・・
統合環境の中では軽い方だし最高なのに
0971デフォルトの名無しさん2007/07/26(木) 20:59:33
MFCはともかく、VC6.0は終わりでいいと思う。
0972デフォルトの名無しさん2007/07/26(木) 22:01:28
秀丸作者がVC5使ってるんじゃなかったっけ?
0973デフォルトの名無しさん2007/07/26(木) 22:51:16
おれも
0974デフォルトの名無しさん2007/07/26(木) 23:00:28
VC2002がすげー糞だったから、VC6.0を使い続けている人が多そうだな
俺的にはVC2005が割と良かったからそろそろバージョンアップしてもいいと思うが
0975デフォルトの名無しさん2007/07/26(木) 23:41:03
2005 Expressと.NET Frameworkでいい気がしてきた
0976デフォルトの名無しさん2007/07/27(金) 05:33:38
.NET使うならC#でいいだろ
どう考えても
0977デフォルトの名無しさん2007/07/29(日) 21:50:54
VS2005MFCでダイアログベースのプログアムです、メインのダイアログのボタンを押すと、
別のダイアログが現れますそのダイアログにはリストボックス、OKボタン、キャンセルボタンが張り付けてあります、
そのリストボックスに、継承関係の無い別クラスから、ファイルを読み出しながら
SendMessage関数でデータを送出してリストボックスに表示させたいのですが可能でしょうか?
0978デフォルトの名無しさん2007/07/29(日) 22:00:09
日本語でおk

非同期で処理するなら、別スレッドでファイルを読みつつ、
ダイアログ側はタイマーで随時その内容を取り込むって感じだな。
0979デフォルトの名無しさん2007/07/29(日) 22:13:08
>>978サンクスです
非同期で行うとデータの取りこぼしとか起きないでしょうか?
SendMessage関数のならデータを投げて戻り値も見てるから大丈夫なのかな?
0980デフォルトの名無しさん2007/07/29(日) 22:25:11
何がわからなくて質問してるかわっぱりわからん
たまたま思いついた方法が可能かどうかということ?
漠然と思いついたこと書かれてもイメージつかめない
0981デフォルトの名無しさん2007/07/29(日) 22:33:46
MFCでSendMessage使うことなんかある?
apiを直に呼ぶ場合は別ね
0982デフォルトの名無しさん2007/07/29(日) 22:35:06
>>980
すみません曖昧で、データを投げるダイアログのハンドルの取得方法が
分かんなくて困っています、あとその上に貼っているリストボックスのハンドルの
取得方法も教えていただけないでしょうか、宜しくお願いします
レス数が950を超えています。1000を超えると書き込みができなくなります。