トップページ⇒tech
448コメント128KB

C/C++でのWindowsPrograming議論スレ(質問お断り)

■ このスレッドは過去ログ倉庫に格納されています
00011NGNG
Windowsプログラムを作るにあたってのノウハウや
API の不可解な仕様・動作・規則・不具合の報告や議論、
回避方法等を語りあいましょう。

MFC ATL WTL 等は、それ専用スレがあるので、そちらでお願いします。
あと、APIに関する質問は「Win32API 質問箱」へどうぞ。

関連スレ
http://pc2.2ch.net/test/read.cgi/tech/1047819779/ Win32API 質問箱 Build10
http://pc2.2ch.net/test/read.cgi/tech/1047949606/ ■ VisualC++(MFC限定)相談室 MFC7.dll■
http://pc2.2ch.net/test/read.cgi/tech/1029029882/ ATL 相談室

過去スレ
http://pc2.2ch.net/test/read.cgi/tech/1018239290/ Windows Programing for C/C++(Not MFC)
00021NGNG
前スレのテンプレをそのまま使おうとしたら、サブジェクトが長すぎて
スレ立てられなかったので、可能な限り短くしてみました。
0003デフォルトの名無しさんNGNG
その前に重要なこと
「C++でWindowsProgrammingをする意義があるのかどうか」
と言うことについて議論しましょう。
0004デフォルトの名無しさんNGNG
>>3
VisualC++で用意されている以外のコントロールを
使いたい場合や標準的な動きでは無い挙動等を
実現したい場合なんかは、C/C++でプログラムするのが
一番、最適だと思うんだけど…

それとも、CかC++かって事?
0005デフォルトの名無しさんNGNG


























0006デフォルトの名無しさんNGNG
>>4
何を訳の分からんことを。
0007デフォルトの名無しさんNGNG
>>3=5=6
荒らし?
曖昧な質問しておいて「何を訳の分からんことを。」とは??
何がC++でWindowsProgrammingをする意義があって
何がC++でWindowsProgrammingをする意義が無いのか
自分で答えてから質問したら?
0008デフォルトの名無しさんNGNG
C++でWindowsProgrammingをするんなら普通MFCかWTL(ATL)使うだろ。
使わないとメッセージループさえ小汚い書き方しかできないし。
0009 NGNG
"Programming" "Programing"
0010デフォルトの名無しさんNGNG
最初のテーマ 「VisualC++で用意されている以外のコントロールを使いたい場合」

いいテーマだと思うのだが、いきなり高レベル過ぎるかもしれない。
まあ正確には 「非コモンコントロールを使いたい場合」 だ。

例えば、デスクトップやリストビュー(大きいアイコンモード?)のような物を自作したいのだが、どうやって作ろうかな。
これが巧く出来れば、将棋やチェスなどのコマを動かすゲームに応用できる。
他にも、ユーザが自分の好きな場所にボタンを配置してカスタマイズできるアプリにも。

上記のコントロールは議論されなくても良いから(俺が勝手に考える、で良い)、
何か新しいコントロールの案を出してみて。
0011 NGNG
「猫でも・・・」の章に沿って議論するってのも面白いかもしれない。
途中から議論に加わっても、ついて来易い。
0012デフォルトの名無しさんNGNG
>>8
PhotshopやFlash等の市販アプリも秀丸やBeckyInternetMail等のシェアウェアも
MFCを使ってないんだけど…。
結局、MFCもWTLも型にはまったアプリは作成しやすいかもしれんが
一旦、型を外れると使わないで書いた方が効率が良いという罠。
0013 NGNG
その効率は人に因る。スレ違いの話題はしないでクレ。
MFC と 非MFC の争いは他でやってくれ。
0014デフォルトの名無しさんNGNG
>>10
漏れはボタンとラジオボタンとチェックボックスは、自分で自作した。
マウス移動と押・離が判別できてビットマップが描画できれば
そんなに苦労する物でも無いと思うし…。画面のプロパティの
デザインの配色・サイズ等に全て合わせるのは、ちょっと面倒くさいが、
最大のメリットは「システムリソースを消費しない」って事かな。
スタッティックやグループボックスは直接書いてる。

ボタンが2画面にわたって、1000個以上あるってやつを組んだ事
あるんだけど、その時に作成した。
でも、今でも使ってる。結構、便利だよ応用効くし。

0015デフォルトの名無しさんNGNG
ちなみにBecky!はMFC使っているが。
0016デフォルトの名無しさんNGNG
おお、こんなスレがあったのか。じゃあ、俺の話を聞いてくれ(w
>>14
俺も自分でボタンコントロールを作った。↓こんな感じで
HANDLE CTL_CreateButton(HWND hWnd,LPSTR cText,
UINT uX,UINT uY,UINT uWidth,UINT uHeight,WORD wMsg);
内容はマウスメッセージをフックして、あとはhWnd上に指定された
座標で押されたらhWndに対してWM_COMMANDをLOWORDに
wMsgを入れてsendMessageするって、だけなんだけど。
開放はBOOL CTL_DestroyButton( HANDLE hButton );で開放。

PhotoShopとかも、自前コントロールを使ってるみたいだね。
現在の弱点(課題?)は、WindowsXPのスキンにどう対応したら
良いのか…という事かな。
0017デフォルトの名無しさんNGNG
>>9
>>2「可能な限り短く」するためにmを削ったんだろ
0018デフォルトの名無しさんNGNG
すげーな。自前コントロールって以外にメジャーだったんだな。
お前らスゲーよ。



> 最大のメリットは「システムリソースを消費しない」って事かな。
これ良く分からん。コモンも自前も同じようにリソースを消費すると思った。

> 内容はマウスメッセージをフックして、あとはhWnd上に指定された
プロシージャーに色々書き加える、でなくフック?
子ウィンドウをちょいちょいと工夫するだけで出来ると思ってた。
実際には大変なのだな。
まあ、俺がフックは面倒だと思っているからなのだが。
まさか "BUTTON" をフックしただけで「自分で」とは言わないだろうけれど。
0019デフォルトの名無しさんNGNG
自前コントロールつくる場合、俺は codeguruで要求に近いサンプルを手に入れて、
余計な機能削ったり、必要な機能付け加えたりするパターンが多いっす。
0020デフォルトの名無しさんNGNG
( ゚Å゚)ホゥ
0021デフォルトの名無しさんNGNG
>>19
俺もそう。海外のサイトはplanet source codeやcpde projectとか優れすぎたコード
いろいろあるよね。日本でサンプルコード載せたHPやってる個人ページは
ほとんど海外のパクリであまり勉強にもならんし。
0022デフォルトの名無しさんNGNG
>>12 一旦、型を外れると使わないで書いた方が効率が良いという罠。
はい、それはない。
MFCはともかく、WTLはコンドーム並みに薄い皮でラップしただけ。
operator HWND()をはじめとして、基本的に生APIと互換が取れてる物ばかり。
美味しいところだけ頂けるのに、なんで効率が落ちる?
0023デフォルトの名無しさんNGNG
>>22
スレ違い
0024デフォルトの名無しさんNGNG
>>19,21
海外のサイトは、あまり見てないなぁ。
全部、自分で考えた物なんで、結構、恥ずかしい事してるかも。
でも、ボタンを押した状態でマウスボタンを離さず移動した時の
挙動とか、その状態で戻ってきて離したりとか…。考えると
深いよね。あ、あと、TABオーダーとかもあるか。
002516NGNG
>>18
>これ良く分からん。コモンも自前も同じようにリソースを消費すると思った。
今、テストしたら、ボタンを12000個作ったあたりで、リソースが
無くなりました。こうなると、他のアプリもコントロールが作れなく
なります。テストしたのはWin2000だけど、Win9x系だと、もっと
シビア。1000個位で作れなくなるんじゃないのかなぁ。
単純に計算しても1つメモリ100byte食ってるとしても2万個作ったと
しても2M。メモリが足らなくなる訳が無い。
システムリソースは限られたシステムのスペースなので
なるべく使わないのが吉かなーと思う次第です。

> 子ウィンドウをちょいちょいと工夫するだけで出来ると思ってた。
いや、子ウィンドウを工夫するのでは無くhWnd上に直接描画します。
当然、hWndのプロシージャーに色々書き加える事でボタンを作成
できますが、汎用性を高める為に、なるべく隠ぺい化する事を
考慮してフック等を使ってます。こうする事で、いままでのボタンを作る
時にCreateWindow("BUTTON",〜ってやっていたのを
CTL_CreateButton(〜に置き換えるだけで、自前ボタンに
なるという事がメリットです。
0026デフォルトの名無しさんNGNG
>>23
1必死だな。
どうせ重複スレなんだから、どんな使い方しようが自由だろ
0027デフォルトの名無しさんNGNG
>>3=5=6=8=15=22=26
放置の方向で(y/Y)?
002814NGNG
そういえば、自前のコントロールで思い出したけど
DrawFrameControlというAPIがあるんだけど、
これ使えばボタン描画が楽々だ〜…とか思ったけど
フォーカス持ったボタンとか駄目なんだよね。
結局、フォーカス持ったボタンの描画を考えると
他のも全て描画するのも労力が変わらないんだよね。
MSは、なんでこんなAPI作ったんだろう。
誰か使ってる人いる?<DrawFrameControl
002914NGNG
>>28
あ、DrawFocusRectがあるけど、これもまた使えないんだよね。
使ってみるとわかるけど、本物(?)のボタンコントロールと
微妙に挙動が違うんだよね。うまく言えないけど、本物のボタン
コントロールとビットマップを並べて比べてみるとわかる。

…でも、そこまで同じにする事ないのかな。
0030デフォルトの名無しさんNGNG
FLTK
FOX
0031デフォルトの名無しさんNGNG
既存の SDK アプリをテンプレとして使うのと MFC 使うのとで差はあるか?
0032デフォルトの名無しさんNGNG
.Net Framework は?
0033 NGNG
なんと! 直接描画だったのか! 目から鱗とまではいかないが!
「自前コントロールって言っても、どうせ子ウィンドウの変形だろ」と思っていた自分が馬鹿だったのだ!
0034デフォルトの名無しさんNGNG
自前コントロール懐かしい...
MFCが糞だったWin3.1時代にツールバーもどきを作ったのを思い出した。
あの頃はプログレスメーター作るのも面倒かったよなぁ。
0035デフォルトの名無しさんNGNG
>>19,21
教えて君で申し訳無いんだけど、その「海外」の「自前のコントロール」の
ソースがある所を教えて欲しいんだけど。
codeguru, planet source code, cpde projectで検索したんだけど
目的の「自前のコントロール」の場所がよくわからなかった。
0036デフォルトの名無しさんNGNG
自前コントロールってペゾルド本に出てるようなカスタムコントロールじゃなくて?
0037デフォルトの名無しさんNGNG
FindFirstFileが使いにくすぎ。
つーかAPI全般がC用なのでC++に向かないのが難点。
GTKに対するGTK--のように、
WindowsにもWin32APIに対するWin32API++が必要だ。
0038デフォルトの名無しさんNGNG
そうか?
0039デフォルトの名無しさんNGNG
>>37
そのためのWTL
でもこのスレで持ち出すとスレ違いと言われる罠
0040デフォルトの名無しさんNGNG
GetDlgItemTextとかでサイズとか指定しなくても、
std::stringで受け渡しができるようになったらなあ…
0041デフォルトの名無しさんNGNG
>>28
使ってるけど(C/C++じゃなくてVBで)、
Windows標準に合わせ易いっていうメリットはどうよ?
色とかハイコントラストとか。
0042デフォルトの名無しさんNGNG
DrawFrameControlってXPルックとかにも
自動的に対応してくれるの?
0043デフォルトの名無しさんNGNG
良スレの予感
0044デフォルトの名無しさんNGNG
コントロールの自作ってことは当然CreateWindowExして
自分で配置するんだろうなー。
ダイアログリソースなんて軟弱ですか?
リソース(*.rcのことね)ってIDが実行ファイル毎だから
困るけど、MoveWindowで揃えるのもかったるいしー。
0045デフォルトの名無しさんNGNG
>>40
WTL
0046デフォルトの名無しさんNGNG
RegisterClassEx
CreateWindowEx
BeginPaint
SetWindowLong
SetScrollInfo
CreateCaret
これら関数を常用するようなら、
そこの貴方もコントロール自作してみてはどう?
0047デフォルトの名無しさんNGNG
>>44
よく読め。CreateWindowEx使ってるうちはまだ軟弱
(リソースの節約にならない)
SwingやGeckoやIEみたいにすべて自前描画。これ。
0048デフォルトの名無しさんNGNG
>>46
 CreateCaret って事は自前のエディットボックスもやったのか?
 さすがにそれは面倒だからやらんかったなぁ...
 表形式の物作る場合は入力用のコントロールを動かせば済むから...
0049あぼーんNGNG
あぼーん
0050デフォルトの名無しさんNGNG
HTML は読めなくてもいいから、ブラウザの描画・配置能力だけほしいって思ったことねぇ?
あのCSSでボーダーやフォント・背景色が自在に変えられるのは便利。

フォーム関連と、改行等だけに絞れば結構小さく作れないかな・・・。
プログラム側の使用に限定すれば文法エラー処理なんかも適当でいいし。
XML名前空間とか実装が面倒そうなのは無視して。
0051デフォルトの名無しさんNGNG
>>47
IEみたいに自分が設計したOS上で自前コントロールって
やっぱり変な会社だ。使えないって事を自分で言ってる
ようなもんだ。

やはり、自前描画、自前コントロール。作った所も認めてる(w
0052デフォルトの名無しさんNGNG
>>50
剥げ同。
HTMLだと無駄が多いから、
構造体の配列とかで実装してほしい。

>>51
HTML/CSSの仕様書読んだ事ある?
あの仕様というか推奨動作に合うように作るには、
独自でないと無理だと思われ。
また、MSとしても下位互換性の問題があるから、
下手に変更加えたり出来ないんでは?
VS.netでわざわざウェブフォームなんて作ったのもそれが根源でしょ。
005351NGNG
>>52
いや、HTMLの部分じゃなくて、履歴のウィンドウとか色々な所で
明らかに標準のコントロールじゃないのが、使われてるでしょ。
Officeなんか…(以下略)
0054デフォルトの名無しさんNGNG
それらはちゃんとウィンドウ作ってる
ウィンドウ作らないのはHTMLの部分。
言いたいことはわかるけど揚げ足取りに近いよ
0055デフォルトの名無しさんNGNG
正直MFCなどでフックを使ってサブクラス化するのはやめてほしい
0056デフォルトの名無しさんNGNG
Visual Studioでどんどんカコイイコントロールを使うのはいいんだが、
どうせならMFCや.NETで同じものを提供しほしい。
005752NGNG
>>53(51)
Spy++で調べたことある?
たしかにサイズ変更枠の部分はBaseBarというオリジナルクラスだが、
その中はレバーコントロールを使っていて、
「履歴」という文字列、バツ印、や
「表示(W)」等のメニューは、ツールバーコントロールを使っている。
また、履歴のリストはツリービューコントロール使ってる。
ので、ほとんど独自ではないぞ。

それと、HTML表示するのにウィンドウ作ってたら、
フォームとボタンを大量にあるページの描画は極端に遅くなるし、
ひょっとしたら、それを悪用してブラクラを作れるかもしれない。
ieが5.5から複数フレームから成るページをも、
1つのウィンドウで表示できるようにしたのはその為では?
005852NGNG
>>53
Officeは特別な存在で、
Mso9.dllとかがコモンコントロールの代わりのように使われてる。
でもこれは、時期ウィンドウズに搭載される(であろう)UIを、
その前に、そして以前のウィンドウズにおいても、
エンドユーザに提供するためでは、と思っている。
まあ、ある意味実験台かもな。
0059デフォルトの名無しさんNGNG
MFCとしては提供されないがAPIとしては提供されるな
0060デフォルトの名無しさんNGNG
ところでさ、みんなでMFCみたいなライブラリ作らない?
Mona Foundation Class って名前で。
略称が MFC になってしまうのが駄目なら、
Giko Foudation Class でもいいけど。

作る気は無い? ああ、それでは帰ります。
スレッドを汚して申し訳ありません。
0061デフォルトの名無しさんNGNG
>>60
名称は置いとくとして、
適当に作るとMFC相当以下のライブラリができる、
つまりは車輪の再開発になってしまうのでは?
006261NGNG
>>60
でも、C/C++から使える拡張コモンコントロールみたいなのは、
(機能が被ってなければ)歓迎する。
006360NGNG
あら、レスがついてしまいました。
個人的には WTL のような物が好みなのですが、
サクッと軽く作る、程度の物ではないですよね。
MFCも。

スレ汚しの自分に構ってくれてありがとう。
もう帰ります。
0064デフォルトの名無しさんNGNG
WTLのようなものが好みならWTLを使えばいいんじゃないか。
WTLの拡張とか修正とかならアリかもしらんが。

それよりはフリーなコントロールのほうが興味あるな。
006561NGNG
>>64
剥げ同。
はっきり言ってウィンドウクラスを目的にあわせて一々作るのは、
労力と見返りがちっともペイしない。特にフリーウェアだともう(中略
それ以外の処理は、目的に合わせて字目で暮らす作ったほうが早いし、
便利だし、実行速度も速い場合がほとんどなんだけどねぇ・・・


006661NGNG
s/字目で暮らす/自前でクラス/g
0067デフォルトの名無しさんNGNG
>>66
aキーに謝れ。
0068デフォルトの名無しさんNGNG
>>67
a キーがサボったんかも知れんぞ。(藁
0069デフォルトの名無しさんNGNG
>>67-68
ワラタ
0070!61NGNG
うちのマシンのaキーは反応が悪くてよくtypoする
0071デフォルトの名無しさんNGNG
Byte数を要求する関数は全部ラップしといて
 template<typename T>
 inline T* memcpy_s( T* dst, const T* src, size_t elem_cnt )
 { returns std::memcpy( dst, src, sizeof(T)*elem_cnt ); }
かならずそっちを使うようこころがける、とかしか無いんでない?
007271NGNG
うがー。ごばくスマソ。
0073デフォルトの名無しさんNGNG
>>71
でもその関数(゚∀゚)イイ!
007461NGNG
ごめんよ>Microsoft Natual Keyborad Eliteのaキーさん。

ところで、独自コントロール作るなら、
フレームは外せないよな。
で昔、階層構造が可能なフレームコントロールを作ったんだが、
誰か要る?
0075山崎渉NGNG
(^^)
0076デフォルトの名無しさんNGNG
山崎渉   マジUzeeeeeeeeee!! 
0077デフォルトの名無しさんNGNG
FLTKとかFOXとかwxWindowsじゃあかへんの?
0078デフォルトの名無しさんNGNG
お前らVisualStudioみたいな糞使ってないで
ProjectBuilder使えよ
ProjectBuilderの方が絶対に使いやすいし、GUIやエディタのフォントも綺麗

VisualStudio買う金で、Macを買えば無料でVisualStudioを超える最高の開発環境が付いてくるぞ。
今時Winで開発してる奴は浪費家かバカのどちらかだね!
0079デフォルトの名無しさんNGNG
>>78

( ´_ゝ`)
0080デフォルトの名無しさんNGNG
スレの主旨を理解できない奴に限ってここ見つけちゃうんだよな
0081デフォルトの名無しさんNGNG
>>77
独自ライブラリを使ってたり等、
コモンコントロールと挙動・使い方が異なるクラスはいただけない。

ところで、哀れな>>78が居るスレはここですか?
0082デフォルトの名無しさんNGNG
>>78は違うスレで何度か見たよ。
ただのコピペみたい。
0083デフォルトの名無しさんNGNG
wxWindowsはコントロールはネイティブのものを使ってたような
0084デフォルトの名無しさんNGNG
お前らVisualStudioみたいな糞使ってないで
ProjectBuilder使えよ
ProjectBuilderの方が絶対に使いやすいし、GUIやエディタのフォントも綺麗

VisualStudio買う金で、Macを買えば無料でVisualStudioを超える最高の開発環境が付いてくるぞ。
今時Winで開発してる奴は浪費家かバカのどちらかだね!
0085デフォルトの名無しさんNGNG
>>84

( ´_ゝ`)
0086デフォルトの名無しさんNGNG
>>85
>>84はコピペ
0087デフォルトの名無しさんNGNG
>>86
>>85はコピペ
0088デフォルトの名無しさんNGNG
>>86
>>1-1000はコピペ
0089山崎渉NGNG
   ∧_∧
  (  ^^ )< ぬるぽ(^^)
0090デフォルトの名無しさんNGNG
ラジオボタンやチェックボックスって、

 [*] テキスト(&A)

な形式ですけど、ラベル文字列 + エディット/コンボボックスだと普通

 テキスト(&A) [入力文字列|▼]

と、説明文を前に置きますよね?つまり前後が逆。
混在するダイアログを作る時、テキストを揃えたいと思ったら、皆さんどんな揃え方をします?
0091デフォルトの名無しさんNGNG
スレタイの「質問お断り」が効果を発揮したことってあるんだろうか。
0092_NGNG
( ´∀`)/< 先生!!こんなのを見つけました。
http://web2001.kakiko.com/koma/hankaku/hankaku07.html
http://www.web2001.kakiko.com/koma/hankaku/hankaku08.html
http://web2001.kakiko.com/koma/hankaku/hankaku10.html
http://www.web2001.kakiko.com/koma/hankaku/hankaku09.html
http://web2001.kakiko.com/koma/hankaku/hankaku06.html
http://www.web2001.kakiko.com/koma/hankaku/hankaku05.html
http://web2001.kakiko.com/koma/hankaku/hankaku01.html
http://www.web2001.kakiko.com/koma/hankaku/hankaku02.html
http://web2001.kakiko.com/koma/hankaku/hankaku03.html
http://www.web2001.kakiko.com/koma/hankaku/hankaku04.html
0093デフォルトの名無しさんNGNG
>>90
>テキストを揃えたいと思ったら、
思わない。
0094デフォルトの名無しさんNGNG
>>1
WTL専用スレってどこ?
0095デフォルトの名無しさんNGNG
>>94
無い。ATLスレでやってる。
0096デフォルトの名無しさんNGNG
HWNDをハウンドと呼ぶとカッコイイことに気づいた。
0097デフォルトの名無しさんNGNG
>>96 NullPointerExceptionを「ぬるぽ」と呼ぶのと同じくらいカコイイ
0098デフォルトの名無しさんNGNG
>>97
ガッ
0099デフォルトの名無しさんNGNG
>>96
えっち窓のほうがやる気でるよ
0100デフォルトの名無しさんNGNG
  100ゲットオオォォ!!
 ̄ ̄ ̄ ̄ ̄ ̄∨ ̄ ̄ ̄ ̄ ̄ ̄
.         ∩ ∩ 
        〜| ∪ |         (´´  
        ヘノ  ノ       (´⌒(´  
       ((つ ノ⊃≡≡≡(´⌒;;;≡≡≡
         ̄ ̄ ̄(´⌒(´⌒;;
         ズザーーーーーッ
0101デフォルトの名無しさんNGNG
>>100
かわいい…。
でも、チンコ立ってるようにも見えるね。
0102デフォルトの名無しさんNGNG
定期age
0103デフォルトの名無しさんNGNG
お前らMFCみたいな糞使ってないで
VCL使えよ
VCLの方が絶対に使いやすいし、真のビジュアル開発だ

VisualStudio買う金で、C++Builder買えばMFCとは比べ物にならない最高のクラスライブラリがついてくるぞ。
今時MFCで開発してる奴は浪費家かバカのどちらかだね!
0104デフォルトの名無しさんNGNG
vclってObjectPascalで書かれてるんだよね。
C++言語なのにC++で書かれてないクラスライブラリってなんか嫌だよね。
0105デフォルトの名無しさんNGNG
>>103はネタだろ。
0106デフォルトの名無しさんNGNG
最高のクラスライブラリって例えばどんなの?
真のビジュアル開発って例えばどんなの?

ボタンダブルクリックするとコードが出てくるようなのが
ビジュアル開発だとしたら、そんなもんはいらないけど。
0107デフォルトの名無しさんNGNG
>>106
squeakとかは?
0108デフォルトの名無しさんNGNG
VCLよくわからんけど、ぐぐったかぎりではVCLとsqeakは無関係だな
0109デフォルトの名無しさんNGNG
1
0110デフォルトの名無しさんNGNG
>>108
VCLみたいなみせかけのビジュアルではなく
真のビジュアル開発環境は無いのかって話じゃないの?

0111デフォルトの名無しさんNGNG
僕がいまのところビジュアルだなって思うのは
simulinkみたいなブロックをつなげて行く感じのやつかな。
ソフトシンセサイザー系でも似たようにブロックをつなげて
シンセを作っていくのもあるし、CG系でも同じくそういうものがある。
ユーザーインターフェースは優れてると思う。
0112デフォルトの名無しさんNGNG
↓に独自コントロールについての専用のスレがあるからそっちいきなよ。

新Windowsコントロールを作ろう
http://pc2.2ch.net/test/read.cgi/tech/1051857511/
0113デフォルトの名無しさんNGNG
>>52
あんた詳しいな。。。
0114デフォルトの名無しさんNGNG
>>58
確かにMFCもそもそもの始まりはOffice開発で作ったクラスライブラリを
市販したようなことを聞いた。
0115デフォルトの名無しさんNGNG
>>112
行ってみたけど、ここより話が進んでないな。
クソ書き込みばっかりで。
それに、ここはWindowsProgrammingノウハウスレであって
コントロールを作るスレでは無い。
クレクレ君のスレと一緒にするな。

って、いうか>>112が、そのスレの>>1でしょ?
0116812NGNG
>>115
そうみたいネ。
011752NGNG
Window XPの登場で再実感したけど、
WM_PAINTが絡む汎用クラスは、
MSが用意してくれるのを待った方がいいと思う。

実際、独自クラス使ってるソフトはXPスタイルなのに
クラシックスタイルだったり、
果ては正しく描画されてなかったりするんだよな。
011852NGNG
そういえば、C、Win32APIを勉強始めた頃、
CSSのsolid、inset、outsetなんかを適用できる
DrawBorderEx関数とか作ってたな(w
あの関数、今頃何処に居るかな・・・
0119デフォルトの名無しさんNGNG
> 実際、独自クラス使ってるソフトはXPスタイルなのに
> クラシックスタイルだったり、
それ、いいやん

> 果ては正しく描画されてなかったりするんだよな。
そんなのもあるけど、商用だと十分なレベルのもあるよ。
0120デフォルトの名無しさんNGNG
>>119
>それ、いいやん
ユーザの意向を反映しないUIのどこが良いのか説明してくれ。
大体、なんで"独自の見た目"にしたいのかわからない。
アプリケーションのUIなんて所詮、
他のアプリケーションに合わせとくのが一番なのに・・・
0121デフォルトの名無しさんNGNG
>>120
マイクロソフトがユーザーの意向を完全に反映した UI を作っているのか説明してくれ。
0122デフォルトの名無しさんNGNG
ここでいう「ユーザーの意向」ってのは
XPスタイルにしたいかクラシックスタイルにしたいか、
って程度の意味だろ。
XPスタイルを選んでるのにクラシックスタイルで表示する
アプリケーションは明らかに「ユーザーの意向」を
反映していない。
0123デフォルトの名無しさんNGNG
>>121
> 6:一見関係ありそうで関係ない話を始める
>     「ところで、カモノハシが卵を産むのは知っているか?」
0124デフォルトの名無しさんNGNG
>>122
そういう操作性に一貫性がなくなる仕組み(スタイル)を導入するのが
「ユーザの意向」 を反映していない。
オペレータに対する教育コストや、各端末の初期設定を揃えるコストがかかる企業もあるんだよ。
0125デフォルトの名無しさんNGNG
>>124
いらない機能は使わなきゃいい。
この話とは別だよ。
0126デフォルトの名無しさんNGNG
>>124
では、初めて買ったコンピュータがMicrosoft® Windows® XP搭載機で、
XPスタイルがOnになっていたらどう?
または、1年近くXPスタイルで使い続けていたら?
この場合、クラシックスタイルなプログラムは、
使いにくい以外の何者でもない。

そもそも
>そういう操作性に一貫性がなくなる仕組み(スタイル)を導入するのが
>「ユーザの意向」 を反映していない。
はMicrosoft®が考えるべき事であって、
必要ならばクラシックスタイルが使えるのだからさほど問題ない。
0127デフォルトの名無しさんNGNG
VC++でダイアログリソースを作成後、CreateWindowを使って
ウィンドウを作成できる?CreateDialog使わずに。
つか、普通のWM_CREATEとかを送ってほしいだけなんだけど。
0128デフォルトの名無しさんNGNG
age
0129デフォルトの名無しさんNGNG
>>126
> >「ユーザの意向」 を反映していない。
> はMicrosoft®が考えるべき事であって、
> 必要ならばクラシックスタイルが使えるのだからさほど問題ない。
だからMicorsoftは考えてないんだって、ユーザーの事なんて。
考えてんのは金のことだけ、金金金金金金金金!
0130デフォルトの名無しさんNGNG
>>127
なんでWM_CREATEが必要なの?
WM_INITDIALOGでは事足りないのか?

>>129
>だからMicorsoftは考えてないんだって、ユーザーの事なんて。
>考えてんのは金のことだけ、金金金金金金金金!

それとこれとは全く別の話。なんで混同するんだ?
0131デフォルトの名無しさんNGNG
もう一回貼っとくか
> 6:一見関係ありそうで関係ない話を始める
>     「ところで、カモノハシが卵を産むのは知っているか?」
0132デフォルトの名無しさんNGNG
>>130
ようするにコントロールの作者に関する話をしていて
Microsoftの話なんか誰もしていないのに
必死で話をそらしたがる詭弁家が約一名いるってこった
0133デフォルトの名無しさんNGNG
> そういう操作性に一貫性がなくなる仕組み(スタイル)を導入するのが
アプリケーションが対応していれば別に一貫性はなくならない。
対応していないものを偶然動くからといって
無理に入れて言いがかり付ける馬鹿のことまで知るか。
0134デフォルトの名無しさんNGNG
WinXPが出る以前に作られたソフトがWinXP上で起動すると
XPスタイルと協調性がとれていないのは理解できるが、
最近、Win98/Me/NT/2000にインスコすると無理やりXPスタイルで
表示するソフトが結構多い。これは、漏れは理解できん。
特にプリンタやグラフィックやサウンドの常駐アプリとかが、
こうだった時には…。

0135デフォルトの名無しさんNGNG
>>134
フレッツ接続ツールVer.2とかがそうだね。
しかも、フレッツ接続ツールの場合、WinXPは標準で実装している
PPPoe機能を利用して接続できる訳だから、
フレッツ接続ツールを使う奴はWin98/Me/NT/2000の人達が多いと思うのだが?
それでWinXPスタイルとは何考えてるんだか
0136デフォルトの名無しさんNGNG
フレッツクスウェアとインターネット、
同時接続するのに必要なんだとか>フレッツ接続ツール

>>132
>Microsoftの話なんか誰もしていないのに
>必死で話をそらしたがる詭弁家が約一名いるってこった
同意。マとは思えない程、低脳に見受けられるのが1名。
0137デフォルトの名無しさんNGNG
こんどひまつぶしにおりじなるこんとろーるをつくることにします
おうえんよろしくおねがいします
0138デフォルトの名無しさんNGNG
>>137
がんがれ。おうえんしてるぞ。
0139デフォルトの名無しさんNGNG
標準のディレクトリ選択用のコントロールが最悪なんだが、
みんなあれ使ってるの?
0140デフォルトの名無しさんNGNG
フリーソフトとか市販ソフトが使ってるかどうかみれば分かるだろ
0141デフォルトの名無しさんNGNG
あれで間に合うならあれ使うし、不足なら作るし、>>139はバカか?
0142139NGNG
ディレクトリ選択は手抜きフリーソフトでは使っているものが多いが、M$自身は使っていない
つまり標準で付いているものは糞だから、糞コントロールのラッパーライブラリなど使わず自分で作るしかない
だからUIの統一もへったくれもない

というのを上の方の話題の結論にしたかったので聞いてみただけ
0143デフォルトの名無しさんNGNG
|-`).。oO(ListBox、SHBrowseForFolderのどちらだろう…)
0144デフォルトの名無しさんNGNG
MSが使ってないから糞という根拠自体がなんとも
0145デフォルトの名無しさんNGNG
(´-`).。oO(SHBrowseForFolderはコントロールとはいわないだろう…)
0146デフォルトの名無しさんNGNG
(゜Д゚) <なんだか意味不明
0147デフォルトの名無しさんNGNG
|-`).。oO(スマソ>>145。SH〜が出来たからイラネということのような気も)
0148デフォルトの名無しさんNGNG
>>139
不満ならTreeViewとItemIDList使って作れよ。

>>143
ディレクトリ探すのにListViewですか・・・
0149デフォルトの名無しさんNGNG
>>148
ちゃんとスレに目を通してから書き込んだ方がいい
0150デフォルトの名無しさんNGNG
>>149
1から全て呼んでますが何か?

つまりね、ある程度スキルが着くと
みな独自コントロールに手を出したがるの。
でもね、一度作ってみればわかるけど、
よほどシンプルなコントロールで無い限り、
"くたびれもうけ"になってしまう訳。
しかもよほど手間隙掛けたものでない限り、
MSのそれと挙動が違ってしまうので、
ユーザにはストレスが溜まる。

つまり、>>137のようにちょっと暇なぐらいで
作れるような代物ではないってこった。
0151150NGNG
s/呼んでますが/読んでますが/g
0152デフォルトの名無しさんNGNG
>>150
>>149はListBoxとListViewを混同してることを指摘してんだろ
0153山崎渉NGNG
     ∧_∧
ピュ.ー (  ^^ ) <これからも僕を応援して下さいね(^^)。
  =〔~∪ ̄ ̄〕
  = ◎――◎                      山崎渉
0154150NGNG
>>152
なるほどね。
0155デフォルトの名無しさんNGNG
質問お断りだと伸びないな。
これからは質問ありということで。
0156デフォルトの名無しさんNGNG
>>155 いまさら・・・(ry
0157デフォルトの名無しさんNGNG
WizOnline開発中!プログラマ緊急募集(C,Java)
http://anzu.sakura.ne.jp/~kuga/wol/
2chスレ
http://game3.2ch.net/test/read.cgi/mmominor/1053536167/
0158デフォルトの名無しさんNGNG
質問お断りで議論しろってのが無理ではないかと。
1がお題を発表するならできなくもないが。
0159デフォルトの名無しさんNGNG
質問というよりも、「こういう場合どうしてる?」みたいな事を
自分の現在とってる方法と一緒に書き込めば良いと思うのだが…。
0160デフォルトの名無しさんNGNG
それを質問という。
0161デフォルトの名無しさんNGNG
>>160
iwanai
0162デフォルトの名無しさんNGNG
言うだろ
0163デフォルトの名無しさんNGNG
「こういう場合どうしてる?」を質問というかいわないかを
言い合うスレになりますた。

相手の意見を聞いたり、自分の意見を相手がどう思うか問うのは
スレにそぐわないので禁止です。
01641NGNG
ええっと、1です。
前スレも見てもらえると、わかると思いますが
>>159さんが書いているように、自分の現在とっている
方法(「動かない」とか「意図しているように機能しない」は×)が
示されている上での、疑問はOKだと思っています。
もし次スレに行くような事がありましたら、次は1に書いておきます。
0165デフォルトの名無しさんNGNG
しつもん【質問】
―する
分からない事や知りたい事について、相手がそれに応じたことを述べるように求める△こと(言葉)。

Shin Meikai Kokugo Dictionary, 5th edition (C) Sanseido Co., Ltd. 1972,1974,1981,1989,1997
0166デフォルトの名無しさんNGNG
1来てたね。再開。
0167デフォルトの名無しさんNGNG
Windowsアプリケーションを作るならWTL/ATLが最強であることを主張します。
0168デフォルトの名無しさんNGNG
こういう場合どうしてる?
ではなくて
こういうばあいは俺はこうしてるけど他の奴もこうしてるに決まってるから
これはこうするに決まってるな
と言えばしつもんじゃなくなる
0169デフォルトの名無しさんNGNG
>168

人はそれを「自問自答」というがな。
0170デフォルトの名無しさんNGNG
>>169
つーか、単なる独り善がりの可能性のほうが高いんじゃないか ?
0171デフォルトの名無しさんNGNG
>>168-170
>>164で1がこのスレの「質問」についての定義を追加してるだろ。
広い意味での「質問」なんて、誰も聞いてない。それこそスレ違い。

それとも、単なるスレ荒らし君か?
0172デフォルトの名無しさんNGNG
つーか前スレの最後読めばすぐわかるんだけどな
0173デフォルトの名無しさんNGNG
…という訳で、新たな疑問きぼんぬ
0174デフォルトの名無しさんNGNG
新たな疑問…じゃあ、こんなのどう?

スプリッターを移動させる時に描画する、アミカケ(チェス板状に1ドット置きでxor 0xffffff)
ってどうやって描画するのが一番効率いい?

今はDrawFocusRectで2ラインずつ描いてるw
0175デフォルトの名無しさんNGNG
CreatePenで波線ペン作ってLineTo
0176デフォルトの名無しさんNGNG
効率が良いか、わからんけど全画面をキャプチャして
必要な部分だけ再描画。速さは1番だと思う。
0177デフォルトの名無しさんNGNG
>>174
確かに独自ウィンドウとか作ると移動処理も自分で描画しなくちゃ
いけなくなるよね。漏れはbitbltで反転描画で逃げてるけど
網掛けで描画するのは、どうするのが効率的かなぁ。

必要な部分( 幅x2ドット 2ドットx高さ ) x 2(上下or左右)の4つの
部分をデスクトップから取ってきて網掛け処理してデスクトップに
直接描画かなぁ。

どっちにしろ、デスクトップに直接描画するしか無いよね…。
>>176が言ってるのは、もしかして、その瞬間に全画面分の
ウィンドウを手前に作成するとか?
0178174NGNG
それで思いつきましたが、2x2のパターンをブラシ or メモリビットマップにして、
BitBltで描画先とのxor…ってのもありですね。
DrawFocusRectもそうだけど、xor描画だと二回描けば戻るので元の画面を待避させる必要なし。
LineToだと、キャプチャしかないのかな?
0179デフォルトの名無しさんNGNG
>>178
> LineToだと、キャプチャしかないのかな?
xorするペンがあったような
0180デフォルトの名無しさんNGNG
xor使えば、消す時も楽だね
同じ事をもう一度やれば、描いた物が元に戻る。
0181デフォルトの名無しさんNGNG
>>180
それだと、チラつかないかなーとか思ってまふ。
0182デフォルトの名無しさんNGNG
保守age
0183デフォルトの名無しさんNGNG
gdiplus使っている人居る?
独自描画コントロールをgdiplusで作ろうかと。
で、何処かに詳しいサイト無い?
リファレンスが充実しているところを知りたい
0184デフォルトの名無しさんNGNG
>>1より
>あと、APIに関する質問は「Win32API 質問箱」へどうぞ。
0185デフォルトの名無しさんNGNG
>>183
こ、こたえないぞ・・・
0186デフォルトの名無しさんNGNG
GetGlyphOutlineで得られるGlyphって右回りのループの内側を塗りつぶして、
左回りの内側を抜けばいいんだっけ?
0187デフォルトの名無しさんNGNG
>>186
スレ違い
0188デフォルトの名無しさんNGNG
保守age
0189デフォルトの名無しさんNGNG
あのさ、
0190デフォルトの名無しさんNGNG
ん
0191デフォルトの名無しさんNGNG
何を書いてもスレ違いなスレはここでつか?
0192デフォルトの名無しさんNGNG
>>191
スレ違い
0193デフォルトの名無しさんNGNG
VC7だとmanifestは勝手に用意してくれるの?
0194デフォルトの名無しさんNGNG
>193
回答は知らんがスレ違いだろうな。w
0195山崎 渉NGNG

 __∧_∧_
 |(  ^^ )| <寝るぽ(^^)
 |\⌒⌒⌒\
 \ |⌒⌒⌒~|         山崎渉
   ~ ̄ ̄ ̄ ̄
0196デフォルトの名無しさんNGNG
P4のHTってマルチプロセスでも効果ある?
0197デフォルトの名無しさんNGNG
スレ違いどころか板違い
0198デフォルトの名無しさんNGNG
いよいよ面白くなってきましたねこのスレ
0199デフォルトの名無しさんNGNG
ところで、みんなVisual Stduio持ってる?
自分はVisual C++ Standardなんだが、
.netになってProfessionalが無くなったから選択肢が無い・・・
0200デフォルトの名無しさんNGNG
CRTを使う・使わないを気にする人がいますが、
CRTを使うことに関するデメリットを知りたいと思っているところです。
0201デフォルトの名無しさんNGNG
スレ違い。
0202デフォルトの名無しさんNGNG
CRTやMFCをDLL版で使うかstatic libraryで使うかも問題だなあ。
オレはDLLでいいだろ、って思う。
DLL地獄なんて、共有DLLをバージョンアップしただけで
動作がおかしくなるようなコードを書く奴が悪いよ。
0203デフォルトの名無しさんNGNG
漏れは液晶は好きくないのでCRT派です
0204デフォルトの名無しさんNGNG
俺はスタティックリンク派だな。
そうするだけで心配事が一つ減るし、インストールも簡単になる場合がある。
最近のマシンはメモリもHDDも容量がたくさんあるからスタティックリンクが無難だと思う。
0205デフォルトの名無しさんNGNG
>>201 なんで?
0206デフォルトの名無しさんNGNG
>>205
シーッ
>>201はCRTとはブラウン管のモニターだと思ったんだよ。
>>201にはナイショだよ。
0207デフォルトの名無しさんNGNG
質問ぐらいしたっていいだろ。
いちいち質問に関することを禁止するから自由な議論ができなくなってしまうんだ。
質問されたら優しく答えるのが、人情ってもんだろ。
0208デフォルトの名無しさんNGNG
さあ質問してくれ。>>207が答えてくれるぞ。
0209デフォルトの名無しさんNGNG
>>200
複数の CRT を混在させたときに、めんどくさい問題に出くわす可能性が
ある。特に malloc/free などのように CRT 内部で状態を持ってる場合。

ふつーの exe 作ってる分には問題ないけど DLL 作る場合などは注意
しないと (一般保護違反で) 死ぬ。もっとも、そのへんに気をつければ
良いだけ。

>>202
最近はともかく、昔は Microsoft が平気でバイナリ互換性を崩して
くれたから。公開クラスのメンバ変数や仮想関数を追加されたりすると、
ライブラリ利用者がどう頑張っても「DLL のバージョンをあげただけで
動作がおかしくなる」のは避けられません。

メモリ配置変わっちゃうから。
0210デフォルトの名無しさんNGNG
ここで言う質問とは
>MFC ATL WTL 等は、それ専用スレがあるので、そちらでお願いします。
>あと、APIに関する質問は「Win32API 質問箱」へどうぞ。
に該当するようなことだ。
0211山崎 渉NGNG
(^^)
0212デフォルトの名無しさんNGNG
保守age
0213デフォルトの名無しさんNGNG
そうか?
0214デフォルトの名無しさんNGNG
保守age
0215デフォルトの名無しさんNGNG
イディオムやパターンの話題щ(゚Д゚щ)カモォォォン
0216デフォルトの名無しさんNGNG
イデの力がどうとか、バッフクランがどうとか、そーいう話題でつか?
0217デフォルトの名無しさんNGNG
最初にプログラミングをしたのはHSPだった。
けれどまったく理解できずに放置していた。

その後、C++を始めた。まったく理解できなかった。
Cを独学で始めて、少しずつ理解できたが、そのころ
になるとなぜかHSPやHTMLがほとんど理解できる
ようになっていた。脳味噌の構造が変化していくの
を感じる。
0218217NGNG
結論としては、Cをすれば、たいていの言語は
理解できるようになるということ。
0219デフォルトの名無しさんNGNG
>>218
C++は理解できた?
0220デフォルトの名無しさんNGNG
Win32のぽうろかいえうあ
どうやるんれつか?
0221217NGNG
>>219
まだです。今のところ。
0222デフォルトの名無しさんNGNG
Win32のぽうろかいえうあ
どうやるんれつか?

こたえろ!
0223デフォルトの名無しさんNGNG
質問スレだろ?
0224デフォルトの名無しさんNGNG
システムフックするときフックプロシージャで呼ぶCallNextHookEx()の
1番目の引数"HHOOK hhk"には何を渡すべきですか?
自分の経験では、0を渡したら、他のシステムフックをするソフトで
不具合が出たので、SetWindowsHookEx()の返り値を共有化して渡すようにしている。
ただ、以前にここで0を渡していいと主張する人がいて、ネットにも0やNULLを渡している
サンプルがいくつかある。
ちなみに、
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnwui/html/msdn_hooks32.asp
には、「この値は今のところ無視している」と書いてあるけど、
古い文書なので仕様が変わったのかもしれない。



0225デフォルトの名無しさんNGNG
>>224
スレタイをよく読んでくれ
0226244NGNG
すまん。
議論のつもりで書いたんだが、1行目が思いっきり質問になってるな。
2つの矛盾した意見があるので、どちらが正しいのかはっきりさせたかったんだが。


0227デフォルトの名無しさんNGNG
244が未来からやってきた
0228デフォルトの名無しさんNGNG
>>227
寒い。
0229デフォルトの名無しさんNGNG
>>228
お前も寒い。
0230デフォルトの名無しさんNGNG
222 :デフォルトの名無しさん :03/09/13 22:08
Win32のぽうろかいえうあ
どうやるんれつか?

こたえろ!
0231デフォルトの名無しさんNGNG
230 :デフォルトの名無しさん :03/09/14 02:54
222 :デフォルトの名無しさん :03/09/13 22:08
Win32のぽうろかいえうあ
どうやるんれつか?

こたえろ!230 :デフォルトの名無しさん :03/09/14 02:54
222 :デフォルトの名無しさん :03/09/13 22:08
Win32のぽうろかいえうあ
どうやるんれつか?

こたえろ!230 :デフォルトの名無しさん :03/09/14 02:54
222 :デフォルトの名無しさん :03/09/13 22:08
Win32のぽうろかいえうあ
どうやるんれつか?

こたえろ!230 :デフォルトの名無しさん :03/09/14 02:54
222 :デフォルトの名無しさん :03/09/13 22:08
Win32のぽうろかいえうあ
どうやるんれつか?

こたえろ!230 :デフォルトの名無しさん :03/09/14 02:54
222 :デフォルトの名無しさん :03/09/13 22:08
Win32のぽうろかいえうあ
どうやるんれつか?

こたえろ!
0232デフォルトの名無しさんNGNG
>>224
実際不具合が出てるんだから0を渡しちゃいけないのは明らかだと思うが。
漏れも不具合出たことがある
0233デフォルトの名無しさんNGNG
231 :デフォルトの名無しさん :03/09/14 13:30
230 :デフォルトの名無しさん :03/09/14 02:54
222 :デフォルトの名無しさん :03/09/13 22:08
Win32のぽうろかいえうあ
どうやるんれつか?

こたえろ!230 :デフォルトの名無しさん :03/09/14 02:54
222 :デフォルトの名無しさん :03/09/13 22:08
Win32のぽうろかいえうあ
どうやるんれつか?

こたえろ!230 :デフォルトの名無しさん :03/09/14 02:54
222 :デフォルトの名無しさん :03/09/13 22:08
Win32のぽうろかいえうあ
どうやるんれつか?

こたえろ!230 :デフォルトの名無しさん :03/09/14 02:54
222 :デフォルトの名無しさん :03/09/13 22:08
Win32のぽうろかいえうあ
どうやるんれつか?

こたえろ!230 :デフォルトの名無しさん :03/09/14 02:54
222 :デフォルトの名無しさん :03/09/13 22:08
Win32のぽうろかいえうあ
どうやるんれつか?

こたえろ!
0234デフォルトの名無しさんNGNG
233 :デフォルトの名無しさん :03/09/14 16:53
231 :デフォルトの名無しさん :03/09/14 13:30
230 :デフォルトの名無しさん :03/09/14 02:54
222 :デフォルトの名無しさん :03/09/13 22:08
Win32のぽうろかいえうあ
どうやるんれつか?

こたえろ!230 :デフォルトの名無しさん :03/09/14 02:54
222 :デフォルトの名無しさん :03/09/13 22:08
Win32のぽうろかいえうあ
どうやるんれつか?

こたえろ!230 :デフォルトの名無しさん :03/09/14 02:54
222 :デフォルトの名無しさん :03/09/13 22:08
Win32のぽうろかいえうあ
どうやるんれつか?

こたえろ!230 :デフォルトの名無しさん :03/09/14 02:54
222 :デフォルトの名無しさん :03/09/13 22:08
Win32のぽうろかいえうあ
どうやるんれつか?

こたえろ!230 :デフォルトの名無しさん :03/09/14 02:54
222 :デフォルトの名無しさん :03/09/13 22:08
Win32のぽうろかいえうあ
どうやるんれつか?

こたえろ!
0235デフォルトの名無しさんNGNG
234 :デフォルトの名無しさん :03/09/14 18:04
233 :デフォルトの名無しさん :03/09/14 16:53
231 :デフォルトの名無しさん :03/09/14 13:30
230 :デフォルトの名無しさん :03/09/14 02:54
222 :デフォルトの名無しさん :03/09/13 22:08
Win32のぽうろかいえうあ
どうやるんれつか?

こたえろ!230 :デフォルトの名無しさん :03/09/14 02:54
222 :デフォルトの名無しさん :03/09/13 22:08
Win32のぽうろかいえうあ
どうやるんれつか?

こたえろ!230 :デフォルトの名無しさん :03/09/14 02:54
222 :デフォルトの名無しさん :03/09/13 22:08
Win32のぽうろかいえうあ
どうやるんれつか?

こたえろ!230 :デフォルトの名無しさん :03/09/14 02:54
222 :デフォルトの名無しさん :03/09/13 22:08
Win32のぽうろかいえうあ
どうやるんれつか?

こたえろ!230 :デフォルトの名無しさん :03/09/14 02:54
222 :デフォルトの名無しさん :03/09/13 22:08
Win32のぽうろかいえうあ
どうやるんれつか?

こたえろ!
0236デフォルトの名無しさんNGNG
なんで答えがないんだ?
それどころか無視されているのか?
0237デフォルトの名無しさんNGNG
激しくつまんね。略してハゲ妻。
0238デフォルトの名無しさんNGNG
>>224
漏れは昔から何も考えずにSetWindowsHookExの
戻り値を渡してるけど、0を渡す意味は何かあるの?
ただ、戻り値を記憶しておくのが面倒なだけ??
0239デフォルトの名無しさんNGNG
グローバル変数をshared sectionに置くとかいろいろ面倒なんだろう
0240デフォルトの名無しさんNGNG
定期age
0241デフォルトの名無しさんNGNG
定期age
0242デフォルトの名無しさんNGNG
定期age
0243デフォルトの名無しさんNGNG
#define INT int
の意図がわからない。
0244デフォルトの名無しさんNGNG
typedef int INT
だった...ウツダシノウ・・・
0245デフォルトの名無しさんNGNG
#define LONG long
もあるよ。
ただ、大文字でも小文字でも書けるようにしたいだけでわ?
0246デフォルトの名無しさんNGNG
というか、一貫性の問題。
API関連の型は全部大文字、つー安心感がある。

と同時に、typedef or #define それぞれの持つ
そもそもの目的から。

LPSTRなんて、16bit時代は今と全然違う定義。

16bit時代 -> typedef char far * LPSTR ;
0247デフォルトの名無しさんNGNG
じゃあ、いつかは INT が long になったり、 unsigned int になったり、
short になったりするのかよ?

typedef unsigned long INT;

めでてえな。
0248デフォルトの名無しさんNGNG
INTの意味は違うだろ
16bit時代は int = short だったんだから・・・
0249デフォルトの名無しさんNGNG
>>247
あらら、凄い勢いで煽ったのに
つっこまれたら、おとなしくなっちゃったね・・・。

めでてえな。w
0250デフォルトの名無しさんNGNG
#ifdef 〜(ANSI C準拠かどうか)
#define Const const
#else
#define Const
#endif
int func(Const char *);
というのは見たことがある。
0251デフォルトの名無しさんNGNG
そんなのこんだけでだけで済むじゃん。

#ifndef __STDC__
#define const
#endif

頭割〜。
0252デフォルトの名無しさんNGNG
漏れのが頭わるそうだ。欝。
0253デフォルトの名無しさんNGNG
定期age
0254デフォルトの名無しさんNGNG
LARGE,MEDIUM,COMPACT,SMALL,TINY

昔はいろいろあったなあ・・・
0255デフォルトの名無しさんNGNG
WindowsではCOMPACTが推奨されてたような。
0256デフォルトの名無しさんNGNG
MEDIUMだろ。
0257デフォルトの名無しさんNGNG
先週からウィンドウズプログラミングやり始めたんだけど、どうやって知識埋めていったの?
やっぱ漠然と覚えていくって感じ?
0258デフォルトの名無しさんNGNG
>>257
まずは自分のやりたいことを限定する。
そして、そのやりたいことに必要な部分だけを調べる。
ほかの事は見向きもしない。
それが出来た後、機能を一つずつ追加していく。
0259デフォルトの名無しさんNGNG
>>258
漏れは漠然と会得していった。
どうせ趣味だし。
0260デフォルトの名無しさんNGNG
>>257
俺は「猫でもわかるWindowsプログラミング」を一通り読んで、
その本で扱われているスクリーンセーバーや、デスクトップマスコット
などに色々な機能を付け加えながら勉強した。
http://www.amazon.co.jp/exec/obidos/ASIN/479732130X/
0261デフォルトの名無しさんNGNG
復活age
0262デフォルトの名無しさんNGNG
>>257
他人のソースを見ながら入門サイトやMSDNと突き合わせていった
もともとVB、Delphi、MFCはやってたからあるはずのものを探していく幹事
0263デフォルトの名無しさんNGNG
俺はMacから移行してきたけど、WinもMacも似たようなもんだから、
本をパラパラっと目を通しただけで、だいたい理解できた。
「ボタンとかもウィンドウの1種なのか。へぇ〜」ぐらいなもんだな。意外だったのは。

Macに比べ、Winでのプログラミングは情報も溢れてるし、
Appleと違ってMicrosoftのサポートも期待できるから(笑)、
地道に1冊読み込んで、プログラム作ってみれば身につくんじゃないかな。
0264デフォルトの名無しさんNGNG
>>257
自分の場合、
「猫でもわかるWindowsプログラミング」
が、足がかりとして大変参考になりました。
あとは、MSDNを参考にガンガンコーディングして腕を上げていきます。
ただ、日本語版のMSDNは、内容がおかしかったりするので、あまりお勧めしません。
0265デフォルトの名無しさんNGNG
>>257

Windowsでは、おいらはいきなり(というか今にして思えば無謀にも)
MFCから入門するも挫折。
いろんな本を買い込んで試行錯誤しながら勉強した。その結果、
メッセージの扱い方を習得した。

んなもん最初に習得しろって? スイマセン、ごもっとも…(^ ^ ; ; 。

メッセージを制する者、Windowsプログラムを制する。
その後MFCにリベンジ。あら不思議、自分でも信じられないくらい
プログラムが書けるようになった……まぁ回り道ではあったが、本に
かけた金は無駄ではなかったようだ。

0266デフォルトの名無しさんNGNG
eclipse CDTがこれに対応してくれたら最高

http://slashdot.jp/developers/04/04/19/1757207.shtml?topic=58
0267デフォルトの名無しさんNGNG
MFCのいい導入教本って無いんだよな。
いきなりウィザードで作られたオブジェクトの集合体(フレームワーク)を相手にアプリ作るものばかり。Win32API知っていても敷居が高い。
その点Win32APIは、理解するのが楽。ブラックボックスと感じるところが少なくて見晴らしがいい。

つーわけで、今MFCフレームワークのソース解読しています。
ウィザードで一番シンプルなフレームつくって、そのソースを読むのが現状一番理解安い勉強法だな。
0268デフォルトの名無しさんNGNG
http://page4.auctions.yahoo.co.jp/jp/auction/d47227135
0269デフォルトの名無しさんNGNG
>>267
それより、自分でMFCもどきのクラスライブラリを作るほうが勉強になる。
つまったらMFCのソース見て「こうすればいいのか」で理解できて、
独自の使いやすいクラスライブラリも作れてウマー。
0270デフォルトの名無しさんNGNG
>>269
しかしVC++自体がMFCに特化してるので、MFCを完全に習得したら
結果的にはMFC使うほうが楽じゃない?
元々WIN32APIだったけどMFCに引越ししてきて、あまりにもコードを書く量が少なくて
ビックリしてんだけどさ。
でも、たしかにWIN32APIの理解って意味ではクラスライブラリ作るってのは
すごい勉強になると思う。
0271デフォルトの名無しさんNGNG
>>270
楽だけど、MFC使うとサイズ大きくなるからイヤ
0272デフォルトの名無しさんNGNG
そこでWTLですよ
0273デフォルトの名無しさんNGNG
>>271
HDDを増設すれば?
0274デフォルトの名無しさんNGNG
全利用者のHDD増設費用を負担してやるほど金がないんで。
0275デフォルトの名無しさんNGNG
それくらいのことが出来ないで何がオンラインソフト作者か。
0276デフォルトの名無しさんNGNG
それなら真っ先にMSからHDDが送られてきていいはずなのだが……
0277デフォルトの名無しさんNGNG
商売とボランティアをいっしょにするな
0278デフォルトの名無しさんNGNG
そうはいってもIEだってVC++Toolkit2003とかだってタダで配ってるわけだし
同じようなものだべ
0279デフォルトの名無しさんNGNG
>>276
なんでMSがHDD買ってやらにゃならんのだ。
0280デフォルトの名無しさんNGNG
随分有意義な議論のスレですな( ´∀`)
0281デフォルトの名無しさんNGNG
>267
MFC6.0 標準講座 という本は、ウィザードを使わない入門書でオススメ

数ページしかウィザードに関するページがなくてワロタ
0282デフォルトの名無しさんNGNG
MFCは、VC1の頃は「使わない=正解」だった。
しかし、最近は、そうでもなくなってきた。
0283デフォルトの名無しさんNGNG
http://pc5.2ch.net/test/read.cgi/tech/1088140233/
より。

複数のプロシージャ間でデータのやりとりをする方法を論議する。
ベストな方法に拘らず、アクロバティックな方法も歓迎。
0284デフォルトの名無しさんNGNG
>>283
そのスレの392です。
パイプを使うとかも考えられますね。
マンドクセけど。
0285284NGNG
他に思いつく方法としては、
ウィンドウプロシージャは共通化して、ウィンドウハンドルで分岐。
データはウィンドウプロシージャのローカル変数に保持。

実質的にグローバル変数を使うのと大差無い気もしなくもない。
0286デフォルトの名無しさんNGNG
データを操作するインタフェイス用イベントを各プロシージャに作成。
標準コントロールでも基本的にこの方法だし。
0287デフォルトの名無しさんNGNG
>>286
なるほど。そんな方法もあったか。
漏れは、グローバル変数(構造体?)を作って
それでやりとりしてる。
この方法が一番簡単だから(笑)
0288デフォルトの名無しさんNGNG
C++では、CreateWindowとかをラッピングして、
メンバ関数がコールバックされる仕組みを作っておけば、
後は単にオブジェクト同士の通信って事で、
参照とかポインタ使うなりObserverなりで普通に解決出来るよな。
そのクラスへのポインタは GWLP_USERDATA とかに持たせといて。

Cっぽい手法をって事なのかもしれんけど、一応。
0289デフォルトの名無しさんNGNG
FreeLibraryAndExitThreadなんて意味不明のAPIはなんなの?

> 解説
> FreeLibraryAndExitThread 関数は、次のように実装されています。
> FreeLibrary(hModule);
> ExitThread(dwExitCode);

だったら自分でこう並べりゃいいんじゃないのか
FreeLibrary(hModule);
ExitThread(dwExitCode)
0290デフォルトの名無しさんNGNG
>>289
         \   ∩─ー、    ====
           \/ ● 、_ `ヽ   ======
           / \( ●  ● |つ
           |   X_入__ノ   ミ   そんなエサで俺様がクマ――!!
            、 (_/   ノ /⌒l
            /\___ノ゙_/  /  =====
            〈         __ノ  ====
            \ \_    \
             \___)     \   ======   (´⌒
                \   ___ \__  (´⌒;;(´⌒;;
                  \___)___)(´;;⌒  (´⌒;;  ズザザザ
                               (´⌒; (´⌒;;;

って、マジであるし_| ̄|○
0291デフォルトの名無しさんNGNG
何を仰いますか。
どちらかを呼び忘れるというミスを防げるぢゃないですか。
こりゃあ便利だぁ。
0292デフォルトの名無しさんNGNG
順番を間違えて逆に書いちゃってもコンパイルエラーが出るから安全だしね。

ExitThread(dwExitCode);
FreeLibrary(hModule);
って書いちゃったらコンパイル通っちゃうもんね。
0293デフォルトの名無しさんNGNG

      /   _ -‐‐  、    ̄``ヽ、
      / / /    , -‐ ̄ `ヽ\   \C/C++のエキスパートだからと言って
     / / /    / .イ// ト、  \\   ヽMFCのメリットを無視してはいけない。
   / / /  /  / / / /  | \  \ヽ   `、MFCは混沌としたWindowsプログラミングの世界に
   / / /  / / /   /〃  || ト、ヽ  `、     ',風景を与え、プログラマが陥りがちな
  / / /  / 〃/  ///  / || | ヽ ヽ  `、│ !罠を避けるためのものである。
  / / /  / / / ///  /___|| |  ヽヽ   i │ ||しかし、その愛すべきMFCの裏には
 /i/ │ /十/ナ/ / /〃  リ厂``ト}} 川│ | || プレーンなC・APIのコードが隠されている
 l‖│|  |{ l/ ___/ "/´   ノlノ_ jjハ|| l | | ||ことを忘れてはいけない。
 | ||l│|  ||,,ィテ〒ミ、       テ〒ドz、リ川 l | リMFCがあればAPIを無視できるなどと
 | ||.!�Uh || |:ト-イj::|         |:ト-イj::| `V// ノ| 誤解しないでいただきたい。
 | || !l l{」、ヽ ヾ辷ツ         ヽ辷ツ // /}| / 
  !! `、| | \`、‐-一   r      ‐-一''/イ /レ1|/   by アジソンウェスレイの中の人。
     | |  lヽ i i i         i i i 彡7 / /|‖
     | |  | |`丶、   ` ̄´     . ィ7/ / /八 |
     |八 ! | | |  >, __.. イ \|// / //ハ |


0294デフォルトの名無しさんNGNG
>>289
AdvancedWindowsに解説があるので読むべし。要約すると:

DLLが作ったスレッドがDLL自身をアンロードする際、個別に開放関数を呼び出してしまうと、
FreeLibraryした時点でDLLのマッピングが解除されて実行コードが消滅するので、
ExitThreadが実行できず(無い袖は振れない)バイオレンスな事態が起こる。

FreeLibraryAndExitThreadであれば、カーネルモードから戻った時点で
DLLもスレッドもいなくなってるので万事OK、All's right with the world、というわけ。
0295デフォルトの名無しさんNGNG
Windowsでのパスの区切り文字って、
\、/
以外にあったっけ?
0296デフォルトの名無しさんNGNG
ない。なお、単なる質問は質問スレへ。
0297デフォルトの名無しさんNGNG
296
ThX!
スマソ!
0298デフォルトの名無しさんNGNG
逆にこんなのも通る
http:\\pc5.2ch.net\test\read.cgi\tech\1049790146\\\\\\\l50
0299デフォルトの名無しさんNGNG
http://pc5.2ch.net/test/read.cgi/tech/1090422324/20-24
> 20 名前:デフォルトの名無しさん 投稿日:04/07/22 19:00
> ダイアログベースのプログラムの欠点って何ですか?
> 欠点がないならGUIが簡単に作れるから全部ダイアログベースで書いちゃえばいいと思うんですが。
>
> 23 名前:デフォルトの名無しさん 投稿日:04/07/22 19:26
> >>20
> そうですね。
> その通りになさればよろしいと思いますよ。
>
> 24 名前:デフォルトの名無しさん 投稿日:04/07/22 19:35
> ダイアログだって、ウィンドウの面倒な部分をかなりラッピングしただけなんだから本質的な違いは無いでしょ
0300デフォルトの名無しさんNGNG
>>298
こういうのを見ると、バックスラッシュを円記号に当てたのがJIS最大の過ちな気がするな。
0301デフォルトの名無しさんNGNG
第2の誤ち: アスキーとMSKKによるSHIFT JIS採用。

第3の誤ち: それまでの誤ちを正さず、屋上屋を重ねて、0x5cがバックスラッシュでなく円記号になるという、日本でしか通用しない
「Unicodeみたいなもの」
を作ってUnicodeと名乗らせてしまったMSKK。
嘘がばれないように新たな嘘を吐き……というのに似ている。
0302デフォルトの名無しさんNGNG
>0x5cがバックスラッシュでなく円記号になるという

これはしょーがない気もするけどなぁ。
昨日まで円記号だったパス区切り文字がOSのバージョン上げただけで
バックスラッシュになってたら混乱も起きるだろうし。
0303デフォルトの名無しさんNGNG
>>298はバックスラッシュ/円記号問題と何の関係もない気がするんだが。
スラッシュの代わりにバックスラッシュが使えるというだけの話だろ
0304デフォルトの名無しさんNGNG
「JIS最大の過ち」に対して第2第3と称してMSKKの過ちとやらを持ち出すのも意味不明だし
0305デフォルトの名無しさんNGNG
>>298から>>300が出るのは意味不明っつーか問題のすり替えだけど、
>>300から>>301が出るのは自然でしょ。問題がすり替わったことを受け入れれば、だけど。

MSのセンスのなさは、UNIX風の階層ディレクトリをパクって来た際に、
Cの文字列でエスケープを担当している「\」をパス区切りとして採用した点だろ。
まあ当時はアセンブラかBASICくらいしか念頭においてなかっただろうから、
ある意味仕方ない面もあるかもしれないけどね。実際の経緯は知らんが。
0306デフォルトの名無しさんNGNG
むしろISO646のinvariantではない文字を使いまくりのC言語が(ry
0307デフォルトの名無しさんNGNG
>>299
CreateDialog()でダイアログをウィンドウのように扱っても特に問題は無い。
メモリ消費が通常のウィンドウベースより多いぐらいか?

あとは、コントロールの取り回しが多少面倒。基本的にウィンドウハンドルを使わず
SendDlgItemMessage()でやるから。
0308デフォルトの名無しさんNGNG
ドサクサに紛れてアンチMSが暴れているスレはここですか?
0309デフォルトの名無しさんNGNG
かなり遅れて、しかも夏全開の突っ込みが入るスレなら、ここで合ってる。
0310デフォルトの名無しさんNGNG
http://www.microsoft.com/japan/msdn/library/ja/jpwinui/html/_Win32_GetProcessDefaultLayout.asp
PDWORDやLPDWORDを使わずなぜDWORD *を使う?
0311デフォルトの名無しさんNGNG
stlのvectorで vector< vector< int > >のように二次元配列として使用しています。
この配列の全要素に一括で同一の値を代入することってできますか?
今のところ、ループを回して逐次代入しているのですが。
0312デフォルトの名無しさんNGNG
うわ、誤爆しました。すみません
0313デフォルトの名無しさんNGNG
>>330 DWORDを取得したいからだろ、
MSの流儀は、値取得ならTYPE *で設定ならLPTYPEにしてあるじゃないかい
0314デフォルトの名無しさんNGNG
BOOL GetDiskFreeSpaceEx(
LPCTSTR lpDirectoryName, // ディレクトリ名
PULARGE_INTEGER lpFreeBytesAvailable, // 呼び出し側が利用できるバイト数
PULARGE_INTEGER lpTotalNumberOfBytes, // ディスク全体のバイト数
PULARGE_INTEGER lpTotalNumberOfFreeBytes // ディスク全体の空きバイト数
);
0315デフォルトの名無しさんNGNG
>>314
そっちの方が例外だと思う
0316デフォルトの名無しさんNGNG
MSが*を使うのは基本的にポインタのポインタ(LPLP〜)となってしまう場合にLP〜*とするときくらいじゃないのか?
0317デフォルトの名無しさんNGNG
あとは構造体のconstポインタもまず間違いなく*を使っている、ってこれは>>313の言っていることと同じだな。
どうでもいいが313はtypedef 〜 *PHOGE; const PHOGE pHoge;とconst HOGE *pHoge;の違いを分かっているのか?

0318デフォルトの名無しさんNGNG
age
0319デフォルトの名無しさんNGNG
使うなと書いてある http://www.microsoft.com/japan/msdn/library/ja/jpgdi/html/_win32_getcharwidth.asp?frame=true
NT系しか使えない. http://www.microsoft.com/japan/msdn/library/ja/jpgdi/html/_win32_getcharwidth32.asp?frame=true
どうすりゃいいだ
0320デフォルトの名無しさんNGNG
>>319
どうしても1文字単位の幅を知りたいのなら
GetTextExtentPoint32を文字の数だけ繰り返し呼べば代用できるかな。
0321デフォルトの名無しさんNGNG
>>320
GetTextExtentPoint32は初めて知った。
�dクス、これでいけそうだ。
0322デフォルトの名無しさんNGNG
>>317
http://kmaebashi.com/programmer/pointer.html
313じゃないが、の話?
0323デフォルトの名無しさんNGNG
age
0324デフォルトの名無しさんNGNG
programe→programing
program →programming
0325デフォルトの名無しさんNGNG
>>323
反射的に突っ込みを入れてないで
>>2を読め。…ってか、過去ログ読んでから書き込め。
0326デフォルトの名無しさんNGNG
>>325
>>325
>>325
>>325
>>325
>>325


ここは反射的なインターネッツですね。
0327デフォルトの名無しさんNGNG
それでは、みなさん良いお年を〜
0328デフォルトの名無しさん05/01/18 04:09:27
15日遅れの、あけましておめでとう。
0329デフォルトの名無しさん05/02/17 00:35:36
age
0330デフォルトの名無しさん05/02/20 10:41:31
ヷ〳〵〳〵〳〵〳〵〳〵〳〵
0331デフォルトの名無しさん皇紀2665/04/01(金) 00:43:06
age
0332デフォルトの名無しさん皇紀2665/04/01(金) 00:44:24
>>331
皇紀2665/04/01(金) って何だ?
0333デフォルトの名無しさん皇紀2665/04/01(金) 01:26:33
>>332
http://www.2ch.netを見れば分かる。
0334デフォルトの名無しさん2005/05/17(火) 08:24:39
age
0335デフォルトの名無しさん2005/06/22(水) 07:51:44
あげ
0336デフォルトの名無しさん2005/06/22(水) 18:23:36
CかC++でWinAPI使ってプログラミングしていると、
やけにコピペを使ってしまうのは俺だけですか?
0337デフォルトの名無しさん2005/06/22(水) 18:30:20
>>336
みんなそんなもんだよ
0338デフォルトの名無しさん2005/07/30(土) 23:49:45
>>336
補完機能付きのエディタ使うと便利だよ
0339デフォルトの名無しさん2005/07/31(日) 00:53:18
>>338
今時はついてないエディタの方が稀だけどな。
0340デフォルトの名無しさん2005/07/31(日) 04:10:24
>>339
エディタで付いてるのはめずらしくないか。IDEだと普通だけど。
03413392005/07/31(日) 10:20:43
>>340
分類してみた。公式ページとかをざっと見て確認しただけなのであまり正確ではないと思うがその辺はご容赦を。
あるのが「めずらしい」というほどでもないが、補完機能無しの方が多数派みたいです。

<補完機能無し>
萌ディタ VxEditor VxEditor ne K2Editor Jesty JmEditor "Little Spider"
MKEditor NoEditor UnEditor えるの〜と EdTex TeraPad Text maid
tolstoj WHiNNY "Maple Editor" "Crimson Editor" ConTEXT

<補完機能有り>
PeggyPad Alpha 秀丸エディタ サクラエディタ Emacs MetaEditPro
OTBEdit OEdit Scintilla SynEdit
0342デフォルトの名無しさん2005/08/24(水) 10:22:09
age
0343デフォルトの名無しさん2005/08/25(木) 19:38:39
正直最近テンプレートって知りました。
ATLのヘッダーのコード読んで勉強してるが、正直難しい。
長いことゲーム業界にいたんで、アセンブラ、Cまでなら熟知してるけど(OOPはJavaでデザインパターンとか実践した)
学習するのにいい本ないべか?
0344デフォルトの名無しさん2005/08/25(木) 19:47:03
Spy++みたな感じで、ActiveXのメソッドやプロパティーに送ってる情報調べるの無いかしら?
0345デフォルトの名無しさん2005/08/25(木) 20:08:47
universal delegator使って自分で挟むしかない気がするなぁ
0346デフォルトの名無しさん2005/08/25(木) 20:25:33
>>343
C++の入門書
0347デフォルトの名無しさん2005/08/31(水) 10:30:16
「サブクラス化」って何?
0348デフォルトの名無しさん2005/08/31(水) 12:43:16
デフォルトWinプロシージャをフックするようなもん

名前の由来は知らない
0349デフォルトの名無しさん2005/08/31(水) 13:34:35
C++でいう派生クラスのことをサブクラスと言う言語もあるみたいだよ。
0350デフォルトの名無しさん2005/09/01(木) 14:19:01
subclass

1 〔生〕亜綱:classの下位分類.
2 下層階級.
3 =sub set.
━ 曠昿下位[亜綱]に分類する.

Progressive English-Japanese Dictionary, Third edition ゥ Shogakukan 1980,1987,1998/プログレッシブ英和中辞典 第3版 ゥ小学館 1980,1987,1998
0351デフォルトの名無しさん2005/09/01(木) 23:56:24
サブクラス化というのは相手がどうなるかということで
実装する方はいわゆるスーパークラスになっている

ボタンコントロールをスーパークラス化する=
ボタンコントロールが基底クラスになる=
私の書いたコードは継承である

ボタンコントロールをサブクラス化する=
ボタンコントロールが継承クラスになる=
私の書いたコードは(メッセージをフックして)基底クラスになる
0352デフォルトの名無しさん2005/09/02(金) 07:34:09
>>351
逆じゃね?
0353デフォルトの名無しさん2005/09/06(火) 16:09:25
戻り値で、CString返したりする関数積極的に作っていいのかしら?
0354デフォルトの名無しさん2005/09/06(火) 16:11:31
>>353
MFC使うプロジェクトという前提ならば
0355デフォルトの名無しさん2005/09/06(火) 17:40:32
俺は非MFCでstd::stringなりなんなりを返したりはするよ。
0356デフォルトの名無しさん2005/09/06(火) 19:55:13
>>ALL
馬鹿にしないでください。それでわかるくらいなら質問しません。
0357デフォルトの名無しさん2005/09/06(火) 19:59:59
>>356
馬鹿にしないでください。それでそれで分からないのなら回答しません。
0358デフォルトの名無しさん2005/09/07(水) 22:42:56
>>質問者
お前がそんなに馬鹿とは思わなかった。二度とプログラムはしない方がいいですね。
0359デフォルトの名無しさん2005/09/08(木) 10:39:49
>>358
馬鹿にしないでください。それでわかるくらいなら質問しません。
0360デフォルトの名無しさん2005/09/10(土) 01:50:31
今テキストエディタを作っているのですが、
1つ困った問題があります。1画面にデータを表示しきれなくなり
スクロールで描画を更新するときの処理なのですが常套手段としてどんなのがあるのでしょうか?

memcpyで表示行分forループを回し先頭からいくら削除した文字列を作って1行ずつ表示させていますが
どうにも画面がチラチラチラして困ります。助けてください
0361デフォルトの名無しさん2005/09/10(土) 02:05:19
描画の問題なら、バックバッファ使えば? って話?
0362デフォルトの名無しさん2005/09/10(土) 02:07:16
>>360
http://www.kmonos.net/alang/texted/
0363デフォルトの名無しさん2005/09/30(金) 00:11:26
C/C++なんて言うけど、今時のC++はCとは全く別物
C++ができる奴は例外なくCもできるが
CだけのやつはC++は全くついていけない
Linusなんてその典型w
0364デフォルトの名無しさん2005/09/30(金) 00:47:38
>>363
どっちの典型?
0365デフォルトの名無しさん2005/09/30(金) 08:21:46
>>363
逆だ馬鹿。
C++がCに必死こいて合わせてたのがC99のせいで全部パーになった。
0366デフォルトの名無しさん2005/09/30(金) 08:39:39
CとC++の標準化って別のとこがやってんの?
0367デフォルトの名無しさん2005/09/30(金) 11:57:28
>>365
で、またC++ 0xで必死こいて合わせようとしているようだ。
0368デフォルトの名無しさん2005/09/30(金) 22:01:25
Safer Cとやらは新しいC++標準にも同時に入るんでしょうかね
0369デフォルトの名無しさん2005/09/30(金) 22:57:47
もし入っても処理系がない罠
0370デフォルトの名無しさん2005/09/30(金) 23:48:46
Microsoftの場合先に実装して標準に提案して
実際に標準になったものとは微妙に仕様が違う罠
0371デフォルトの名無しさん2005/09/30(金) 23:56:38
>>370
あるあるwwwwww
0372デフォルトの名無しさん2005/10/20(木) 23:29:26
あげ
0373デフォルトの名無しさん2005/10/30(日) 15:27:09
リサイズ時のチラつきが気になる。
WM_CREATE捕まえて
hTree = CreateWindowEx(0, WC_TREEVIEW, "", WS_CHILD | WS_BORDER | WS_CLIPCHILDREN | WS_CLIPSIBLINGS | WS_VISIBLE | TVS_HASLINES | TVS_HASBUTTONS | TVS_LINESATROOT, 0, 0, 0, 0, hWnd, NULL, hInst, NULL);
あとはWM_SIZE捕まえたときにMoveWindowでクライアント領域にフィットさせてるだけなのだが……

ウィンドウクラス登録するときにhbrBackgroundをNULLにするだけじゃダメなのか。
WM_ERASEBKGNDつかまえてTRUE返す方法でもダメだった。

VBはうまくやってるなーとおもったら、クラス名がSysTreeView32じゃなかったorz
0374デフォルトの名無しさん2005/10/31(月) 02:14:23
WM_SETREDRAWで再描画を抑制すれば?
というか、質問スレでもいいと思うけど。
0375デフォルトの名無しさん2005/12/08(木) 05:02:52
age
0376デフォルトの名無しさん2005/12/23(金) 14:33:14
hos
0377デフォルトの名無しさん2005/12/28(水) 23:00:30
C++でWINDOWSプログラミングをしたいと思うのですが
どっかいいサイトないですか?
環境はフリーで揃えられ、CでなくC++でやれるというのが条件なのですが
金は一銭も使いたくないんです
まあどうせ答えてもらえんだろうが
0378デフォルトの名無しさん2005/12/28(水) 23:10:48
>>377
Microsoft Visual C++ 2005 Express Edtion
0379デフォルトの名無しさん2005/12/28(水) 23:18:35
>>378
それやろうと思ってたとこだったんだけどね
インストールに手間取ってね
0380デフォルトの名無しさん2005/12/28(水) 23:30:26
お願いですからお引き取り下さい
0381デフォルトの名無しさん2005/12/28(水) 23:40:50
>>377
答えるもなにも、ここは議論スレなんだが。

ついでに、
議論するまでもなくC++でWindowsプログラミング程度なら
タダでいくらでもできる。
0382デフォルトの名無しさん2005/12/28(水) 23:53:31
だからそのやり方が載ってるサイト捜してるわけだが
だったらどのスレで聞きゃいいの?
0383デフォルトの名無しさん2005/12/28(水) 23:58:11
一生聞いてろ
0384デフォルトの名無しさん2005/12/29(木) 00:02:08
>>382
インストールはただ指示に従って「はい」を押し続けていくだけだったと思うが。
0385デフォルトの名無しさん2005/12/29(木) 00:02:48
>>382
いくつかヒントやるよ。
ただしスレ違いだから、もうこのスレを消費しない事。お礼も不要だ。
 1. 「MinGW」でググれ。
 2. うまくいかなくても、何度も挑戦でだ。OSの再インスコを面倒がるな。
 3. なんか出来たらうp。
0386デフォルトの名無しさん2005/12/29(木) 00:03:51
>>377
質問お断り
03873852005/12/29(木) 00:05:29
>>378
あ orz なんでVC++薦めてんだ。
せっかくイバラの道を歩ませようと思ったのに。。。
0388デフォルトの名無しさん2005/12/29(木) 00:10:43
>>387
2005EEならまだ解説しているページも本もないからいいかと思った。
むしゃくしゃしてやった。今は反省している。
0389デフォルトの名無しさん2005/12/29(木) 00:28:20
だからその質問すべきところに誘導してくれって言ってんだ
0390デフォルトの名無しさん2005/12/29(木) 00:32:36
>>389
さようなら
http://pc8.2ch.net/test/read.cgi/tech/1124256027/
0391デフォルトの名無しさん2005/12/29(木) 00:39:39
mingwはcygwinとかmsysあれば結構楽だしなあ
OpenWatcomでGTK+とかどうよ
0392デフォルトの名無しさん2005/12/29(木) 01:19:40
>>390
三糞
0393デフォルトの名無しさん2005/12/29(木) 01:22:18
あ、そうだ
質問が悪かったかな
何れにせよスレ違いっぽいけど
こうならどうだ
C++でWINDOWSプログラミング教えてくれるサイト教えれ
0394デフォルトの名無しさん2005/12/29(木) 03:47:21
あ、そうだ
質問が悪かったかな
何れにせよスレ違いっぽいけど
こうならどうだ
C++で幼女にプログラミングを教えられるサイト教えれ
0395デフォルトの名無しさん2005/12/29(木) 13:16:46
必死だなお前どうせ挫折するってwwwwwwwwwwww
0396デフォルトの名無しさん2005/12/31(土) 02:16:21
>>385
> 2. うまくいかなくても、何度も挑戦でだ。OSの再インスコを面倒がるな。
MinGW入れただけで環境壊す奴なんているのか? 最近はインストーラも付いて
かなり敷居が下がった感じだが
0397デフォルトの名無しさん2005/12/31(土) 10:38:03
>>396
世界は広い、環境も千差万別ってとこだ。
来年の目標はは自分視点でものを言うをやめるにしとけや
0398デフォルトの名無しさん2005/12/31(土) 13:21:37
ワロスw
0399デフォルトの名無しさん2005/12/31(土) 19:07:28
>>397
はあ、なんか気に障ったのかね。
レジストリを使うわけでもなし、ただどういう原因で再インストールまで追い込まれるのか
興味があっただけなんですけれども
0400デフォルトの名無しさん2005/12/31(土) 19:51:42
はあ、スレ違いな話題を続けていただいてどうもどうも
04013852005/12/31(土) 22:53:10
ごめんごめん(;´Д`)ボクのために争いはやめて!

>396
いや、インスコだけじゃなくて、開発も含めてのアドバイスのつもりだったのよ。
俺漏れなんか、InsideWindowsは手に入らないし、でもWinはハックし尽くしたいし
ってことでいやもう壊した壊したw
0402デフォルトの名無しさん2006/01/01(日) 19:33:11
ヲタク
0403デフォルトの名無しさん2006/01/01(日) 22:52:15
そこでVirtual PCやらVMwareですよ。
0404デフォルトの名無しさん2006/02/15(水) 01:47:11
age
0405デフォルトの名無しさん2006/02/17(金) 14:30:35
>>397
皆の思考は違う〜で一生やってったら?
人を従わせて生きていく奴(主役)は自分の考えで他人(脇役)を動かしていくもんだ
0406デフォルトの名無しさん2006/02/18(土) 15:33:26
>>405
亀レスでこの態度w 主役はスゲエな
0407デフォルトの名無しさん2006/02/19(日) 12:08:39
まだ人が居たよ
0408デフォルトの名無しさん2006/03/10(金) 12:13:38
__________
    <○√
     ‖ 
     くく
しまった!ここも糞スレか!
オレが止めているうちに他スレへ逃げろ!
早く!早く!オレに構わず逃げろ!
0409デフォルトの名無しさん2006/03/21(火) 17:10:26
(´A`)保守
0410デフォルトの名無しさん2006/04/29(土) 12:45:43
あげ
0411デフォルトの名無しさん2006/05/26(金) 03:11:21
ヽ(`Д´)ノボッキアゲ
0412デフォルトの名無しさん2006/06/09(金) 22:33:26
↓芸無し、40代独身デブニート(素人)童貞、近藤妥の特徴
 
http://booklog.kinokuniya.co.jp/hayase/archives/2006/05/post_50.html
●自分に甘く、他人に厳しい 
●努力せずに成果が欲しい 
●すぐにいらつき、キレる 
●無気力、鬱になりやすい 
●「悪い」と思っても謝らない
0413デフォルトの名無しさん2006/07/04(火) 03:34:41
K仲川について
Part 12 http://pc8.2ch.net/test/read.cgi/prog/1149910802/
Part 11 http://pc8.2ch.net/test/read.cgi/prog/1149837188/
Part 10 http://pc8.2ch.net/test/read.cgi/prog/1121735183/
Part 9 http://pc8.2ch.net/test/read.cgi/prog/1116787849/
Part 8 http://pc8.2ch.net/test/read.cgi/prog/1115159315/
Part 7 http://pc5.2ch.net/test/read.cgi/prog/1097207795/
Part 6 http://pc5.2ch.net/test/read.cgi/prog/1072341310/
Part 5 http://pc.2ch.net/test/read.cgi/prog/1049904397/
Part4 http://pc.2ch.net/test/read.cgi/prog/1032169313/
Part 3 http://pc.2ch.net/prog/kako/1027/10271/1027113507.html
Part 2 http://pc.2ch.net/prog/kako/990/990876626.html
オリジナル http://mentai.2ch.net/prog/kako/965/965618236.html 
関連スレ
【初めて仲川勝彦(K仲川)と仕事する方へ】
http://pc8.2ch.net/test/read.cgi/prog/1149580345/
0414デフォルトの名無しさん2006/08/04(金) 11:47:43
あげ
0415デフォルトの名無しさん2006/08/04(金) 22:26:21
ここの人たちってC++でVBみたいなプログラム書いてる人たちをどう思うの?
クラスとか一切使ってなくて、ファンクションの荒らしみたいな。
0416デフォルトの名無しさん2006/08/05(土) 14:06:39
Cでもそうなるがなw
0417デフォルトの名無しさん2006/08/06(日) 04:00:56
質問なんだけど
大学生活もおちついてきたのでC言語でも学習しようかなあっておもってます。
windows上でプログラミングすることになるんだけどコンパイラは
MSのVisual Studio 2005 Academic EditionでOK?
学生だからアカデミック版だとかなりやすく手に入るかなーとおもってこれにしようか
とおもってるんだけどこれは商品としてはどうなんですか?
だれかエロい人おしえて。
0418デフォルトの名無しさん2006/08/06(日) 04:25:22
無料のExpress Editionで十分すぎるよ
0419デフォルトの名無しさん2006/08/06(日) 04:34:51
>418
返信ありがとうございます。
無料のExpress Editionって期限ありませんでしたっけ?
0420デフォルトの名無しさん2006/08/06(日) 06:33:36
アカデミックは超安いから、アカデミックでいいと思うよ。
0421デフォルトの名無しさん2006/08/06(日) 09:14:59
>>419
なくなった
0422デフォルトの名無しさん2006/08/06(日) 09:29:06
返信ありがとうございます。
とりあえず始めはExpress Edtionではじめて、ある程度C言語を習得したらアカデミッ
ク版買おうと思います。
0423デフォルトの名無しさん2006/08/06(日) 09:35:20
おまえらスレタイも読めないのか。
「しつもんおことわり」だ。
0424デフォルトの名無しさん2006/08/06(日) 15:27:40
生意気な説教もお断りだがな
0425デフォルトの名無しさん2006/08/09(水) 08:05:49
>>424
根拠は?
0426デフォルトの名無しさん2006/08/09(水) 20:08:39
>>425
質問禁止だろ?(ぷ
0427デフォルトの名無しさん2006/08/11(金) 12:29:19
>>426
へー、説教は質問なんだ。
0428デフォルトの名無しさん2006/08/11(金) 12:39:10
>427
>425が質問だって胃ってんだろ
0429デフォルトの名無しさん2006/08/12(土) 01:12:38
>>428
全然違うよ
0430デフォルトの名無しさん2006/09/12(火) 07:57:13
なんだこの餓鬼のあつまりは
所詮GUIをCでしこしこ書いてるやつは
オナニー野郎
0431デフォルトの名無しさん2006/10/04(水) 16:35:29
>>417
2ヶ月以上前のにレスで申し訳ないが、金によっぽど不住してるわけじゃないなら、
素直にアカデミック買った方がいい。
ExpressEditionは、色々と面倒なところが多いから、初心者がC言語の学習目的で
導入するのはお勧めしかねる。
0432デフォルトの名無しさん2006/10/06(金) 00:31:53
クリエイティブゥ? ??ディー、アイ、ビィィーーー……ハクション!!!
0433デフォルトの名無しさん2006/10/08(日) 18:02:43
スレの活性化キボンヌ!!!!!!!!
0434デフォルトの名無しさん2006/10/12(木) 02:41:53
>>ExpressEditionは、色々と面倒なところが多いから

kwsk
0435デフォルトの名無しさん2006/10/13(金) 02:14:27
>>434
プラットフォームSDK入れなきゃいけない
入れてもMFC使えない
マルチスレッドは作れない??
等だと思った。
最初のうちは無料ので気にすることないと思うお( ^ω^)
けどアカデミック安いし買って損はないと思うんだ
0436デフォルトの名無しさん2006/10/13(金) 08:59:37
>>435
マルチスレッド出来るに決まってんだろカス
0437デフォルトの名無しさん2006/10/13(金) 22:29:18
>>436
スレッドを作ることは当然できるが、
スレッドセーフになってるか?
0438デフォルトの名無しさん2006/10/13(金) 22:41:56
>>437
Cランタイムライブラリに関していえば
シングルスレッド用のは削除されて
マルチスレッド用のみになったぞカス

お前の糞プログラムがどうかはシラネ
0439デフォルトの名無しさん2006/12/05(火) 09:57:50
age
0440デフォルトの名無しさん2006/12/06(水) 14:01:53
最適化無しとシングルスレッドがごっちゃになってるのか
0441デフォルトの名無しさん2006/12/10(日) 21:45:29
ここは何の意味がある?
0442デフォルトの名無しさん2006/12/24(日) 11:15:25
BORLAND C++ FOR WINDOWS プログラミング技法
  ピーター・ノートン/ポール・ヤオ (1992) (株)ビー・エヌ・エヌ
 付録B デフォルトウィンドウプロシージャ

Windows3.0(?)SDKのDefWindowProcのリストがある。
Win32のDefWindowProcの不思議な動作もこれを読めば大体分かる。
0443デフォルトの名無しさん2006/12/31(日) 05:58:40
なつかしいな
漏れはそれ読まなくてもDefWindowProcの動作は理解出来たけど
0444デフォルトの名無しさん2007/01/18(木) 12:51:48
WM_NCACTIVATEとフラグ、
WM_NCLBUTTONDOWNとSysMenuとWM_SYSCOMMANDの関係、
ここらが知りたい人は図書館で探して見開き10ページ分を複写するといいよ。

THE OLD NEW THING ISBN 0321440307 到着 sage
0445デフォルトの名無しさん2007/01/19(金) 11:36:21
モノクロビットマップはビッグエンディアン
モトローラ6845と関係あるの ?
0446デフォルトの名無しさん2007/01/19(金) 12:33:53
6845はただのCRTCだから関係ないだろ
っつーかVRAM一般はビッグエンディアンじゃないの
0447デフォルトの名無しさん2007/01/19(金) 14:55:31
PC-9801は、左から右に b0,b1,,,b7だった。
IBMPC(CGA)は、左から右に b7, b6,,,b0だった。
0448デフォルトの名無しさん2007/01/20(土) 07:37:41
6845は確かシフトレジスタ外付けだったから
どっち方向にするかはハード設計者が決める
6845のせいじゃない
■ このスレッドは過去ログ倉庫に格納されています