トップページ > プログラム > 2015年10月29日 > IDJmDfji

書き込み順位&時間帯一覧

1 位/155 ID中時間01234567891011121314151617181920212223Total
書き込み数00000000110020121500002318



使用した名前一覧書き込んだスレッド一覧
デフォルトの名無しさん
【Delphi】Embarcaderoオッチャ その31【C++ビルダ】 [転載禁止]©2ch.net
Win32API質問箱 Build121 [転載禁止]©2ch.net
なあ、再帰関数好きな人いる? パート2 [転載禁止]©2ch.net
C++相談室 part120 [転載禁止]©2ch.net
C/C++の宿題片付けます 169代目 [転載禁止]©2ch.net
サウンドプログラミング5

書き込みレス一覧

【Delphi】Embarcaderoオッチャ その31【C++ビルダ】 [転載禁止]©2ch.net
127 :デフォルトの名無しさん[sage]:2015/10/29(木) 08:52:52.93 ID:IDJmDfji
>>119 >>126
応援しています
こういう人たちがどんどん増えればよい
Win32API質問箱 Build121 [転載禁止]©2ch.net
434 :デフォルトの名無しさん[sage]:2015/10/29(木) 09:01:57.91 ID:IDJmDfji
>>430
>なんかウィンドウプロシージャをクラス内に内包して使うには
>staticなフック用のプロシージャ関数と実際の処理内容を書くプロシージャのふたつが必要なみたいなんです。

LRESULT CALLBACK HookProc( HWND hWnd, UINT msg, WPARAM wp, LPARAM lp )
{
  return Window.WndProc( hWnd, msg, wp, lp );
}

こういうこと?
それならWndProcにstaticは要らないよ
Win32API質問箱 Build121 [転載禁止]©2ch.net
436 :デフォルトの名無しさん[sage]:2015/10/29(木) 12:06:45.89 ID:IDJmDfji
彼のレベルでそういうことは無理だと思われ
Win32API質問箱 Build121 [転載禁止]©2ch.net
437 :デフォルトの名無しさん[sage]:2015/10/29(木) 12:07:41.20 ID:IDJmDfji
どうしてもって言うなら、
SetWindowSubclass
を薦めるべき
何も考えずに済むから
【Delphi】Embarcaderoオッチャ その31【C++ビルダ】 [転載禁止]©2ch.net
129 :デフォルトの名無しさん[sage]:2015/10/29(木) 14:56:42.41 ID:IDJmDfji
困るのはVSのコミュニティーです
こういった初心者なくせに偏屈な人がVSのコミュに流入すると
ギスギスします
それに今更VSに鞍替えするような判断力のない人は・・・
なあ、再帰関数好きな人いる? パート2 [転載禁止]©2ch.net
670 :デフォルトの名無しさん[sage]:2015/10/29(木) 15:09:33.77 ID:IDJmDfji
>>666
strlenに限らず、配列に添え字でアクセスする場面ではループが最適です
配列に再帰を使ってループ処理をしても
func( array, index+1 ); みたいなことになってスッキリしません
C++相談室 part120 [転載禁止]©2ch.net
163 :デフォルトの名無しさん[sage]:2015/10/29(木) 15:26:02.34 ID:IDJmDfji
>>157
抽象クラスなら菱形継承しても何の問題も出ないけど
どうして問題だと思ったの?
Win32API質問箱 Build121 [転載禁止]©2ch.net
442 :デフォルトの名無しさん[sage]:2015/10/29(木) 16:45:51.79 ID:IDJmDfji
>将来的には子ウィンドウをサブクラス化してひとつのインスタンスからすべてのウィンドウを管理するつもりです。

これの意味が良く分らないけど、一つのインスタンスですべてのウィンドウを管理したいんなら
>>434にも書いたけど、

LRESULT CALLBACK HookProc( HWND hWnd, UINT msg, WPARAM wp, LPARAM lp )
{
  return Global_Window_Manager.WndProc( hWnd, msg, wp, lp );
}

↑こういうことがしたいの?
しかし、一つのインスタンスですべてのウィンドウを管理するってのは
ここにいる殆どの人にとっては、???だと思うし、適切な助言はもらえないかも
普通この手の話題はSetWindowSubclassが最適解なんだが・・・
【Delphi】Embarcaderoオッチャ その31【C++ビルダ】 [転載禁止]©2ch.net
131 :デフォルトの名無しさん[sage]:2015/10/29(木) 17:20:02.63 ID:IDJmDfji
脳死というよりは養分でしょう
Win32API質問箱 Build121 [転載禁止]©2ch.net
445 :デフォルトの名無しさん[sage]:2015/10/29(木) 17:26:43.70 ID:IDJmDfji
もう何に困っているのかサッパリだが、流儀に従って
XP以降から登場したSetWindowSubclassつかうか
GetWindowLongでインスタンス取得してinst->WndProcしろよ

>CreateWindowExのlpParamに渡したインスタンス自身のポインタはGetWindowLongで受けとることができます。

これは初耳だな
これで落ちてるだけじゃね?
Win32API質問箱 Build121 [転載禁止]©2ch.net
446 :デフォルトの名無しさん[sage]:2015/10/29(木) 17:33:07.82 ID:IDJmDfji
>>444
>1つのインスタンスでアプリケーション内のすべての子ウィンドウを管理するのは
>一般的なアプリケーションで実装している方法ではないのかな?

それなら同じクラスのボタンを複数個表示したい場合はどうするんだ?
auto *button = new button_class( parent, x, y, w, h );
とすればいくらでも生成出来たほうが良いだろう
Win32API質問箱 Build121 [転載禁止]©2ch.net
447 :デフォルトの名無しさん[sage]:2015/10/29(木) 17:44:38.19 ID:IDJmDfji
まぁ別に絶対一つのオーバーラップウィンドウに対して一つしかインスタンスが無いことが決まっている子ウィンドウなら
オーバーラップのウィンドウクラスで子ウィンドウのサブクラスを管理しても良いんだが
その辺は自由といっちゃ自由なんだが・・・
既存のウィンドウクラスをサブクラス化するなら結局SetWindowSubclassを使うことになるから
どうせなら親のオーバーラップウィンドウのインスタンスの紐付けにもSetWindowSubclassを使えばよいだろう
そういうのの専用のAPIなのでまず間違いが無い
C++相談室 part120 [転載禁止]©2ch.net
168 :デフォルトの名無しさん[sage]:2015/10/29(木) 17:53:17.46 ID:IDJmDfji
>>165-166
>>164の言っていることはおおむねあっているよ
shared_ptrのすべての参照が無くなった時点でデストラクタが走るので
デストラクタで開放されるものに関しては開放される
しかし、Objectの一部として一緒に確保されたメモリブロックについては
weak_ptrのすべての参照がなくなる時点まで残る
だからnewじゃない配列なんかに関しては開放されずに残る
C/C++の宿題片付けます 169代目 [転載禁止]©2ch.net
659 :デフォルトの名無しさん[sage]:2015/10/29(木) 22:17:32.96 ID:IDJmDfji
それがなにか
C/C++の宿題片付けます 169代目 [転載禁止]©2ch.net
660 :デフォルトの名無しさん[sage]:2015/10/29(木) 22:21:03.50 ID:IDJmDfji
普通の乱数→擬似乱数
では擬似乱数ではない、普通でない乱数とは一体何なのか
ユーザがボタンを押した瞬間の時間でも使うつもり?
C++相談室 part120 [転載禁止]©2ch.net
177 :デフォルトの名無しさん[sage]:2015/10/29(木) 23:07:49.65 ID:IDJmDfji
PersonWhoSaysHelloOnly が抽象クラスじゃないから当然じゃね?
サウンドプログラミング5
940 :デフォルトの名無しさん[sage]:2015/10/29(木) 23:33:45.82 ID:IDJmDfji
でも実際には殆どの楽器の再現が難しいよな
ピアノとかドラムは力技で再現度がすごいけどさ
良く使うであろうギターですら打ち込みは困難だし
パイプオルガンなんかはスピーカーで再現できないというだけで
シンセとしては再現しやすいほうだね
C++相談室 part120 [転載禁止]©2ch.net
186 :デフォルトの名無しさん[sage]:2015/10/29(木) 23:46:47.05 ID:IDJmDfji
>>181
PersonWhoGreetsクラスに

virtual void SayHello(){
  PersonWhoSaysHelloOnly::SayHello();
}

を追加すれば良いだけなんじゃないの?
確かにひと手間かかるけど、レアケースだから別にどうってことはなくない?
どうしてこれだけのことなのに、いちいち全部自前で1から実装しようって話になるの?


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。