WTLお勉強スレッド

このエントリーをはてなブックマークに追加
単に質問したいから立てました。

↓↓ダウンロード↓↓
http://www.microsoft.com/downloads/details.aspx?familyid=1BE1EB52-AA96-4685-99A5-4256737781C5&displaylang=en

↓↓WTL support list↓↓
http://groups.yahoo.com/group/wtl/
早くサポートしてください。
VSにつけてください。
ナムナム
>>4-6は、リンクを書いてくれる優しい人です。
ありがとう!>>4-6
WTL研究所
http://homepage1.nifty.com/Roy_/Software/WTL/WTL.htm

The Code Project - WTL
(英語だがそれが問題なければ情報源としては最強)
http://www.codeproject.com/wtl/
Windows Template Libraryの概要
http://www.mars.dti.ne.jp/~kattoshi/Program/
ほんとに優しい人がいた!!
ありがとう!!>>4-6
6は自分だけど。
84,5:04/03/01 23:45
でも今からWindows GUIプログラミングの勉強するなら
.NET Frameworkの方がいいと思うぞ。System.Windows.Forms。
WTLっつっても結局、拡張を続けてカオス状態になっている
Win32APIをむりやり押さえ込んだラッパークラスでしかないわけだし、
WTLでちょっと凝ったことやろうとすると結局、Win32APIを直接いじらないといけない。
出来上がったソースコード見てもいかにもハリボテといった感じで
美しいとは思えん。

メッセージループに振り回されることなく、ロジックの本質的な
部分に集中できる方がいいと思うぞ。
WTLは以前から↓のレスで扱ってるんだけど。

ATL 相談室
http://pc2.2ch.net/test/read.cgi/tech/1029029882/

まぁあっちも800レス超えたから次にここを使ってもいいけどね。
COM使えるようにならなきゃ
WTLの概要:
なんとなくきれい(見た目もコードも)。
サイズ小さめ。
実行速度早目。
コンパイル速度遅目。
ドキュメントが無い。
>>9
次ここ使ってよ。
>>8
MFCに比べれば美しいでしょ。
なんか輝いて見えるよ。
海外サイトといえばCodeProjectが有名だけど、
http://home.worldonline.dk/viksoe/all_wtl.htmも有名なので一押ししたい
>>6で挙がってるMLってかなり放置されてるよな
このスレも放置されるんだろか。
不安になってきた。

C#勉強した方がいいかなぁ・・・
>>16
そんな厨房みたいな排他的なこと言うなよ。
やりたきゃ両方やれ。
C#(というか.NETのライブラリ)いいよねえ。まるでJavaみたい(ウッ
WTLはあれだ、MFC使うくらいならWTL使えと。
なんて言いながらMFCろくに触ったこと無い俺。
# この後、「18は何も分かっていない。そもそも〜」と蘊蓄を垂れる人希望。
http://pc.2ch.net/tech/kako/1014/10149/1014932657.html
先が見えてしまった・・・
シクシク
で、>>1の質問したいことって何よ
ほんとはC#やろうと思ったんだけど、日本語の入力とか調べていて
やめよっかなーとか思って、WTLみつけました。
>>20
使い方です。
とりあえず、ウインドウに文字だけ書いてみました。
なんか楽しかったです。
MFCだと、いやな気持ちになるんだけど。
>>18
MFCもWTLもそこそこ触ってる俺から言うと、その程度でいいと思うよ。
何もWTLが最強だとか言うつもりはさらさらない。
Win32APIだけでウィンドウ作るならWTLの方が楽だし、
MFCよりもシンプルでいいなー程度。
なんとなく>>18と同じ気分です。
>>14のサイトすごい!

関係ないけど、C#はコンパイルが速くていいなーって思いました。
起動も速い。
2618:04/03/02 00:26
>>23
「WTLなんてクソ、MFCサイコーだぜ。なぜなら〜」という語りを期待してたんだけどね。
俺は昔MFC挫折して、最近WTLでプログラム書いてる。
本当はC#で.NET使いたいんだけど、普及率とやはり動作がもたつくのが原因で
全てには適用出来ないなと判断してる。
今のところ、C#(というより.NET Framework)と比較したときのWTLの利点って

・COMの利用が簡単
・実行速度の速さ、使用メモリの少なさ

この辺りか?
逆に欠点は

・体系立てられたドキュメントが存在しない
・設計が.NET Frameworkほど洗練されていない

こんな感じだな

>>23
そうそう、Better MFCとして、Win32APIがある程度分かってる人が
楽するために使う、というのが正しいと思う
CodeProject出した者だけど、>>14のサイトは俺もイイ!と思った
すべてのサンプルにスクリーンショットがあるので分かりやすいし、
何よりWTLでこんなこともできたのか!っていうサンプルがたくさんある。
(Ballon Dialogとか)
俺の中ではWTLはWin32用で今すぐ使えるもので、
.NET Frameworkは今は普及に問題はあるが数年後WinFXの時のために習得しておくものだと思ってる。
要はWindowsプログラミングに限って言えば、
両方覚えて、今はWTLでC++、Longhornが普及する頃はC#を使えばいいだけだと思う。
(もちろん他のライブラリなり言語なり使ってもいいわけだし。)
どれかに限定しようとしなくたっていいんだよ。
んで、結局>>1>>22は今すぐ質問したいことがあるわけじゃなかったのか
>>30
最速の学習方法を教えてください。
>>31
何か目標(こういうソフトが作りたい)を作って、それを完成させる
ために必要なことを学習していくっていう方法をとるといいと思う。これだと
モチベーションもキープできるし。
そのとき、最初から難しすぎる目標を立てないで、段階を踏んで
ステップアップしていくようにするのがポイント。
>最初から難しすぎる目標を立てないで

耳が痛くなってきた。
>>33
頭じゃないのか?
昔、MFCを使ってたんだけど、ATLでCOMを書くようになってから、EXEを書くときにWTLを
使うようになった。軽くてシンプルでいいよね。
MSが正式サポートしてくれると良いんだけど。

もちろん、.NETも並行してつかってる。
>>19
少なくともそのスレよりはレス数がある(w
>>14
そこにあるWTLのドキュメントがなかなか良いね。
日本のYahooGroupにはWTLグループが無いのに検索するといつも上位にあるよな
>>36

スレ立て日が一年前の同じ日!
別にまねしたわけでもないのに同じスレ名!

誰かMMR呼んでよ!!
わざとだろ絶対。
うん。>>1は具体的な質問もしてないし。
それがわざとじゃないんですよ。
ぐぐるって掲示板とかだと書いた直後に検索できたりするでしょ。
それでヒットするかな?って検索して見たらヒットしてて、
見てみたら違うページだったわけ。
それが過去ログのページ。
ほんと驚いた。
なんか呪いかかってるかも。
44デフォルトの名無しさん:04/03/02 23:56
WTL 使う前に C# ちょっと触ってて、当時 Rebar を使いたかった
んだけど、C# で簡単に実現する方法がないっぽくて WTL に決めた。

結局 C# を使おうと思っても、Windows の本質的なところをわかって
いなかった俺は、うわべだけわかった気になるのが嫌できちんと
Windows を勉強したいと思った。

で、独自のクラスライブラリを作ろうかと思ってたときに出会ったのが
WTL。マジ感動した。
45デフォルトの名無しさん:04/03/02 23:58
で、質問ってなによ?
>>45
使い方。
>>44
似たようなことやってますね。
ドキュメント無いですよね。
みんなのためにドキュメント作ってあげようって言う優しい勇者はいないかなぁ。
49デフォルトの名無しさん:04/03/03 00:09
>>46
・・・漠然としすぎていて答えられないって

サンプルいじってみたら?
個人個人が作成したドキュメントやノウハウの類をどこかに集積整理できないものかなぁ。
>>49
そんなの放置しとけ。
WTL のドキュメントの計画は Code Project にもあったよね。
あったあった。
なんでこのスレこんなに盛況なの?w

#俺も使ってるけどね。WTL
ドキュメントの類は既出のサイトでとりあえず十分じゃない?
数も少ないし巡回するのも苦じゃないと思う。
まぁ日本語のドキュメントがもっと多くなれば良いとは思うけど。
あとリファレンスがあればいいかな。
どっかの外人がWTL3.1のリファレンスを公開してたけど、
7.0以降は見かけないなぁ。
>>54
>>1がageてるから。
>>54
いつものように巡回してたら、新しいスレがたってた。

ちなみにドキュメントのページはここ(英文)
http://www.codeproject.com/wtl/wtldocs1.asp
>>58
同意

無いのにページが出るのがなんとも・・・。
広告出したいからなのかな・・・
>>55
リファレンスってどの辺の?
全部をだらだらっと書いたものって欲しい?
>>60
MSDNみたいなの。いちいちソース見るのめんどくさいから。
62デフォルトの名無しさん:04/03/03 00:30
>>61
じゃあ、この板の有志で作るとか
ただでさえ少ない住人にどれだけ有志がいるか・・・

ま、やるならCWinDataExchange<T>(atlddx.h)だけ俺がやってもいいよ。
>>62
なんか協力を求めているようだけど(viksoe)
問題は英語で協力できるか、ってことと日本語のドキュメントが
欲しいんだけどってニーズにこたえられるかってあたりがネック?
>>64
なぜ DDX(w

ヘルプで知りたいのは各メソッドとかなの?
MFC(SDK) とかと大して変わらない気がするが・・・

クラス図とかがあればわかりやすいか?
>>65
というか中身を見た感じ作りかけ。
これなら最初から日本語版作った方が良さげ。
SourceForge とか使ってやる?
>>66
MFCとほとんど同じならMFCのリファレンスでもいいし、
SDKのリファレンスでもいいんだけど、
結局MFC(日本語ドキュメント)とSDK(ほとんど英語のままドキュメント)を行ったり来たりしなきゃならないし、
加えてWTL特有のクラスはソースを見ながら・・・
ってことが多いからいっそ一つにまとめたWTLリファレンスがあればいいなと思ったの。
>>69
ま、確かにインテリセンスが効かなくて確認しなきゃ無いときは
正直面倒だが。
本当にやるならロリポくらいなら借りてくるよ。
wikiとか設置してもいいんだけど、作ったデータを再利用しやすくできる方法ないかな?
XMLで保存できるとか。
72デフォルトの名無しさん:04/03/03 01:48
DECLARE_FRAME_WND_CLASS_EX(0,0,0,0)
暫定
http://groups.yahoo.co.jp/group/WTL/

明日になったらブックマークが充実しているといいなぁ。
>>73
作ったのか。俺も以前作ろうと思ったけど、FreeMLの状態を見ると寂しいことになりそうだからやめた。
まぁ、自分のメモを貯めていくつもりでがんばります。
76デフォルトの名無しさん:04/03/03 02:31
おー気合入ってるなぁ。
年度末で忙しいからアレだけど、時間を見つけて参加するよ。
久々にFreeML見たら今年に入って書き込み二件か・・・
7866:04/03/03 02:35
よしやるか

>>71

Wiki はわかるけど「ロリポ」ってなに?

・・・ってぐぐったらわかった。
そこ借りて立てるならそれもいいなぁ。

で、暫定的な目標をどうするかってことになると思うんだけど・・・

・HTML ヘルプにして VS.NET から呼び出せる形式
・当然フリー
・日本語ヘルプ
・クラス図付き追加してほしい内容はどっかのスレに書き込む
・年内完成目標(控えめに)

こんな感じ?
(個人的な希望を挙げてみたので皆さんのご希望も)

とりあえず、参加できると思うので声かけて下さい。
66でよろしく(w
79デフォルトの名無しさん:04/03/03 02:35
KABAちゃんが妊娠!!
http://tmp2.2ch.net/test/read.cgi/mog2/1076074534/l50
8066:04/03/03 02:37
あれ、ちょっと変だった

誤)・クラス図付き追加してほしい内容はどっかのスレに書き込む
正)・クラス図付き
   (追加してほしい内容はどっかのスレに書き込む)
参加してみて気が付いたこと。
ブックマークだけど、これまでこのスレで出たサイトはどれも定番だし数少ないものだから全部載せては?
あとマナーとしてブックマークはサイトのトップにした方がいいような気がする。
質問
Donut*とかみたいにSimpleReBarを細くしたいのですが
どうすればいいのでしょうか?
TB_SETBITMAPSIZEとかTB_SETBUTTONSIZE送っても
きれいに細くなりません。
ソース配布されてるんだから見れば・・・
ブックマークは誰でも修正できるので、よろしくお願いします。
そんなんじゃ2chのスレすらまともに立てられないぞ。
せめて>>1のテンプレと>>2-6の過去ログ&参考サイトを書くくらいの勢いがないとな!
早くも盛り上がってないな
87デフォルトの名無しさん:04/03/03 22:28
世界貿易図書館
73=71?

つか Yahoo Group に入るの面倒くさい
>>88
まぁまぁ、そういわずに・・・
wiki使え
YahooGroupのメッセージは公開しないのか。
公開ってどういうことですか?
とりあえずwiki用意しました。
WEBからメンバー以外もログを見られるようにすること<公開
とりあえずヘルプ見てみます。
はりきるのは良いが初心者じゃないだろうな。
初心者です。
とりあえず見られるようにしました。
だめだこりゃ
いかにもグループ作ってみたかった、wikiやってみたかった、スレ立ててみたかったって感じだもんなぁ。
wikiどこ?
Doxygen を公開してどういう方向に持って行きたいのさ?
103デフォルトの名無しさん:04/03/04 21:53
MSはWTLを何のために作ったのでしょう?
誰かが洒落で作ったものを公開したとか。
元々はATLのサンプルコードだったはず
>>103
MFC に変わるフレームワークとか
106デフォルトの名無しさん:04/03/04 22:27
UNICODEビルドをするとコンパイルエラーになるものがあるよね。
CodeProject重すぎ!!
リニューアルしたCodeGuruがんばれ!!
>>102
俺も疑問。誰でも作れる自動生成したものをアプしたり、
それの構成ファイルをアプして何を期待してるんだろうか。
さらにアプしただけで何のアナウンスもないし。
場所だけ提供して後は皆よろしく的な他力本願では先は見えてしまう。
109102:04/03/04 23:38
正直 Doxygen は好きじゃない。
そもそもこのスレの流れでは MSDN 的なヘルプが欲しいように
思えたんだが、違うのだろうか?

Doxygen だったらそれぞれが勝手にやれるだろうに。
そして誰も書き込まなくなった・・・
111デフォルトの名無しさん:04/03/05 05:40
属性付きプログラミングでもWTLを使える方法を編み出したよ
WTLには3,4年前凝ったことがあったが、正直


M S が や る 気 無 い の に つ き 合 っ て も 無 駄


 
>>112
WTL7.1出てるよ
114デフォルトの名無しさん:04/03/05 12:51
でも、ATLに触れてしまうといまさらMFCに戻りたくなくなる・・・・
未だにwin32API直叩きですが、何か?
グループ、未だに誰も(オーナーすら)書き込んで無いな。
117デフォルトの名無しさん:04/03/05 13:57
YAHOOでやる時点で・・・。
boostもYahooじゃなかったか。
なんかおわったっぽいね?
立て逃げか・・・
>>114
ATLとMFCとは競合しないでそ?
あるフレームに分割ウィンドウで隔てられた複数のビューがあって、それぞれのビューの
処理が違う(たとえばTreeViewとListView)としたらそれぞれのビューに対する実装は、
別々のクラスになる気がするんですが、違うんでしょうか?

http://homepage1.nifty.com/Roy_/Software/WTL/WTL_Lecture05.htm
別になるだろ。

>View はまだ作っていませんが、ここでは便宜上デフォルト
>の S2H_ConvView を使います。全部で3つの View が必要
>なので、MainFrm.h に3つの View を定義します。
>名前もわかりやすいようにつけてみました。

って書いてあるから、それぞれの View を実装するクラスを作る
までは、デフォルトで作られた S2H_ConvView を使うってことでしょ?

最後に、

>次回はフォルダの内容を表示する CFolderView を作成したいと思います。

って書いてあるし。
別になるだろ。

>View はまだ作っていませんが、ここでは便宜上デフォルト
>の S2H_ConvView を使います。全部で3つの View が必要
>なので、MainFrm.h に3つの View を定義します。
>名前もわかりやすいようにつけてみました。

って書いてあるから、それぞれの View を実装するクラスを作る
までは、デフォルトで作られた S2H_ConvView を使うってことでしょ?

最後に、

>次回はフォルダの内容を表示する CFolderView を作成したいと思います。

って書いてあるし。
124122:04/03/06 01:24
ごめん2回書いちゃった
125121:04/03/06 01:29
>>122
>それぞれの View を実装するクラスを作る までは、デフォルトで作られた
>S2H_ConvView を使うってことでしょ?

こういう意味だったんですね。疑問が解けました。
これでやっと入り口の部分が突破できました。ありがとうございました。
: public CWindowImpl<CTextView, CRichEditCtrl>
なウインドウにて、EN_SELCHANGEを取得したいのですが、

・OnCreate()で
  long mask = GetEventMask();
  mask |= ENM_SELCHANGE;
  SetEventMask(mask);

あとは、

NOTIFY_CODE_HANDLER(EN_SELCHANGE, OnSelChange)

で、いけると思ったのが、イケてませんでした。
mfcだと OnSelChange()とうvirtualなメソッドがあるようですが、
wtlだとどうやるのでしょうか。
CRichEditCtrlを使うときはリッチエディット用DLLをロードする

大丈夫なようです。

HMODULE hInstRich = ::LoadLibrary(CRichEditCtrl::GetLibraryName());
クラスリファレンスに必要な項目って何ですか?
・クラスの概要
・メンバ関数/変数一覧、およびそれらの用途/動作の説明
・メンバ関数の引数の説明もあったら言うことなし
>>130
ありがとう。
レベル低いな・・・
WTL の前にやることがあるんじゃないのか?
>>129
MSDN読んだことないのか?
MSDNの形式を踏襲することはできないんじゃないかな?
形式ってなんだよ。リファレンスに必要な項目はMSDNを参考にすりゃ聞くまでもないだろって話だ。
解説
必要条件

参照
ですか?
これあまりよくないんじゃないかなぁ?
>>135
いちいちDHTMLで書いてられるかよ
138デフォルトの名無しさん:04/03/07 06:47
まぁまぁ、そう言わずに書いてみてくださいよ
139デフォルトの名無しさん:04/03/07 08:47


T* pT = static_cast<T*>(this);
>>133
読んだことはあるが正直テンプレートクラスの書き方はワケワカラン
>>140
じゃあ、ATL とか WTL 使えないだろ
Wiki になっても同じようなことしてるな?

つまり日本語版の
ttp://home.worldonline.dk/viksoe/static_downloads/wtl.zip
とおなじ状況になったと。

でこれからどうするの?
ちょこちょこ埋めていくのか?
>>137
ソースじゃなくて項目の話だろーが。
トップにクラスの解説なり書いてその下にメンバ関数のリファレンスだ。
メンバのリファレンスは戻り値や引数の説明など。
つーかMSDNだよ。
「wikiを立ち上げました。何かプランがあればお知らせください」って
普通はプランを考えてから立ち上げるんじゃないのか・・・
>>137
自分の調べた範囲をメモしていけばいいと思いますよ。
よく、「テンプレートなんだからヘッダ読めばいいだけ」って言う人がいるけど、
ヘッダから作者の意図を汲み取るのってすごく難しいことのような気がします。
また、ひとつのことをやるのにも複数の方法があるわけで、
メモしてあることに対しての意見とかも追記していけばいいんじゃないでしょうか。
こういうのは言い出しっぺが自ら進めないと寂しいことになる。
>>146
WTLって、想像以上に使ってる人少ないみたいです。
待ってても何も落ちてきそうに無いので、わかりきったことでも書き込んでみてください。

wikiは、ここです。
http://wtl.main.jp/pukiwiki/pukiwiki.php

どういった構成にすると便利なのか?
そういったことから始めたいです。

wikiが便利だという人がいたので用意しましたが、
ほかにもっといい方法があれば、教えてください。
ああ、wikiでやりたいのはこういうことね。なるほど。
書式って言うか書き方はMSDNを踏襲した感じでいいのかな
個人的にはMSDNって使いやすいと思えないんです。
素人が翻訳したはずのmanpageとかの方がずっとわかりやすくて、
それで、書式をちょっと迷っています。
このwikiはPHPで書かれているので、ローカルで一括して内容を修正とかが
難しいんですよ。

それで、出来れば最初に書式を決めちゃいたいです。

151デフォルトの名無しさん:04/03/07 22:25
とりあえず、雛型をつくるとこから始めないとダメみたいね。
修正が困難というのは、wiki上に戻すのが難しいだけで、
wikiから取り出してほかの形式に変更するのは簡単です。
rootを持っていれば戻すのも簡単なんですけど、
残念ながら持ってません。
>>151
そうですね。
>>149

つか MSDN であまり困らないんだけど(ヘルプの形式)
どの辺がわかりづらいわけ?

それがどうも理解できないんだけど
ヤフーのほうに物質投下。ほぼMSDNの劣化コピペだけど
なんかに使ってくださいな。
>>155
ありがとう!
大切に使わせていただきます。
リファレンスなんてどれも同じような形式(引数、戻り値の説明、関数の使い方など)なのに
何を迷う必要があるんだ?
このスレではたまたまWTLはATLの拡張だからMSDNを例に出しただけで、
何もMSDNのデザインや構成、DHTMLなんて真似しろなど一言も言って無いぞ。
>>154
暗号が使われてるところとか。
何暗号って。
>>157
この形式がずっと使われることになりそうなので、
案があれば出してくださいって言う程度の意味にとってください。
いっそ項目だけXMLで作っちゃって後でXSLTでレイアウトを好きなようにするとか。
でもwikiじゃ無理か。
>>161
それが悩みの種
コメント行で構成がわかるようにしておけば変換できるけど
単純でいい方法ないかな?
これ1ページでクラスの概要もメンバの一覧もメンバの詳細も書くことになってるけど
メンバは別にした方が良くないか。
>>155
これwikiにこぴぺしていいですか?

>>163
そうすることの利点と欠点を教えてください。
>>163
wikiでページを分けると、後で変換するときのために何かの工夫が必要なんですけど、
そこらへんのアイデアないですか?
>>164
どぞー。お好きなようにしてください。
>>166
ありがと!
>>163
とりあえず分けてみました。
http://wtl.main.jp/pukiwiki/pukiwiki.php?CServerAppModule
DWが重いです。
http://home.att.ne.jp/banana/akatsuki/doc/atlwtl/index.html
WTLについて日本語で一通り解説してあります
>>170
ここの人はすごいですね。
ヘルプはそのサイトでいいんじゃない?
そのサイトでで充分ですね。
174デフォルトの名無しさん:04/03/08 21:39
でで
結局Yahooグループは何のために使うんだ・・・
アップローだ
める
アプならwikiでもしてるし連絡ならここでもしてるしなぁ
Windows XP SP2に「アプリケーションに障害を起こす恐れ」
ttp://pc2.2ch.net/test/read.cgi/tech/1078150663/

ATL/WTLのCWindowImpl継承したサンクつかってるクラス動かなくなんのかな?
>>178
サンクがだめになったら、ソート済みベクタか、ハッシュマップを使って
ウィンドウの検索を行うのかな…
ATL は MS 謹製なのだから、何らかの回避手段があるのではないかと予想
その予想は、外れてる・・・
C#なんですが、適当にC++のコードを書いてみたら普通にコンパイルできて実行できました。
簡単に乗り換え出来そうですね。
>>182
C#->C++?
C++->C#

どっちからどう乗り換えるんだ?
C#->C++の場合なんちゃって乗り換えで・・・
てか、WTLと関係あり?
184デフォルトの名無しさん:04/03/09 13:51
C++→C#

C#ってむしろJavaに近い印象だが違うのか?

>>182
managed C++ ではなくて?

>>185
そういう話ではない。
187デフォルトの名無しさん:04/03/09 14:28
うそみたいだけど本とです。
C++のコード書いてコンパイルできますし・・・
188デフォルトの名無しさん:04/03/09 14:29
ポインタ使えますし・・・・
189デフォルトの名無しさん:04/03/09 14:30
フォーム便利ですし・・・
で、ここが何のスレかわかってる?
191デフォルトの名無しさん:04/03/09 14:33
何のスレですか?
スレ違いにバカみたいにいちいち反応すんな。放置しとけよ。
>>190がばかっていいたいの?
いい人だと思うんですけど?
194デフォルトの名無しさん:04/03/09 14:42
よく読むと>>192もいい人そうですね・・・
春〜Spring〜♪
196デフォルトの名無しさん:04/03/09 15:36
>>195さんもいい人そうですね・・・
昔のスレが落ちた日までもう少し…
なんだ WTL を managed C++ で使った話なのかと思ったのに、ただの春か。
199デフォルトの名無しさん:04/03/10 10:13
>>179
ええ!今までVirtualProtectで実行属性にしてないコードも実行できてたの?

ガクガクブルブル
C#でWTL使えるかとおもってきたいしていしまったよ。
201デフォルトの名無しさん:04/03/11 12:13
>>200
C#でWTL使いたいですか?
その話まだ続けるのかよ
ヘルプとか作らなくてもCodeProjectで十分な気がしてきた
つーかこのスレでヘルプヘルプって言ってるけど
リファレンスとチュートリアルとTips的なものごっちゃにしてないか。
あくまでも要求はリファレンスで、その他は既出のサイトで十分という結論になってる。
はぁ・・・もう飽きたのか・・・
短い処理を描くために自分が使っているマクロ。

#define MESSAGE_LAMBDA(msg, lambda) \
 if (uMsg == msg) \
 {          \
  lResult = 0;  \
  lambda;    \
  return TRUE; \
 }
短い処理を描くために自分が使っているマクロ。

#define QUERY_SUMMATION_OF_TWO(a, b) (a+b)
>>206はわかるが>>207はこのスレで発表するものじゃないだろ。
>>207 は、>>206 を QUERY_SUMMATION_OF_TWO() と同じようにくだらないマクロだとみなしたのでは。
んでwikiとYahooGroupは早くも放置ですか。
ほんと、他力本願な奴が言い出しっぺだと悲惨だよなー
なんで粘着して煽ってるのですか?
僕も不思議に思ってた。
WTLをググってたら偶然>>1(?)の人見つけた。
http://www.hatena.ne.jp/1077962619
本家のグループにもメッセージあるね。
>>214
何の?
>>211
WTLの本でも出そうかと画策している出版社の社員とか(w
むしろその方がいいし。本出してくれ。
>>216
何を言わんとしてるのかわからん
219デフォルトの名無しさん:04/03/13 00:58
>>210
まあ、わかっていたことだから(w

書く時間をプログラムに使ったほうが有意義のようきがするけどね。
所詮学生の暇つぶしか
あ〜あ、周りを巻き込んでおいて結局これかよ。

>>3>>7
こういう姿勢の奴になんかやってくれることを期待する方が無理だろ
続けるか辞めるか>>1は選択を迫られたな。

つーかwikiの方に書いてくれた人の好意を無駄にするのは酷いな

最低
>>73
>明日になったらブックマークが充実しているといいなぁ。
必要なものってなんなんだ?
WTL使っているような人間は、分からなくても自己解決できるような奴らだろ?
MFCのドキュメントで代用したり、ヘッダ読んだり。

個人的には、クラスリファレンスよりも、
Tips、拡張、サイドパーティのライブラリなんかがまとまっていると嬉しいんだが。
確かに>>1(こういち君?)の姿勢を見てると>>100の通りに思えてきた…
質問したいからスレ立たと言うが具体的な質問はしていないし、
Yahooグループ作っても作った本人すらろくに投稿してないし、
Wiki立てても「何かプランがあればお知らせください」だし。

リアル中高生なのかどうか知らんけど、自分でいろいろ用意した割にその使い方や進行が下手すぎだろう。
>>222
必要なものなんて無い。あったら便利だってだけだ。
>>222
>Tips、拡張、サイドパーティのライブラリなんかがまとまっていると嬉しいんだが。
このスレで出たURLをブックマークすりゃほぼ完成。
>>1よ、Yahooグループで何をやればいいのかわからないなら俺が仕事を与えてやろう。
本家グループの翻訳を流してくれ。
つーかこんなこーいちたんは本当にWTLを使えているのだろうか
使えてないです。
>>222
バグがなく、商用でもフリーで使用可能なライセンスのライブラリ
でもみんな何使ってるんだろうね?
やっぱ、MFCが一番多いの?それとも直書き?
MFC
本家の人に日本のヤフーグループ見られたらちょっと恥ずかしい・・・
233デフォルトの名無しさん:04/03/13 17:37
多いのはMFCだろうね。
おれはATL/WTLが最近のお気に入りだけど。
ATL/WTLのどこがいいの?
>>234
テクニカルなところ(w
だめじゃんw
ライブラリの管理が楽なところか?
フレームワークを強制されないところ。
シンプルなところだろ。
MFCではないところ。
COMのカスタムインターフェースの実装が楽にできるところ
>>238で全て。
C++使いって、ネジ・クギは良いものを欲しがるけど、フレームワークを乗っ取られるの嫌がるよね。
一方、Java使いは、その対極のように思う。
……雑談でした。
WTLの雑談ならまだしも「〜使い」の話って思いっきりマ板向けだろ
粘着が一人居座ってる。
CScrollWindowImplの使い方がわからないです。
どこから調べていけば良いですか?
>>247
意味がさっぱりです??
>>246
まさか>>1じゃないよな
試行錯誤してみました。
マウスホイールが普通に使えるけど、
オートスクロールが使えないです。
やったことある人いますか?
>>249
1です
これほど>>1(と>>1が作ったもの)を放置するスレも珍しいな
1ですが何か?
>>254
いちいち出てくんな、ヴォケ。
256!
65536!
258デフォルトの名無しさん:04/03/18 13:18
WTLの勉強がしたいです。
どんな人に聞いてどんな本を読めばいいですか?

よろしくお願いします。
>どんな人に聞いてどんな本を読めばいいですか?

そういうことを自分で調べられない人にはWTLはお勧めしない。
そういう人はMFCの方がいい。
自分で調べられない人にはMFCだってお勧めしない。
こうなったら意地でもグループに投稿しないぞ
入ってる10人は何をやってるんだ?
まったく動き出さないな……。
とりあえず、逆引きサンプルリストでも調べてみるか。
「ドッキングウィンドウを組み込みたい場合は……」
「グリッドコントロールが欲しい場合は……」
みたいな。
自分で調べられない人には学校の先生にでもなって下さい。
wikiも書く場所だけは増えるが内容が無いな・・・
微妙にグループの参加者減ってるね
グループに入っている人は、文書を必要としていないみたいです。
投下された文書を読めばわかるけど、
いわゆるプロの人たちなので、自分がほしいものを作るというよりは、
みんなのために何かしようって言うスタンスみたいですから。
メールのやり取りはしていますよ。
>>258
残念ながら、公式な文書といえるものは無いです。
WTLチームのメンバが書いた文書が3個だけあります。
あとは、ヤフーグループで聞くしかありません。
使い方を学ぶには、まず、まねてみるところから始めると早いようです。
WTLは、全体的にAPIの薄いラッパーになっている部分とMFCと同じように
使えることを意図した部分に大別できるようです。
メッセージのハンドリングについてはATLの説明が役に立ちます。
>>258
まだ活動し始めてはいないのですが、日本のヤフーグループの方へも、
気軽に投稿してみて下さい。
メンバーはわりとWTLを使い込んでいる人が多いようなので、
運がよければ、回答が期待できますよ。
さむっ
thunking?について詳しく教えてください知りたいです
あの奇怪なデータはなんですか
>>271
hWnd を this に置き換えて jump。
詳しくは>http://www.codeproject.com/atl/atl_underthehood_5.asp
【ドッキングウィンドウライブラリ】
どれも完璧ではない。多少の改良が必要。

The Code Project - WTL Docking windows - WTL
 - http://www.codeproject.com/wtl/wtldockingwindows.asp
viksoe.dk - WTL XP UI sample
 - http://home.worldonline.dk/viksoe/xpui.htm
viksoe.dk - Docked WTL UI sample
 - http://home.worldonline.dk/viksoe/fancyui.htm
びくそえマンセー
つか日本の恥だからグループ閉鎖してくれよ。
おまいが閉鎖しれ
このスレよく読むと、ぜんぜんWTL使ってない人のほうが多いらしい。
たぶん3人しか使ってないな。
寝言のほうが多い。
このスレもグループもwikiもすべて予想通りになった。
ばか、これからだよ。
おまえ、あせりすぎ。
現状を見て少しは焦れよ
282デフォルトの名無しさん:04/03/23 03:13
このスレはヘタレばっかりだな。
おれは去年、WTL使ったプログラムを納品したもんね。
そんなマ板向けレスを自慢げにされても…っていう雰囲気がスレに漂った。
それ言うためだけに上げたのかよ?
終わった。
その話題はATLスレで既出じゃなかったっけ
終わったんだよ。
またMSがATLを変更するな
ATLが消滅するんじゃない?
少なくともLonghornでWinFXが普及するまではサポートするだろ
つーかプロセッサ側もまだ対応してるのが少ないから、
SP2が出たとたんにATLが動かなくなるわけじゃないんだけどな。
消滅しろよw
294デフォルトの名無しさん:04/03/23 03:44
>>285の問題に関しては全く心配しなくていいそうだ。
http://discuss.develop.com/archives/wa.exe?A2=ind0401c&L=atl&T=0&F=&S=&P=1681

というわけで、開始。
お前、責任もって翻訳しろよ。
出来ないなら上げるな。
ワロタ。何の責任だよ
つぶれるまで粘着するからな。
>>295 == >>298
MSが?
>>255は、しゃれだったんだが。
誰も気がつかないとは、馬鹿しかいないのかここは?
301282:04/03/23 04:47
>>300
>>255書いたのは、おれだもんね。
完全にスルーされて悲しかったもんね。
>>301
恥ずかしいやつだなw
恥ずかしいやつしかいないということで、
終了。
念のため言っとくけど、code projectより作業が進行してるんだぞ?
どこが恥ずかしいんだ?
おまえもうイラネ。心底ウンザリ。
仕事で使ってたのなら、よくわかってると思うのでなんか書いてください。
一応、お勉強スレッドなので。
はじめてきました。
最近WTLを知ったばかりなのですがもう終わりなんていわないでください。
>>306
その「○○してください」っていい加減やめてくれ。
CFileDialogクラスは、[ファイルを開く]ダイアログと、 [名前を付けて保存]ダイアログをサポートしています。
ttp://home.att.ne.jp/banana/akatsuki/doc/atlwtl/atlwtl13-01/index.html
>>307
俺も最近始めたばっかりなんだよね。
もう何使ったらいいのかワカンネ。
>>309
・・・・で?
WTLに触れた雑誌ってあるのかな。
313デフォルトの名無しさん:04/03/24 01:07
>>312
これにちらっと出てたのを見たことがある。後は知らん
http://www.bab.co.jp/hiden/
そんなクマーーーーーーーーーーーーーーー(AAry
>>313
おじさんつまんなーい。
>>308
やめてくれって言わないでください。
C#いいですね。
C#にはまりそうです。
なるほど、煽ろうと思って書き込んだものの、age忘れたので再度書き込んだというわけだね。
いや、真の目的はあげること。
真の目的は何のためにあげたのかだ。
煽るために決まってる。
char***************************************************************& p = 0;
このスレは>>1のような使えない奴が立てたので改めて煽るまでもなく雑談スレだ。
>>324
お前が言うなw
>>325の煽り方はワンパターンだということに気づいた
>>324
ぶっちゃけこのスレにはWTL自体の話がほとんどないな
このスレに>>326は、イラナイ
>>328
誰一人使えていないからなw
つーか>>1はYahooグループもWikiも放置してどこ行った。
>>331
お前は、知らなくていい。
煽ってるのが>>1だよ。このスレで叩かれて悔しかったらしい。
糞な>>1が立てたスレでも>>1が去った後に有効利用されることがある。
俺はそんなスレをいくつも見てきた・・・
死滅スレから来てる。
常識。
MFCやATL、WTLなどのネイティブC++ライブラリはLonghornまでの繋ぎなんだから
そんなに焦らなくても数年後に下火になるのに。
まったりできない奴はイラネ。
自分でスレ立てといて自分で煽ってって>>1の頭は大丈夫か?
>>334
これだけクソな>>1だと無理。
>>338
だから「糞な>>1が去った後」だってば。>>1がいる限り糞スレは糞スレであり続ける。
つか>>1は童貞だろ?童貞にはWTLは使えない。
341デフォルトの名無しさん:04/03/24 23:54
スレタイがアレなので新たに立てますた。
【稍】WTLお勉強スレッド2【稍】
http://pc2.2ch.net/test/read.cgi/tech/1078150663/
もうさ、どうしようもなくつまらんこと書くのやめないか。
面白いと思って書いてる奴は自分のセンスを疑った方が良い。
>>341
また来たのか・・・・
>>342
お前もな。
オマエモナって久々に見た
>>318>>1だね
叩かれるとわかってこのスレに居座り、
グループやwikiを中途半端に放置して醜態を晒して、
>>1はマゾなん?
本名こういちだっけ
>1は本当は日本のWTLユーザーとして有名になりたかったんだろうな…
マゾな>>1こと、マゾこういちたんとして有名にしてあげよう
こういちだけに高一の男子。  なんちゃって!
結局、WTLを使おうと思っている奴は殆どの問題を自力で解決できる。
だからこのスレに書き込む事なんて何も無い。
というか本当に教えて欲しいときはATLスレに書きます
こういちたんは現在Yahooチャットの「マ板 prog 1070269501」ルームでチャットしてますね
koichi_vv: ほかが、お金を追ってるのに、MSは時代を作ろうとしてるようなきがします
こういちがMSを賛辞して一斉にツッコミが入ってる状態だな・・・
突っ込み入ってないですけど?
WTL使ってる人っていないんですか?
心底あきれた。
まぁまぁ、そういわずに・・・
ここまでDQNだとはなぁ
>>352
使おうと思っても、使い方がわからないのですよ。
どういう風に使い始めたのか教えてほしいです。
教えて君イラネ。そんなにC#が気に入ったなら失せろ。
まだ高校生くらいか?それならまだ許せる。
>>362
ソースやCodeProjectを読む。
でもそれすらできないんだろ?
もう向いてないからやめた方が良いよ。
あとWTL理解できない人間がWTLのYahooグループを管理するのもアホらしいから閉鎖した方がいいかも。
>>362
MFCを窓から投げ捨てたらWTLかSDKしか残らんだろう。
ATLはMSDNに資料(日本語)があるしサンプルもある。
WTLはMFCのヘルプを参考にしながら作れば、そんなに難しい事は無いと思うが。
大体、作り方はMFCとそんなに変わらんだろ。
>>365
ヘッダは読んでるんだけど、意味がわからない部分が多いです。
グループは、元々ドキュメントを作ろうという人がいたので、
それに乗っかって作りました。
僕がほしいのはドキュメントで、編集とかならいくらでもやりますけど、
自分で書いていくのはちょっと無理だと思います。
こういちって本当に一人じゃ何もできない人なんだなぁ。
>>368
一人で出来なかったので、スレッドつくりました。
>>369
ていうか、何をしようとして挫折したんだ?
具体的な話が知りたい。
366>>
WTLは、なんとなく雰囲気がわかってきたんですけど、
ATLは、さっぱりです。
本は1冊買ってきました。
けど、さっぱりわからないです。
つか、反論してるつもりなのかねぇ。
まさに教えて君だな。
「わからない」だけで自分がどこまでやってどこがどうわからなかったのかこれまで一言も書かないし。
ドキュメントが欲しくて編集ならやる?
自分はわからないから書くつもりもない?
わからなくても調べるつもりもない?
一人でできなかったからスレ立てた?
普通は少しでも自分でやるもんだろーが。
「何一つ」やる気が無いだけだろ。

心底呆れた。
>>370
具体的な話は、ほとんど出来ないんです。
なぜかって言うと、まだ、スクロールウインドウとスプリッタと
デバイスコンテキストしか使ってないからです。
なんとなくとてもいいものだってことはわかるんだけど、
どう使っていいのかわからないです。
>>371
さっぱりわからないから何だ?
1から教えて欲しいのか?無理。
絶対に向いてないって。
本も豊富で簡単なお気に入りのC#だけやってればいいって。
このスレから身を引け。
すごいなぁ。ここまでの教えて君がよくWTLを触る気になったよなぁ。本気でマゾかも。
ほかの人は、このスレで何を語りたいのですか?
>>373
具体的な質問もできなくてスレ立てた、ってバカかおまえは。
で、高校生くらいなんだろ?
>>377
ほかにもそういう人はいると思いました。
いろいろ調べてみると、使っている人自体かなり少ないことがわかりました。
いつのまに語るスレになったんだよ・・・ハァ・・
>>379
君はWTLがどうだこうだ言う前にUIの勉強をした方がいいぞ。
「箸の使い方は分かったけど、御椀の使い方が分からない。」と言ってるようなものだ。
色んなソフトをspy++とかで覗いて、どんなコントロールの組み合わせで構成されているのか勉強しろ。
実は何を作りたいのかも考えてない?
>>380
ここに良く書き込まれているのは、WTLを使っている人は自分で全部解決できるので
質問自体無いってことです。
それで、何か語りたいのかと思いました。
だからさ、結局スレ立ててみたかっただけなんだって。
なんか「他の人のために」みたいなこと言ってるけど。
>>381
どうもありがとうございます。
spy++は、使ってます。
何を作りたいか以前に、何が出来るのかがわからない状態です。
あと、WTL・ATLだけでは足りないクラスがとても多いと思うのですが、
みんなはどういったもので補っているのですか?
>>382
ATLスレ見て無いのか。少ないが質問はあるしWTLの話もしてる。
つーかATLスレで十分なのにおまえが何も考えないでスレ立てたからこうなるんだ。
あとはATLスレの後にWTLスレとして有効に使ってやるからおまえは去れ。
質問も回答もできないただのMS信者は一つも役に立たない。
>>383
主に自分のためです。
質問したかったんです。
たとえば、ほかの人はどうやって調べるのかとか、
どういったものを作ったのかとそういうことです。
>>386
技術的な話じゃないならマ板にでも行って聞いてくればいいのに。
まさにスレ立てるまでもない質問だな。
>>384
へ?何が足りないの?
MFCにあるようなものは殆どあると思ってたけど・・・
それと何が出来るか考える前に、何か作る努力をしろ。
君程度の知識でATL/WTLの限界を語られても困る。
なんだろうね、この脱力感。あまりの厨房ぶりにかなりがっかり。
>>387
技術的な質問もしているんだけど、回答はつかないみたいです。
自分で調べた部分については、ウェブのほうに少しずつ書いています。
>>388
コレクションとか、足りてますか?
具体的に質問できないと言ってみたり技術的な質問はしてると言ってみたり・・・
場当たり的な言い訳してるのがばればれだな
あと、みんなは、WTLで何を作りましたか?
>>392
少ないですけど、技術的な質問もしています。
ただ、回答がつかないです。
たぶん使っている人自体が少ないのだと思います。
>>390
ウェブのほうってどこよ?
>>394
どれ?
>>391
足りない物はSTLで代用してるから不都合はないと思うけど。
コレクションが足りないのはMFCも一緒だろ
>>395
wikiのあるところです。
少しずつ、メモしていってるだけなので、
役に立つようなものになるのはだいぶかかりそうです。
最初にドキュメントを作るといった人たちは、
こういうメモを集約したいといっていました。
wikiが必要だという人がいたのでwikiを作りました。
僕には運営する能力は無いので、出来れば誰かが運営してくれると良いんですが。
>>398
そういう部分をどうしているのですか?
あぁあのホワイトデーから放置してるやつね
>>397
やっぱりSTL使ってる人が多いのかな。
>>400
STLって出てるやん。つーかそんなことまで質問かよ。
>>401
wikiのうえにページがあります。
なんで運営する能力がないと自覚してるのに立てるんだろう
もしかして初めから他人を頼りにしてた?
>>405
当然、頼りにしてますよ。
だめだこりゃ
全然やる気無いね。こういちは放置決定。じゃ。
>>406
先導役くらいやれよ。糞SEのような奴だな。
>>409
みんなは、どういうドキュメントが必要なのですか?
ログを読むと、ドキュメントは必要ないって言う意見がほとんどなんですけど。
ぼくがwebのほうに書いていくことにしたのは、
あまり必要の無いものみたいなので、自分のためのメモとして負担の少ない方式に切り替えたんです。
あるていどメモがたまれば、それはそれで役に立つかもしれないし。
そんな感じです。
つーかお前ら>>1を当てにしすぎててキモい
>>1は単に話題を提供しただけで、それ以上でも、それ以下でもない
あと、ヘッダを見てわからない部分というのは、
なぜ、そうなっているのかというようなことです。
あと、ここに書き込まなくなったのは、
ここにいる人と自分のレベルがあまりにも違うようなので、
少しずつコードを書いていたほうが建設的だと思ったっていうのもあります。
自分にとっては普通に疑問なことでも、わかりきっている人には、
がっかりすることが多いようなので。
414デフォルトの名無しさん:04/03/25 03:11
とりあえず「ATLインターナル」って本を買って読めよ。
>>411
悪いが>>1は話題すら提供できてない。
uzeーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
変なのが粘着してるな...。
418 名前:デフォルトの名無しさん[sage] 投稿日:04/03/25 14:35
粘着は、所詮Del厨だろ。

419 名前:デフォルトの名無しさん[] 投稿日:04/03/25 16:08
WTLに、
.NETでいうところのPanelクラスみたいなものってありますか?
できるだけ簡単なコードで、
ウィンドウより大きい画像をスクロールバーでスクロールさせたいのですが・・・

420 名前:デフォルトの名無しさん[sage] 投稿日:04/03/25 17:31
>>419
CScrollImplなんかどうよ?

421 名前:デフォルトの名無しさん[] 投稿日:04/03/25 21:43
>>419
ちょうどスクロールウインドウ使ってみたところです。
まだ良くわかっていないのですけど、
必要なら、わかる部分までまとめますけど?
>>418
あんがと
皿仕上げ
ageてねーし
422デフォルトの名無しさん:04/04/22 02:47
自作フリーウェアを、MFCからWTLに移行して公開したり
したっけな。今はかなり忘れてるw

いつのころか調べたら、3年前だったヨ
423デフォルトの名無しさん:04/04/22 22:44
うーむ。
Windows 3.0のころから始まって、Win16 API→MFC→ATL+WTLてな感じで
歩いてきたけど、行き着いたのはWin32 APIですよ。
やっぱ、これが一番ストレスなくできて良いかなと。。。

え?WinFXですって?それって何味だよ。
もうトシかなw
つまんね
425デフォルトの名無しさん:04/04/23 01:22
>>423
Cで書くのですか?

関係ないけど、ソケット関連が足りないなぁ。
426デフォルトの名無しさん:04/04/24 03:37
CPaneContainer最強。
427423:04/04/24 17:27
>>425
Cだよ。
アセンブラでも組んだりする。
最近はこっちに嵌り気味かな。
428デフォルトの名無しさん:04/04/24 18:33
>>427
めんどくさくないですか?
429デフォルトの名無しさん:04/04/24 22:14
>>428
16bitのWindowsだとこんな感じ〜
tp://ftp.microsoft.com/Softlib/MSLFILES/MASMWIN.EXE

でも、漏れはMASM32使っているのでラクチン。
ttp://www.masm32.com/

めんどくさいって言っても遊びだからね。
仕事で使う言語と違う言語を家で使って遊ぶのさw
430デフォルトの名無しさん:04/04/26 00:38
久しぶりにWTL+ATLを使ってコード書いた。。。
WTL3.1からみると今の7.1は変ったなぁ。ATL7の影響もあるのかな?
CString を使うにしても、コンパイルエラーが取れなくて苦労した
#define _WTL_NO_CSTRING
#define _CSTRING_NS ATL
の宣言がないと使えないの?
この宣言を付けないと。。コンパイルエラーが取れないんだが。
誰か教えて。。

あとCAtlHttpClientを使ったけど、情報少ないね。
CAtlNavigateDataのSetChunkCallbackで設定するコールバック。。
MSDNでは引数2つだけど、、、3つ必要じゃない。。。MSDN違うぞ
431デフォルトの名無しさん:04/04/26 01:05
>>430

何もしなければ、勝手に#define _CSTRING_NS ATLされるはずですけど。
WTL・ATLともに7.1で使ってるけど、問題出ていません。
こういちタンマンセーage
ありがとう>>431
近づけようとしたら次のようなコードで限界です

#define _WTL_NO_CSTRING
//#define _CSTRING_NS ATL

#include <atlstr.h>
#include <atlbase.h>
#include <atlapp.h>

.....の後の
extern CAppModule _Module;

#include <atlmisc.h>
#include <atlwin.h>
#include <atlhttp.h>// ATL HTTP Client (CAtlHttpClient)

atlhttp.hが悪さしているような。。。

こういちMLの過去ログが非公開になったわけだが意味はあるのか
> atlhttp.hが悪さしているような。。。

たぶんこれは関係ないと思うのですが、
個人的に興味あるので、良かったらソース見せてもらえませんか?
>>433
MSDNから引用。
CString、CStringA、および CStringW は、ユーザーの DLL からエクスポートせずに、
MFC DLL (MFC7x.DLL) からエクスポートします。これは CStringT の多重定義を防止するためです。

これ関係ないですか?
>>435
ソースアップロードしました。
http://pub.idisk-just.com/fview/wFVe0HfDC__H_zruSjO22IXPp_iVpvsIJqo4ejdqmkJvB9IiCU70TSGK6haINzoY
iDiskです。

CAtlHttpClientにもバグがあるようなので、今日はそちらの調査。
ソースの中にも、「こける」とか「なぜ取得できないの」の部分です

>>436
CStringといってもMFC使っていないので、関係ないと思いますが。。。

438デフォルトの名無しさん:04/04/27 22:31
http://wtl.main.jp/pukiwiki/pukiwiki.php
もメンテしていないみたいだし。。
http://joyful.main.jp/?ATL%2FWTL
にある CAtlHttpClient の修正はコンパイルエラーになる
> } else {
> Close();
> if (Create()) <---------------えらー
> {
> if (GetProxy())
> Connect(m_strProxy, m_nProxyPort);
> else
> Connect(m_urlCurrent.GetHostName(), m_urlCurrent.GetPortNumber());
> }
> }

なんてこったい
439デフォルトの名無しさん:04/04/27 23:09
>>437
atlmisc.hを廃止してatltypes.hを使うのはどうですか?

#include <atlbase.h>
#include <atlapp.h>
extern CAppModule _Module;
#include <atltypes.h>
#include <atlwin.h>
#include <atlhttp.h>
440デフォルトの名無しさん:04/04/28 01:02
>>439
うまくいきました。
でも atlmisc.hの最後の方に定義されているグローバル関数も捨てがたいような

次は CAtlHttpClient.... 疲れる
class WTL相談室 : public 2chImpl<WTL相談室, Part2>
>>441
ワラタ
次スレのタイトルだな。
問題は次スレまで行くかどうかだが…
>>442
先代スレが13レスで終わったことを考えれば上出来(w
こういちバッシングで何レス稼いだことか
CAtlHttpClientはあまり使う人居ないから情報少ないんだよね。
というわけで>>440氏はがんばってWikiを充実させてください(w


WTLに興味があり下調べ中の者です。
MFCはウィンドウプロシージャで例外をハンドルしていますが、
VC6付属のATLには見当たりません。
私の目が悪いのでしょうか、それとも、自力で作る必要があるのでしょうか。

447デフォルトの名無しさん:04/04/29 00:57
>>445
CAtlHttpClientだめだぁ〜。虫ありすぎ
448デフォルトの名無しさん:04/04/29 14:16
ダイアログバーをメインフレームに貼り付けたいんですけど
MFCのCDialogBarのようなクラスはないんですか?
↑一眠りしたら解決しました。
あげとこう。
ここはこういちと共に放置するスレだから上げなくていいよ。
452デフォルトの名無しさん:04/05/09 06:33
MDIって推奨されないんですか?
>>452
時代はタブなんじゃね?
>>453
3.1→95 で アイコン→タスクバーのボタン の流れと似たようなもんかね
はぁ?つーかWTLの話かよこれ。
viksoeさん、更新まだ〜〜??
彼がこういちスレなんて見てるかよっ!
458名無しさん♯:04/05/13 07:30
WTLオープンソース化ヽ(´∇`)ノバンザーイ
http://sourceforge.net/projects/wtl
459名無しさん♯:04/05/13 07:34
しかもバージョン7.5が出てるね。

ソースを7.1と比較したけど、機能追加はなし。
細かな不良修正だけ
まあ今までも十分オープンソースみたいな物だったけどな。
まぁ、使い方からしてオープンソースの方が合ってるわな
とりあえずあちらこちらで取り上げられて知名度うpを期待
でもCPLとして独立して配布されたらGPLなんかとは"混ぜたら危険"になるのかな。
そもそもGPL自体、何と混ぜても発火するじゃん。
結局、WTLで作成したソフトをシェアウェアで販売するのは禁止になるの?
どこをどう読んで「結局」なんだ
http://www.tietew.jp/cppll/archive/10788
WTL を使ったこともない方が、妄想で夢語っておられました。




なんかしゃべる前に実際に使ってみろよ…
>>469
そのスレのレス糞ばっかじゃん。
ATLベースなのも知らんし7.1から7.5の違いはVC6.0用のAppWizardが無くなっただけとか言ってるし。
放置して2ヶ月、か・・・哀れすぎる
http://money3.2ch.net/test/read.cgi/bizplus/1084643364/l50
ビジネス+にスレが立ってた
>>466
激しくワロタ
474デフォルトの名無しさん:04/05/20 00:06
レバーだろ
【漏れは】猫でもわかる質問スレ【猫以下です】
http://pc5.2ch.net/test/read.cgi/tech/1054813207/63-66
477デフォルトの名無しさん:04/05/20 21:08
このコード、どうみてもおかしいんだが。動作もおかしい。
オプソ化したんならなら早く直してくれよ

if((rbbi.fStyle |= RBBS_GRIPPERALWAYS) == 0)
{
rbbi.fStyle |= RBBS_GRIPPERALWAYS;
bRet = SetBandInfo(i, &rbbi);
ATLASSERT(bRet);
rbbi.fStyle &= ~RBBS_GRIPPERALWAYS;
}
オプソ化したんだから自分で意見出してこいよ
>>475-476不覚にも笑っちまった。
480デフォルトの名無しさん:04/05/24 01:37
保守安芸
コンパイルが遅いんだよなぁ。俺のマシンじゃ開発辛いよぉ。
ライブラリ的にはいかしてるんだが・・・。
テンプレートライブラリはどうしても遅いよね。
コンパイル時間 / パフォーマンス = const.
WindowImpl
とか言うクラス名がある時点でオレ的には没
ちゃんとWindowImplementにしとけよ>MS
>>484 は、WindowImplement が文法的におかしいことに気づいていない。
MS
とか言う略称を使ってある時点でオレ的には没
ちゃんとMicrosoftにしとけよ>>484
487デフォルトの名無しさん:04/05/26 12:18
そもそも"WindowImpl"なんてクラス名は無いしな
しかもCWindowImplはWTLではないしな
なんとかして話に入りたかったんだろ。そっとしといてやれ。
ちょいと質問。

CSplitterWindowでクライアント領域を3つに分割して
それぞれにコントロールから派生したビューを表示させようとしてるんですが、
CListViewCtrlと、CCheckListViewCtrlを使う場合、
それぞれ独自クラスに派生させて使うべき?

それぞれ派生させるとなると、CListViewCtrlだと
class HogeView : public CWindowImpl<HogeView, CListViewCtrl>
でいけるんだけど、

CCheckListViewCtrlだと、同様にやるとエラー吐かれるんで、
class FugaView : public CCheckListView<FugaView>
としてるが、これはこれで無問題かつ仕方ない?

それともCFrameWindowImplの派生クラスにメンバとして
持たせといた方がいいのかな?
CCheckListView< > て何?どっから出てきたクラス?

class CHogeView2 : public CCheckListViewCtrlImpl<CHogeView2>
じゃダメ?
>490
ああ、typoしてた
そそ、今はそうやってるんだけど、
CListViewCtrlの場合と統一性ないし
それでいいのかなと思ったのよ
492デフォルトの名無しさん:04/05/26 22:31
それぞれのクラスの基底側に注目。
ダイアモンドが出来ないようにすればいいだけ。
>492
そういうことを聞いてるんじゃないんだが。

まあ、それは置いといて、続きの質問。
チェックリストビューの場合は、

// Traitsは省略
class MyCheckListView
 : public CCheckListViewCtrlImpl<MyCheckListView, CListViewCtrl>
{
 private:
  typedef CCheckListViewCtrlImpl<MyCheckListView, CListViewCtrl> _BaseClass;

  BEGIN_MSG_MAP_EX(MyCheckListView)
   MESSAGE_HANDLER(WM_CREATE, OnCreate)
  END_MSG_MAP()

  LRESULT OnCreate(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL & bHandled)
  {
   if (_BaseClass::OnCreate(uMsg, wParam, lParam, bHandled) != 0)
    return -1;
   /* 独自の初期化 */
   return 0;
  }
};

という感じで独自の初期化をやってるんだけど、
通常のリストビューの場合だと同様のことをする方法が分からない。
独自の初期化をインプリメントするいい方法ありませんか?
同様にOnCreateを追加すればいいのとちゃうんか。
初めてこのスレでまともな質疑応答を見た気がする
496489:04/05/27 02:09
>494
俺もそう思ってやってみてたんだけど、同じようにやると、

class MyListView : public CWindowImpl<MyListView, CListViewCtrl> {
 private:
  typedef CWindowImpl<MyListView, CListViewCtrl> _BaseClass;

  BEGIN_MSG_MAP_EX(MyListView)
   MESSAGE_HANDLER(WM_CREATE, OnCreate)
  END_MSG_MAP()

  LRESULT OnCreate(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL & bHandled)
  {
   /* A */
   if (_BaseClass::OnCreate(uMsg, wParam, lParam, bHandled) != 0)
    return -1;
   /* B */
   /* 独自の初期化 */
   /* bHandled = FALSE; */
   return 0;
  }
};

派生元クラスにOnCreateが無いって言われるんだよね。
で、/*A*/から/*B*/までを消してやると独自の初期化は行われるんだが
派生元であるCListVewCtrl自体の初期化が正常に行われない。
ちなみに独自の初期化の後の /* bHandled = FALSE; */をコメントアウトすれば、
ちゃんと派生元の初期化も行われるんだが、その前にSetViewType(LVS_REPORT)とかしていると、
その設定が初期化されてしまう。
誰か、いい方法知らない?
>>495 糞レスするな!!
>>496
_BaseClass::OnCreateではなく
_BaseClass::DefWindowProcを使ってみては?
CWindowImplにOnCreateなんてないよね。MFCじゃあるまいし。
あと、派生クラスがDefWindowProcをオーバーライドしてないならただのDefWindowProcでいいよね。
お、このスレもVC++初心者スレみたく、糞スレから普通のスレに変貌するのか?!
502489:04/05/27 13:21
>498
ばっちり、期待通りの動作になりました。

結局、CCheckListViewCtrlは使うのやめて、
全部CListViewCtrlから派生させるようにして、
拡張スタイルでチェックボックスは後付けにするようにしますた。

多謝>ALL
>>502
CHAIN_MSG_MAPか、ALT_MSG_MAP使えよ。
wikiの練習に
http://wtl.main.jp/pukiwiki/pukiwiki.php?FrontPage
使ってみた!!
メッセージマップ書いてみた!おー、できた。感動したw

まぁ、気が向けば更新するかも・・・。
あの一覧書き込むって、そうとう暇だったんだな。
506504:04/05/28 13:14
>>505
一覧の左側だけは、The Code Project にあったんで、コピペして貼り付け。
viksoe.dk の WTL 7.0 Documentation にも関数の引数かいてないので、まあwikiの練習がてらにということで書いてみた。
>>507
それ、VS.NET2003 + WTL7.5だとコンパイルエラーになるな。
まあ、簡単に直せるけど。

まだ、VisualStudio6.0の方が多く使われているのかね。
どこがどういうエラーになるか教えれ
>>509
error C2248: 'CWebBrowser2<T>::String' : private typedef (クラス 'CWebBrowser2<T>' で宣言されている)にアクセスできません。
8件ほどあるな。まずはやってみろよ。
>>508
WTL使うような人はVS.NETにする必要ないのかもしれないね。
>>510
> WTL使うような人はVS.NETにする必要ないのかもしれないね。
いや、VS.NET になってATLの機能も上がってるからバージョンアップした方がいいだろ。
>>511
ATL::CStringはかなり使い勝手が良い。
WTLもがんばってほしいもんだ。
_AtlBaseModule?だっけ
このへんが気に入らない。

CMyAppModule MyModule;
CAppModule& _Module = MyModule;

みたいなことがやりづらくなった。いや出来るんだけど
>512
WTL使いながら、CStringはATLのを使ってるよ、俺は。
WTLのCStringはMFCのよりどんな点が優れてるのでつか?
(サンプル作ってみたけどインテリセンスきかなくてメンバも
みられないのでわからんですばい)
WTLがATLから独立宣言するかもしれないってのにおまえらのんきだな。
そうなの?
独立出来るぐらい高機能になってくれれば良いんだけどね。
特にCString。
質問いいですか?
CContainedWindow使おうとしててちょっと詰まってるんです。
class CMainDlg : public CDialogImpl<CMainDlg>{
public:
enum { IDD = IDD_MAINDLG };
CContainedWindow m_contained;
CMainDlg() : m_contained(_T("BUTTON"), this, 100){}
//…略…メッセージマップとか
LRESULT OnInitDialog(UINT, WPARAM , LPARAM , BOOL&){
m_contained.SubclassWindow(GetDlgItem(IDOK));
return TRUE;
}
//…略…
};
こんな感じにするとコンパイルは通るんですけど
実行時にSubClassWindowでコケちゃいまして…。
それと、CContainedWindow関係以外のコードはウィザードが吐いたモノです。
何か物凄いバカやってるかもしれませんが
どこがマズいか教えてくださいませんか?
>>518
//…略…メッセージマップとか
を書いて見せろ。重要なところだからな。
レスありがとうございます。
BEGIN_MSG_MAP(CMainDlg)
MESSAGE_HANDLER(WM_INITDIALOG, OnInitDialog)
COMMAND_ID_HANDLER(IDOK, OnOK)
COMMAND_ID_HANDLER(IDCANCEL, OnCancel)
END_MSG_MAP()
メッセージマップはこんな風になってます。
どこかおかしいですか?
>>520
ALT_MSG_MAP(100) がない。
あと、コケたときのエラーメッセージも読め&書け。
>>518
あのさ、そもそもOKボタンをサブクラス化して何使うんだ?
そりゃあ

















                   OK牧場
>521
あー、すみませんっ。
ALT_MSG_MAP(100) 追加したら動きました。
なんていうか、後で追加しようとしててすっかり忘れてました。
なんで質問する前に気づかなかったんだろう…。
本当申し訳ないです。

ええと、実はまだ同じような状態のコードがあってそっちは
メッセージマップもきちんと書いてあったりします。
…けどまたしょうもないミスしてそうな気がしてきました。
おかげで解決しそうです。
付き合ってくださってありがとうございました!
>522
テスト用のコードなんで意味はないです。
コンボボックスとその中のエディットをサブクラス化して、
タブキーで移動したりリターンの押下検出したりしたかったんですよ。
で、コンボボックスをCContainedWindowで作ろうとしてるトコで
ずーっと詰まってたりするわけだったりです。
>>522
そんなことどうでもいいだろ
やっとこさデバッグ終わりましたー。
>519さんありがとうございます。助かりました。

うーむ、CWindow::Create()のlpRectはNULLでもいいのに
CContainedWindowT<CWindow>::Create()のはダメなんですね。
まず先にプロトタイプと実装確認しとけばよかったなー。
>>527
&CWindow::rcDefault にしておくっていう手もある。
>528
はい。そうすることにします。
というか、CWindow::CreateはlpRectにNULL渡すと
勝手にそれをやってくれるんですよね。
なんでCContainedWindowの方はそうなってないのかなぁ。
530デフォルトの名無しさん:04/06/03 00:35
>>529
おいしいものにはわけがある
>>529
Win32 API の仕様で、WS_OVERLAPPEDWINDOW とかその辺のものじゃないと、
デフォルトサイズでの生成はできなかったはず。 WTL もそれに準じているんでしょう。
MFC の
CWnd::FromHandle(hWnd);
に相当するもんはないんかなぁ?。
CWndが無いんだからあるわけないだろう
>>533 (・∀・)ニヤニヤ
というかいらないよね
>>533
「相当」という語の意味が理解できていないようですな
>>536
ウィンドウハンドルから「ATLの」ウィンドウオブジェクトを作りたきゃ
CWindow win = hWnd;
でいい。
CWindowは内部でCWndみたいなことしてないんだから相当するものがあるわけないだろう。
ATL::CWindow::operator= (HWND)が、MFCのCWnd::Attach(HWND)に相当する。
CWnd::FromHandle(HWND)と似た使い方が出来るが、厳密には同じではない。
つまりCWnd::Attachに相当するものはあるが
FromHandleに相当するものは>>537の意味なら=、Attach、違う意味なら無い。
でもAttachじゃなくてFromHandleに相当するものを聞いてるんだから
回答は後者の「相当するものはない」が適当なんじゃないの。
>>537はoperator=じゃないし。
適当なこと言うな。>>538
元質問者は煽るだけで話についてきてないんじゃないのか
>540

何かりかりしてんの?
>540=538か?ワラ
あ、まちがいた
>540=537だな
544533:04/06/04 18:28
>>541
いや、質問してから、何もかきこんでないし。

てーか、MAPつかって、自分で処理しないとだめなんですなぁと思ったが、
めんどくさいので他の方法でなんとかしますたよ。
>>543
違うが。つーか間違いは素直に認めれ。煽るのはカコワルイ。
おまえらレス番間違えすぎ。落ち着けよ。
>>544
他の方法ってどんな方法よ?
そもそも>>532はどんな処理でFromHandle相当のものが必要になったのだろう
549533:04/06/04 18:36
>>547
あー、いや、FromHandle(hWnd);つかえたら便利だなぁと思ったけど、
使えないから、泥臭いコードかいただけって話です。
(例えば、SetWindowLongPtr() に LPVOID に ポインタいれとくとか・・・。)

お答えくださった皆さま、どうもありがとうございました。
550532:04/06/04 18:39
おう、レス番ちがってるしw

>>533失礼した。

>>548
いやねぇ、 FromHandleで Cwindow* のポインタGetしたときに、
dynamic_cast で とあるクラスに変換できたら処理して、できなかったら何もしないとかできたらうれしいなと。
てーか今考えたが、ウインドウネームでなんとかなるじゃねーか。
>540はなんだ、結局それはoperator=じゃねえ、
コピーコンストラクタだってことが言いたいのか?
よく文章読んでから煽れや、池沼
つーか間違いは素直に認めれ。煽るのはカコワルイ。
厳密には同じではない
とか言ってる人間が厳密性を欠いた発言してんだもんなー
つか厳密にはずっとATLの話してるな。もう少しで埋まるんだからATL相談室使ってやれよ・・・
そもそも、WTL/ATLの区別はどこらへんでつけるのかと・・・。
自分的にはCOMとかならATLの方にかきこむけど・・・。
GUI周りなら、WTLと決めてるて感じ。
そもそも、WTLとATLを切り離して話をすることが無理
CComObject と CWindowImpl で切り離せばいいじゃないの?
CWindowImpl は、ATL だけどウィンドウだからこっちのスレで良いのでは。
プロジェクトの種類もATL/WTL一緒になってるしね
559デフォルトの名無しさん:04/06/08 23:04
びくそえ移動してるね
http://www.viksoe.dk/code/

いつの間にか7.5のドキュメントとか作ってたんだ・・・
氏等なんだ
そんなの世の中のWTL本全部かき集めたところで分かりゃしねーよ
>世の中のWTL本全部かき集めた

そんな便利なものがあるのか
562デフォルトの名無しさん:04/06/13 01:16
みんなでWTL本かこーぜ
自費出版かよ
>>562
こういちみたいな勢いだけの発言するなよ
565デフォルトの名無しさん:04/06/18 03:50
みんなでWTLビデオ撮ろーぜ
俺男優な
>>566
お前はPCのスイッチ入れる役だ
やっぱりオライリーの本みたいに、何か動物を模そうよ
何がいいかな?
>>567
俺のゴールドフィンガーでスイッチを入れたらPCが潮吹くぜ
>>569
だからペルチェ素子はやめておけって言ったのに。
VC++6.0にWTLインスコしてみました
WTLにはstd::vectorに代わるもんは無いの?
そのへんはATL7だろう。WTLはGUI関係のライブラリだと思った方が良い。
つーか、std::vectorが使いたいならstd::vector使えば良い。
最近のATL/WTLはそもそもSTLと連携することを念頭においてるんじゃなかったか?
どこでそんな話が?<念頭
今のところATLと同様なるべくCRTに依存しないようになってると思うが。
ATLインターナルにはSTLと一緒に使えみたいなこと書いてたな。
576デフォルトの名無しさん:04/06/24 13:49
CComEnumOnSTL あたりが、STLとの連携を念頭に置いてるね。
STLと連携することを念頭においてるなら引数にCStringなんて取らずに、
std::string取って下さい
WTLの構造って全部Hに書いてあるわけでしょ?
このソースぱくれば自分で好きな機能使えるんじゃないの?
そうだよ、よかったね。
このスレも終わりだな
どうした突然。まぁ>>1のやりたかったことはとっくに終わってるが。
582デフォルトの名無しさん:04/06/24 16:44
>>577
それを言うなら std::basic_string<TCHAR> だろう。ボケが。
http://sourceforge.net/projects/wtlのOpenDiscussionでis this project alive?って投稿が。
584デフォルトの名無しさん:04/06/24 17:01
↑アフォ
is this thread alive?
dead...
587デフォルトの名無しさん:04/06/24 19:41
正直MFCの改悪版にしか見えない
MFCはランタイムいるだろ
atl.dllは要らないのか?>wtl
MFCはスタティックリンクしたらいらないじゃん
釣られんな
592デフォルトの名無しさん:04/06/24 23:40
>>589
スタティックリンクを知らないバカバッカ <- <<588-589
>>577 >>582
MBCS対応が…
そこをC言語の文字列操作関数でカバーするw
MFCはmainが隠蔽されてるではないか!
>>595
だから、何?
>>595
真っ赤な嘘。WinMainが正解。
MFCはブラックボックス
>>598
思いっきりソースが公開されているじゃないか
>>596
不便じゃないか!
mainにだらだらと書くのはどうかと思うよ。
つかいちいち釣られんなよ
MFCはN88-BASICの改悪版
↑頭の可笑しい人
605デフォルトの名無しさん:04/06/26 23:40
>>603
真っ赤な嘘。Hu-BASICが正解。
エクスプローラの左側のフォルダのやつを作っています(CFolderViewと命名)
CFolderViewクラスはスプリッタで区切ったMainFrameの左側に設置しています

class CFolderView : public CWindowImpl<CFolderView> という風なクラスにして
CtreeViewCtrlをメンバに持ちFolderViewクラスのOnCreate()でツリーを作ったらうまく表示されてくれたのですが

class CFolderView : public CWindowImpl<CFolderView, CTreeViewCtrl> と
FolderViewクラスをTreeViewCtrlの派生クラスに修正したらツリーが表示されなくなってしまいました
OnPaintで文字を出力させてみたらちゃんと文字が表示されていたのでFolderView自体は表示されていると思うのですが・・・

どこか勘違いしているのでしょうか・・・ご教授ください(TT
607606:04/06/30 07:51
すみません、自己解決しました
DefWindowProc呼んでませんでした
ちょっと前に話題になってるし・・・よく調べもせず、すみませんでした(TT
ジェット機突っ込んで崩れたビルね
別スレに誤爆したろ
>>608
DefWindowProcのことか?
WTC
あー
613606:04/07/01 03:36
>>609
な、なんのことやら
CDCとかCRectとか便利なクラスが色々入っていていい。
CPointとかCRectはPSDKに入っててもいいような気がする。
>>615
Gdiplus::Rectangle とかあるし。いや、タダのボケ。いいたいことは分かる。
PSDKはあくまでもAPIの提供でCがベースだからな。
CRectとかはATLで提供してるから今更また別個にすることは無いだろう。
COMとかGUIDのサポートは入ってるのに。
>>618
C言語でCOMを使うのは可能ですが。
>>619
それはC言語でRECTを使うのは可能ですが。
って言ってるのと等価ですが何か?

comdef.hとかguiddef.hとか見てみろ。

>>618
GUIDはただの構造体ですが何か?
>Cがベースだからな。
に対して
C++用のサポートコードが入ってるといってるんだ。
いいからcomdefやguiddefを読んで来い。
>>618のカキコから
「C++用のサポートコードが入ってる」と言いたいなんて分かるわけないじゃん。
理由を後付けするな。
>>619
なんで>>618からCでCOMは不可って思考になったのか俺にはわからん
>>623
>>624の言うように、普通はまさかCで使えないなんて思考するとは思わない。
となると、話の流れからCで使えるのは前提として、
C++のサポートが余分に存在している事について言及しているとしか考えようがない。
おまえらWTLと関係無い話をするな
627デフォルトの名無しさん:04/07/08 00:31
mochituke
とあるWindowのOnPaint処理で

LRESULT CTestView::OnPaint(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/)
{
CPaintDCdc(m_hWnd);

DrawA(dc);
DrawB(dc);

return 0;
}

という風にしているのですが、DrawAで描画している内容は表示されるのに
何故かDrawBで描画している内容が表示されません・・・

試しにDrawAの中身を全てコメントアウトしても同じ結果になってしまいました
またDrawAの呼び出し部分をコメントアウトするとDrawBの描画内容が表示される為
DrawAを呼び出すことで勝手にEndPaintされてしまっているのかと思っているのですが・・・

こういう場合は、DrawBの処理もDrawAに入れてしまうしかないのでしょうか?
>>628
DrawAの宣言はどうなってる?
こんな感じか?

void DrawA(CPaintDC dc);
630628:04/07/08 22:23
>>629
まさしく、その通りになっております
戻り値voidで、引数がCPaintDCですね
CPaintDC のコピーコンストラクタを調べてみぃ。
参照にしとけばいいんでねーか?
WTL的には、参照よりもCDCHandleかな。
>>631
無いな。
コピーされたら困るのに

private:
CPaintDC(const CPaintDC&);

が無いのはなんでだろう。
635628:04/07/08 23:16
>>631&632
なるほど、引数でクラスを渡すとスタックに実態がコピーされてコンストラクタ&デストラクタが呼ばれることになるんですね
ぜんぜん仕組みわかってなかったみたいです(T。T

void DrawA(CPaintDC &dc);

参照渡しにしたら無事に動きました
ありがとうございます
636628:04/07/08 23:18
>>633
参照はWTL的じゃないですか_no
調べてきます
MFCとは違ってCToolBarCtrlはあるけどCToolBarが無いみたいなんだけど、
メッセージを処理したい場合はどうすべき?
class CToolBar : public CWindowImpl<CToolBar, CToolBarCtrl>
ありがとん
641デフォルトの名無しさん:04/07/21 22:23
誰も書いてないので、一応。

WTL 7.5.4196.0
http://sourceforge.net/projects/wtl/
>>641
VS.NET 2005にも対応するわけか。
Web全体で「WTL 7.5.4196.0」をぐぐってもほとんど出てこないな。
海外含めてバージョンアップしたことほとんど知られてないんじゃないか。
644デフォルトの名無しさん:04/07/22 17:00
>>643
いずれこのスレがトップで引っかかるようになったりしたら世も末だな。
645デフォルトの名無しさん:04/07/24 14:23
>>643
今朝リストで流れた。
本当だ。おせーなおい。
WTLには、MFCのCFileのようなファイル入出力を扱うクラスって、用意されてないんでしょうか?
日本語化はできないの?
>>647
>>ATLにある

>>648
AppWizardは手動で日本語化できる。
650デフォルトの名無しさん:04/07/31 13:08
_Module無しで、WTLのCStringを使うことは可能でしょうか?

atlmisc.hをインクルード>atlapp.hが必要です>atlbase.hが必要です
>_Moduleがありません…でショボーンとしてます。
>>650
#ifndef __ATLAPP_H__
#error atlmisc.h requires atlapp.h to be included first
#endif
と言うわけで、ヘッダをいじらない限り無理。
652650:04/08/01 19:04
>>651
アイヤー意外に不便なんですねぇ…
すっきりしました、レスありがとうございました
653デフォルトの名無しさん:04/08/09 02:25
助けて下さい!ツールバーのボタンを押されている状態にしたいのですが
上手くいきません。これで終わるのに、まさかこんな事で(´Д⊂

ttp://home.att.ne.jp/banana/akatsuki/doc/atlwtl/atlwtl06-07/
こちらの通りにしているだけに、何がまずいかさっぱりです

デバッガで追っても、しっかりatlframe.hにある
UISetCheck(int nID, int nCheck, BOOL bForceUpdate = FALSE)のcase文まで届いています

自分でTB_CHECKBUTTONを送っても駄目なので、
何か根本的なとこ(TBSTYLEとか)を間違ってそうなのですが・・・。
できたけど。
UPDATE_ELEMENT追加してないとかOnIdleでUIUpdateToolBar呼んで無いとか
656653:04/08/09 03:18
>>654
実行ありです、わずかな疑念も吹っ飛びました(´Д⊂
環境も全く同じなのになぁ、何故かへこんだままでいてくれない

>>655
確認ありです。最終的にこのソースだけ(コピペ)だった事もあり、その辺は大丈夫みたいです。

となると後はリソースの作り方だけですかねぇ。
IDR_MAINFRAMEという名のツールバーを作り、ID_MENUITEM_TOPMOSTという
アイコンを追加しただけなのですが・・・もうダメポ
ソース見せた方が早いかも。
TBSTYLEとか << どう考えてもこれだろ・・・
TBSTATE_ENABLEDを指定しているとか。
UIAddToolBarしてないとか <<どう考えてもこれだろ・・・
コピペしてると書いてるからそのへんは大丈夫だろ。
大丈夫じゃなかったらぶっとばす。
メッセージマップでCUpdateUIにCAINしてないとか
662デフォルトの名無しさん:04/08/10 04:11
>>653
次の中から適切なものを選べ(複数選択可)。

1. UPDATE_ELEMENT追加してないとか
2. OnIdleでUIUpdateToolBar呼んで無いとか
3. TBSTATE_ENABLEDを指定しているとか
4. UIAddToolBarしてないとか
5. メッセージマップでCUpdateUIにCAINしてないとか
6. ぬるぽ。
まぁぶっちゃけCHAINをCAINと書いてしまった俺だが。
カインメッセージマップ
キャイーン
>>653
で、原因は結局何だったの?
それともまだ解決してない?

こんだけの人が助言してやってんだから
報告くらいしないと撥あたるよ
667653:04/08/11 07:03
自己解決しまつた。
>で、原因は結局何だったの?
>>668
自我崩壊しまぷう。
ム板にもIDが必要かもしれないな
いや、ぶっちゃけ原因なんてどうでもいいんだけどな。
672653:04/08/17 20:49
うほっ、まだこの話題とは。騙りまで出てる。
レスくれた方々、すんません。

結局出来ないので、ボタンコントロールで偽ツールバーを作って誤魔化し、
そのままお盆突入してました。適当人生。
>>653
>>662の6項目は確認したか?
WTLって、難しいな
675デフォルトの名無しさん:04/08/18 18:33
911
676デフォルトの名無しさん:04/08/21 11:10
ATLのCStringと、WTLのCString、どっちを使ったほうがいいですか?

ATLの方は、CString.Formatが浮動小数点に対応してて便利なんだけど、
atlstr.hをインクルードするとなぜか実行ファイルサイズがめちゃくちゃ大きくなってしまいます。

こっちがお勧め、とかあったら教えてください。
用途に合った方がおすすめ。
ATLを使うと一気に実行ファイルサイズが10倍に?!
C++スレでもATLスレでもないので二重にスレ違い
680デフォルトの名無しさん:04/08/21 18:42
>>676
両方使えるなら、ATLのほうを使うのが正解。
40KBほど大きくなるという意味なら、我慢しなさいとしか言えない。
それ以上大きくなるなら、何が必要で何が必要でないか一度考えてみたらいいと思う。
少なくともダイエットさせることは可能。
>>679
WTLが比較対象に入ってるんだから構わない
>>683
おまえがスレッド違い。
CreateThread
>>680
> 両方使えるなら、ATLのほうを使うのが正解。

これは何故ですか?
ATL/WTL つーより、_ATL_MIN_CRT の問題だったりしないか?
>>686
それは_Moduleが必要というだけでATLを使う理由にはなってないと思うが
というか、どうでもいいのでは?
ATL::CStringのないVC6のためにあるようなもんでしょ。
違うの?
>>688
もともとSTLのstring使わせるつもりだったんだよな。
Windowsプログラマには人気高いのかねぇ>CString(MFC)
有名どころのMFC拡張ライブラリがCStringを使いまくっていることが原因かな。
Format()に相当するメソッドがstd::stringに無いのも大きい。
たぶんstd::stringにFormatにあたるのが無いのは文字数を数える_scprintfが標準では無いのも大きい。
692691:04/08/23 13:10
と思ったけどよくよく考えればstringstreamがあるからか。
boost:Formatが次期標準になるに違いないので問題無い。
C++0x は 200x のうちに出るんだろうか……。
あと、CStringA はマルチバイト対応だけど、
std::string はシングルバイトのみってのもあるかな。
(char_traits でどうにかなるかもしれないけど。)
もともとATLの設計としてなるべくCRTを使わないという前提があったため、
std:stringではなく独自の文字列クラスを作ったんだよ。
#ifdef _UNICODE
#define std:tstring std::string
#else
#define std:tstring std::wstring
#endif

でええやん
>>696
逆だし、それだったら
namespace std
{
typedef std::basic_string<TCHAR> tstring;
}
の方がいいじゃん。
boost:Formatはさらに大きくなるからな
>>679
こいつは普段から人の話を全く聞かない人間なんだろうな。
>>699
どうした。亀レスしてでも言い返したいほど悔しかったのか。
boostを使うと一気に実行ファイルサイズが10倍に?!
>>697
それだとコンストラクタでのXCHAR/YCHAR変換ができないし
Formatもないし、やっぱCStringのが便利だな。
operator PCXCHAR() の存在も、悪いスタイルといいつつ
便利は便利。
Win環境だとSTLは使ってもstd::stringじゃなくCStringT
使ってる人が多いよやっぱ。
>>702
>operator PCXCHAR() の存在も、悪いスタイル

どの辺が悪いスタイルなのよ?よくわからん。
>>703
コンストラクタやキャスト演算子によって、暗黙の型の広がりをあまり
広くするのは、便利ではあるけれど良くないとされる。
プログラマが意図しない変換が発生することもあるから。
std::stringだとそのために、キャスト演算子は用意してないワケでしょ。

ただし、MSのライブラリでは多用されてますね。正直、c_str()は
かなり多用することになるので、キャスト演算子があったほうが
「分かってる人にとっては便利」だと思う。

それともう一つ。CStringTのGetBuffer()も、「汚いけれども便利」
な機能ですね。
>>704
なるほど、確かに。

CString str1="xxxx";
cout << str1 << endl; // ライブラリ依存??

上のように記述した時、coutがstr1の適用方法をvoid*型と判断して、
インスタンスstr1のアドレス16進を表示してしまうコンパイラがあったね。
ある意味、間違ってないけど、不便だった。

string str1="xxxx";
cout << str1 << endl; // 正常に動く

std::stringはこんな不具合は当然ない。キャストなしでも意図したとおりに動く。
>>705
それはCStringもoperator <<(basic_ostream<TCHAR>&, const CStringT&);を用意すればよさそうな気がする。
>>705は偉そうなこと書こうと必死にがんばってる厨房だな
708676:04/08/24 16:54
みなさん、貴重な情報ありがとうございます。

ファイルサイズの問題は我慢して、これからは素直にATLのCStringを使って生きたいと思います。

ただ、_ATL_MIN_CRTってのが良く分かりませんでした。
これをつけると
LIBC.lib(crt0dat.obj) : error LNK2005: __osplatform は既に atlmincrt.lib(atlinit.obj) で定義されています。
LIBC.lib(crt0.obj) : error LNK2019: 未解決の外部シンボル _main が関数 _mainCRTStartup で参照されました。
になったんですが・・・
付けなきゃイイじゃん。
std::stringのfind系メソッドが使い物にならんことを理解してない奴がいまだいるのか。
711デフォルトの名無しさん:04/08/24 17:31
どう使い物にならんのかも書けない香具師さえいるしな。
その話はもう終わったことに気づいてない奴がまだいるのか
ここまでの流れでWTLの話が全く出てこないな
>>710
CStringTのTCHAR用のTraitsだと、_tcs系の(MB対応済みの)関数が
使われるからね。ま、それだけでマルチバイト文字の問題全てが
解決する訳では全くないがな。

そういう意味でもstd::basic_string<TCHAR, ...>じゃ
何の解決のもならないワケだ。
だから全部Unicodeで書けばすぐ解決すんだろ藻前裸帰れよここはWTLスレなんだよ。
>>715
COMは(つかBSTRは)WCSだし
NT系OS仮定していいんなら明示的にW版のAPI使えばいいんだけど、
MFCだのATLだのWTLだののレイヤは、ぜんぶTCHARベースだからねえ
ま、UNICODEをdefineするのが前提なら、そんでも構わないけどさ

今のところは、TCHARベースで、COMとやりとりする場所でBSTRとの
変換が発生するというのが普通のスタイルなんじゃないの。
>>714
MB対応の関数は_mbs系だアホ。
TCHARはwchar_tとcharを切り替えるだけでマルチバイトの問題は放置だし。
718デフォルトの名無しさん:04/08/25 06:41
std::string 系は標準と思えないくらい使いにくい
・・・と思うのは俺だけ?
.c_str() とかかっこわる

あと UNICODE との置き換えとかな

せっかくだから WTL の話題・・・。

CFile とかの派生に EUC、SJIS、UTF-8、UNICODE を意識しないで
使えるファイルクラスがあるといいのに。
LineRead とかあれば文句ないんだが・・・。

自分で書くか・・・
つか誰か作ってるっしょ?
>>718
> あと UNICODE との置き換えとかな
std::wstring 使う、って話じゃなくて?
>>718
文字列をstd::stringではなく、char*だと思っているから使いづらいだけだろ?
>>717
tchar.hは#ifdef _MBCSでも切り替えていますが何か。
stringに置き換えくらい標準で付けてくれればいいのにな。
全て置き換えとかしたかったら面倒なコード書かなきゃ逝けないし。
相変わらずWTLについては誰も話してないな。
まあ誰もまともには使ってないんだろうな。
結局すげえ面倒だし、サイズが小さくなる分
windowsx.h自分でラップして使った方がマシだし。
WTLの話題と言いつつATLの話してる>>718とかな
>>723
( ´∀`) <○○○○ー
>>723
オレオレ、WTL使ったやつ納品してるぞ。
WTLにCFileなんて無いよね?
>>718って頭おかしいの?
二度も言わないで良いよ
そういえば最近はMFCで組むときでも
CFileよりもCAtlFileを使うようになってきたなぁ。
WTLにCAtlFileなんて無いよ
>>723
そんな事もないんじゃないか?
いったんMFCで大ざっぱに作ってから、
WTLにコンバートするってのもアリだと思うけど。
>>730
だれもWTLにあるなんていってないよ
ならスレ違いだよ
ATL 相談室
http://pc5.2ch.net/test/read.cgi/tech/1029029882/
ATLスレって次スレ作るんだろうか。
735デフォルトの名無しさん:04/08/25 19:31
WTLってヘッダファイル見れば構造丸分かりジャン
必要なものだけ自分のプログラムにぱくればウマーなんじゃないの?

例えばウインドウの出し方とか
736デフォルトの名無しさん:04/08/25 19:58
ATLとWTLの違いはなに?
一文字目
>>735
Window出す所はATL使ってる
>>737
天才
>>735
そのまま使えるものを、わざわざ手間暇かけて劣化コピーを作ることも
ないっしょ。
741676:04/08/26 13:50
調べてみてもいまいち良く分からなかったのですが、
_ATL_MIN_CRT を付ける目的、メリット、デメリットは何ですか?
なんとなく _WTL_NO_CSTRINGと相性がよくない気がします・・・

質問の流れで直接WTLとは関係ない話になってしまって申し訳ないです。
名前のとおりじゃん。CRTをできるだけ使わないようにする。
つまり液晶を使うってことだな。
おじさんつまんなーい。
以下WTLの話題でよろしく
746デフォルトの名無しさん:04/08/26 15:55
ところでおまいらどのバージョンのWTL使ってるよ。
最新のか?
うん
最新のだとVC6用のインストーラがついてこないんだよね
AppWizardね
750デフォルトの名無しさん:04/08/26 18:44
ところでおまいらWTLってどこで知ったよ?
Donut
インターネット
モニタの前
紙メディアではまったく紹介されていないということがわかった。
俺は2chのどこかのスレでWTLという単語を見て自分で検索した気がする。
DONUT
ミスド
ReBarくらいは参考になるね
暇な方、ちょっとこれ落として試して頂けないでしょうか。
ttp://49uper.com:8080/img-s/6011.zip

ダイアログベースで、ラジオボタンが2つあるだけの物なのですが、
ボタンを押してないのに、いきなりOnHoge()が呼ばれてしまいます。

ここまで分からないのは初めてです…。たぶんつまらない事だとは思いますが。
環境はVC6とWTL7.1です。
760デフォルトの名無しさん:04/08/26 23:12
すいません、アップローダが流れるかもなのでageます
ウィルス
>>759
ウィルスをアップしないでください
763718:04/08/26 23:29
>>724 >>727
ごめんなさい
>>765
ウィルスちゃうやん。ぼけ
puts("Hello, world!");
>>759
なんだろう、不思議だね
WTLのバグ?
767718:04/08/26 23:54
>>759

二つとも BS_AUTO3STATE つけてるから、初期表示状態でどちらかが
押された状態にならないといけないから、windows が勝手に値をセット
したために、イベントが呼ばれているんじゃないかな?
768718:04/08/27 00:00
と思ったら違うかも、ごめん。
ボタンもう一個追加したのに HOGE2 が呼ばれるなぁ・・・
769759:04/08/27 00:17
ぐぁ、すいません、プロセスが残っちゃってますね。
MessageBoxをコメントアウトして、代わりにブレイクでもかけてもらえれば…

>>766-768
お二人ともレスありがとうございます、なんとも不思議で…

BS_AUTO3STATEは大正解かも!
それを伺ってBS_AUTORADIOBUTTON辺りかなと、
今試しにWTLのWizardがはいたコードに、似たようなラジオボタンを配置したら
しかしBS_AUTORADIOBUTTON付いてても問題も無く動きますねぇ…

ちなみに>>759は、かなり大きなプロジェクトから削っていった物なんです
BS_AUTO3STATEのヒントのおかげで、何となく分かってきたなぁ…やっぱりリソースですね
770759:04/08/27 00:37
759のリソースだとBS_AUTORADIOBUTTONを削れば、最初にメッセージは来ない
普通のリソースなら、BS_AUTORADIOBUTTONが付いていても、メッセージは来ない

ラジオボタンのリソースがCONTROL "",ID,"Button"型ではなく、
RADIOBUTTON型だと、BS_AUTORADIOBUTTONを削ってもメッセージが来てしまう?

分かったような分からないような…しかしとりあえず動いてホッとしてます
改めてレス感謝、ありがとうございました
771718:04/08/27 00:38
>>759

LRESULT OnHoge2(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& /*bHandled*/){
ATLTRACE(_T("%d %d %d\n"), wNotifyCode, wID, hWndCtl);
//MessageBox( "何故かこれがいきなり 呼ばれてしまう", "???", MB_OK );
return 0;
}

こういう風に変えてトレースを見るようにすると一回しか来ない。
値は 0 1002 460106 だったんだけど、

ダイアログって最初にフォーカス当てるようになってるから
そのイベントが来てるんじゃないかな。

と思って検証
検証1:
ボタンを追加してみた。
結果1:
ボタンにフォーカスが移りメッセージボックスは出ない
このときフォーカスはボタンにある<ここがミソ?

検証2:
OnInitDialog で FALSE を返してみる
結果2:
だめぽ
>>771
そ、そうかなるほど!フォーカス分でしたか
本当だ、タブオーダー変えたら今度はOnHoge1になりました

仰るとおりでFALSE返してもアクティブになっちゃいますねぇ
今後は大人しくBN_PUSHEDとかで捕まえておきます

いやおかげでぐっすり眠れそうです、ありがとうございました!
773718:04/08/27 01:11
いや、僕もちゃんとわかっているわけではないので、
本当の理由というかダイアログの仕組みを詳しく知っている人が
いたらフォローしていただけると幸いです。


ちなみに、CDialogImplBaseT< TBase >::DialogProc で
送られてくるメッセージを観察してみると

WM_SETFONT
WM_INITDIALOG
WM_SHOWWINDOW
WM_WINDOWPOSCHANGING
WM_ACTIVATEAPP
WM_NCACTIVATE
WM_GETTEXT
WM_GETICON
WM_GETICON
WM_GETICON
WM_GETTEXT
WM_ACTIVATE
WM_IME_SETCONTEXT
WM_IME_NOTIFY
WM_SETFOCUS
WM_KILLFOCUS
WM_IME_SETCONTEXT
WM_COMMAND     <これが該当のコマンド

ってなってました。

WTLの話じゃないかもしれんが質問。
リストビューにシステムのイメージリストを関連付けるとCFolderDialogで表示されるファイルアイコンの背景色が黒になるんよ。
リストビューでの関連付けをしないようにすると普通に表示されるんだけど。
誰か原因を教えておくれ。
775774:04/08/28 01:18
>>774
該当部分のソースを書いてみろよ
777676:04/08/28 02:12
余計なメッセージは反射しちゃいけない。
778774:04/08/28 02:30
void Init()
{
  T* pT = static_cast<T*>(this);
  SHFILEINFO sfi;
  HIMAGELIST himl = (HIMAGELIST)::SHGetFileInfo(_T(""), 0, &sfi, sizeof(SHFILEINFO), SHGFI_SYSICONINDEX | SHGFI_SMALLICON);
  SetImageList(himl, LVSIL_SMALL);

  pT->AddColmuns();
}
リストビューの初期化部分。
SHGFI_SMALLICONをSHGFI_LARGEICONにすると大丈夫なんだけどねぇ。
そのとおりにイメージリストをセットしてみたけどちゃんと透明になってる。
原因は他の部分だ。
78.0%憶測で言うけど、リストビューのスタイルにLVS_SHAREIMAGELISTSがないとかは?
PC再起動したら直ったりして。
ディスプレイの解像度を何度か切り換えたらエクスプローラのフォルダツリーのアイコン背景が黒くなったことがある。
そのとき再起動したら直った。
>>780
その78.0%ってのは、スレ番が780だからなのかな。
783774:04/08/28 22:22
>>779
メインフレームに直置きしたら大丈夫っぽいんでどうやら親ウィンドウが原因みたい。

>>780
22.0%の確率でLVS_SHAREIMAGELISTSは付いてます。

>>781
何度再起動してもいかんのですよ。再起動しなくても他のプロジェクトのは普通に動いてるし。

どうもリストビューを置いてる親ウィンドウが悪さしてるみたいなんでいろいろ弄ってみます。
784774:04/08/28 22:49
自己解決。
どうやら自作リストビューのOnCreate内でInitを呼び出したのが原因のようで。
作り終わってからInitを呼び出すと大丈夫みたい。

LRESULT OnCreate(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
{
  Init();
  return DefWindowProc(uMsg, wParam, lParam);
}
Init();をコメントアウトしたらOKでした。

アドバイスしてくれた皆様ありがとう。
OnCreateではDefWindowProc();を呼び出してから処理をするのが定石じゃんか・・・
786774:04/08/28 23:11
>>785
そうなんか…知らんかった…
WTL付属サンプルのMTPadのview.h見てみ。
OnCreateの最初で読んでるから。
ドキュメントの少ないWTLはサンプルも貴重なドキュメントだ。
788774:04/08/29 01:16
>>787
ははあ、スーパークラス化したウィンドウは先にDefWindowProc呼び出すんか。
サンクス。
789デフォルトの名無しさん:04/08/29 08:26
stdafx.h内で
#define _RICHEDIT_VER 0x0200
としてRichEdit2.0を使用しています。

WinXP/2000環境では何ら問題ないのですが、
Win98環境ではCRichEditCtrlのCreate()でクラッシュしていまいます。

WTLはWin98のサポートはしてないんでしょうか?

WTL 7.5を使用してます。
>>789
そこまで、クラッシュ発生条件が絞り込めているなら、
解決策は自力のソースの解析で出すべきでしょう。
とはいえ、Win9xでIDEデバッグする行為自体が大変でしょうけど・・・。
791789:04/08/29 09:33
>>790
>とはいえ、Win9xでIDEデバッグする行為自体が大変でしょうけど・・・。
そうなんですよ。
Win98にDebug環境を入れりゃいいんだけど同じ経験した人いるかなーと
思って質問したわけです。

だってソースは #define _RICHEDIT_VER 0x0200 この部分しか修正してないのに、
Win98で動かないなんて士気下がりまくり(;´Д`)
今時Win9xをサポートする意味がわからんが
>>792
それを言っても仕方ないでしょ。仕事でどうしても既存のマシン使うことが
要求されてるのかもしれんし。
>>790
そこでリモートデバッガの登場ですよ。
>>789
RICHED20.DLLは?
リビルドしる
797789:04/08/29 18:29
>今時Win9xをサポートする意味がわからんが
そんな時代になっちまったか(´・ω・`)
でもまだWin98はギリギリサポートするのが普通じゃないの?

>>795
Win98にはRICHED32.dllしか入ってなかったよ。
…てなオチならいいんだけど、ちゃんと入ってる。バージョンはXPの物より低いけど。
XP付属のDLLなら問題なく動くんだよなぁ。最悪のケースはXP付属のDLLを同梱か…。

もうちょっと調べてみますわ。
98使うくらいなら普通にNT4.0入れるだろ
あくまでも業務なんだし
そんなWTLに関係無い話どうでもいい。
>>797
Createの引数は具体的に何を渡してる?
IEのバージョンが古いというオチでは?
>>797
Win98と2k以降のRICHED32.dllってかなり仕様が違ってた気がするが。
同じ動作はあまり期待できなかったと思う。
>>802
だから2.0だって・・・
804789:04/08/29 19:38
>>800
Create( m_hWnd, rcDefault, NULL,
     WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS | WS_CLIPCHILDREN | WS_HSCROLL |
     WS_VSCROLL | ES_AUTOHSCROLL | ES_AUTOVSCROLL | ES_MULTILINE | ES_NOHIDESEL | ES_SAVESEL,
     WS_EX_CLIENTEDGE);
こんな感じです。特に変わった事はしてません。

ウィザードでview windowにRichEditを選択し、、
#define _RICHEDIT_VER 0x0200 ここを修正しただけのプロジェクトをビルドした物でも
不具合が出るEXEが再現出来ますね。
805789:04/08/29 19:43
>>801
ええ、いろいろ疑ってWindowsUpdateしたんですが変わらないですね。

>>802
RichEdit1.0(RICHED32.dll)ならWin98/Me/2000/XPで動く事は確認しました。
仕様が違っても最低限動作する互換性くらいはあるんじゃないの?わかんないけど。

後はCreateWindowEx()呼んで自前でRichEdit作るって手もあるんだが。
ソース見ればCrichEditCtrl自体はそんな複雑な事してないようだし。
806718:04/08/29 19:56
>>789
Create でちゃんと作れてるの?
ウィンドウ(リッチエディット)が作成されてないのに
メンバよんでるだけとか?

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/shellcc/platform/commctls/richedit/richeditcontrols/aboutricheditcontrols.asp

ここみると、

Creating a Rich Edit Control
To create a rich edit control, call the CreateWindowEx function,
specifying the rich edit window class. If you are using
Rich Edit 1.0 (Riched32.dll), specify RichEdit for the window
class parameter. If you are using Rich Edit 2.0 or later
(Riched20.dll), specify RICHEDIT_CLASS for the window class
parameter.

って書いてるけど、

#define _RICHEDIT_VER 0x0200

じゃなくて、RICHEDIT_CLASS を WNDCLASS に指定しないと
いけないんじゃないの?

試してないので sage


>>806
>>789にCreateでクラッシュと書いてるからウィンドウを作ること自体ができてないと思うが
808789:04/08/29 20:14
>>806
Create()内で落ちるのでメンバ呼ぶ以前の問題ですね。
ええと #define _RICHEDIT_VER 0x0200 が定義されると
ウィンドウクラスにRICHEDIT_CLASSが登録されるようになるみたいです。
現にXPでは上記の方法で2.0のRichEditが使用可能になります。

憶測ですがCRichEditCtrlは問題ないと思います。
CRichEditCtrlが呼び出すベースクラス(CFrameWindowImpl辺り)かもっと深い所にある
ATLで問題が発生していると思ってます。
今、リモートデバッガを入れてる途中なので終わったらデバッグプロセスを走らせてみます。
809789:04/08/29 20:30
リモートデバッガ入れたらRICHED20.DLLが置き換わったらしく、
問題のEXEが問題なく起動してしまいました。事実は闇の中状態です。
RICHED20.DLL(ver5.0) N.G.
RICHED20.DLL(ver5.3) O.K.
もう面倒だから後者のDLLを同梱するかな…。
ぽかーん・・・・
811718:04/08/29 22:19
>>807,808

あら、よく読んでなくてごめん。

直接の解決策ではないとおもうけど、こんなの見つけた

http://support.microsoft.com/default.aspx?scid=kb;ja;290234

Office でも同様の問題が起こっているみたいで、こっちは
Windows Installer と一緒に? Riched20.dll(Ver5.3)を
配布しているみたいだなぁ。

5.0 環境は 5.3 にあげざるを得ないってことか?
812718:04/08/29 22:43
おまけ

XP SP2 でさらにバージョンがあがる模様

http://support.microsoft.com/default.aspx?scid=kb;en-us;841383
WTLの問題なのかどうかも怪しくなってきたな
814789:04/08/30 05:47
>>718
情報ありがとう。
そう言えばWindows Installer 2.0もインストールしたなぁ。
こいつが新しいDLL入れるみたいですね。

>>813
いやそれがRichEdit2.0を利用してると思われる他のソフト(多分MFC)は古いDLLでも動いてたんで、
WTL(ATL)が何か特別な事してて落ちてるのかなーと思ったんです。
実際、CreateWindow()でコントロール作ると問題ない訳ですから。

腑に落ちないがインストールする時にDLLのバージョンを確認して古いバージョンの場合は
新しいDLLをインストールする様な方向で何とかしようと思ってます。
勝手に配布しても問題のないDLLなのか?
ちゃんと確認した?
816718:04/08/30 23:19
Windows Installer は配布可能だから、単体で Riched20.dl を
配るのではなくて、Installer を使おうようにすればいいんじゃないかな
なぁ、話の流れと関係無いなら名前にレス番書くのやめないか。
読んでて話の流れがわかりにくい。
VS2005ベータでWTL使ってみた奴いる?
819デフォルトの名無しさん:04/08/31 23:00
あげておこう
>>819
お前がageるたびに俺がsageてやる!
sageって書いても上がらないだけで下がるわけではないのだが
頭悪すぎ
とネタにマジレスする頭悪すぎの奴
保守派!
WTL製アプリを納品してるとか言ってた奴の宣伝か。
>>825 ( ゚д゚)ポカーン
827デフォルトの名無しさん:04/09/01 22:25
WTLなんか使わないけど
ヘッダファイル読めば構造丸分かりだから
OfficeXP風メニューの作り方とかぱくれてウマー
>>735と同じ奴だな。
そらか・・・
>>828
要するにこのスレには昔から同じ数人しかいない
>>825

どうしてそういう発想しかできないんだ?
字汚いくせに
まったりしようや

>>827

じゃあ、Office2003 風の Look&Feel もおながいします。

漏れ的には、OfficeXP(現 .NET 2003 風)のほうが好きなんだが、
.NET 2005 は Office 2003 風になるよね・・・
>>828
>>813と同じやつだな
834デフォルトの名無しさん:04/09/02 13:21
>>824
それたまたまYahooのニュースで見つけたけど
http://headlines.yahoo.co.jp/hl?a=20040901-00000029-imp-sci

「Longhornにも対応するというシェアウェアで」って・・・
まるでWTLがWinFXを使ってるような書き方というか、
そもそもいくらLonghornでWin32アプリが動くというニュースが流れてるからといって、
動作確認もやってないはずの現時点でLonghorn対応とするのはどうなんだろうか。
「対応している」ではなくて、「対応する」なんだから
Longhornが出たらメジャーバージョンアップを要求せずに
きっちり対応してくれるって事じゃないの?
「Windows 2000/XP/Server 2003のほかLonghornにも対応するというシェアウェア」
という文脈で、Win2000やXPと同列に書いてるから今現在対応してるという意味にとるのが普通だと思う。
http://www.lightship.co.jp/FileVisor6/index.html
の動作環境にもLonghornが入ってるよ・・・
今出てるLonghornのβ版で動作確認したって意味じゃないのかな
>>838
普通に考えてそうだよね。
ベータはまだ出てなかったような。
そういえば、WTL に XP SP2 のセキュリティの影響とか
ありましたか?体験した人教えてほしいです。
(サンクとか)
WTLって単なるHファイルの集合体なわけでしょ?
しかも、平文テキストで暗号化なんかもされて無いし
ヘッダファイル読めばクラスの構造とか丸分かりだから
ウインドウ出したりボタンの作り方とかぱくれてウマー
>>842
おまえはもういいよハゲ
844デフォルトの名無しさん:04/09/04 01:38
>>841
ここで聞いても該当者はいないっぽいなぁ。
CPUがNXに対応してて、かつXP SP2を入れてて、かつATL3.1製アプリを動かした場合の話だから。
仮にSP2で問題が起こったとしても、WTLのせいじゃないだろう。
薄いラッパにすぎないWTLには一切の責任がないと思うし、
問題が起きるようであればATL・MFCでもWTL以上の深刻さで大量発生しているはず。
そうだよ。ATLの話だよ。
聞いた話ではATL3.1では問題があるが、最新の7.1では修正されてるらしいんだけど実際どうなのかな。
NX対応CPU(または64bitCPU)ユーザのスレとかあるんだろうか。
まぁあったとして「このATL3.1製HelloWorldを実行してみてくれ」と頼んでも怪しんで試してくれないか。
847デフォルトの名無しさん:04/09/04 13:26
ATL3.0のサンクがSP2のDEP機能で引っかかるという疑惑について、下のスレの住人にテストしてもらった。

Athlon64買いました。とってもキビキビですpart11
http://pc5.2ch.net/test/read.cgi/jisaku/1094220209/

結果は全然問題無いみたい。ATL3.0プログラムでも普通に動いたって。

参考:DEP機能について↓
http://www.atmarkit.co.jp/fsys/kaisetsu/045dep/dep.html
ってゆーか
APIの勉強くらいMFCのソースコードでも出来るだろ
>>849 ( ゚д゚)ポカーン
久々に電波発言を見た。
>>852
え?

あながち間違ってないでしょ、>>849は。
MFCのソース解析さえできない無能な方でつか?
MFCの問題は、ソース解析できるが安易に手がつけられないことであり、
ソース解析ができないことなどではない。
その点が理解できてない初心者が多いようだね。
ネタにマジレス、それを窘められて逆ギレ……
まぁなんというか、MFCは ス レ 違 い
>>854=>>852
無能PG、乙。
恥をかきそうになったらネタ扱いして「逃げ」ですか。
ATL/WTLじゃなくてもソースは付いてるって事でしょ。
で、読めばAPIの使い方くらいは勉強になると
だれもAPIを勉強するなんて話はしてないし、
MFCはスレ違いなのに、
何の脈略もなく>>849みたいなこと言ってるから電波だと言われるんだ。
>>849
誤爆かと思ってたんだけど違うのか?
引き続きレスしてるから誤爆ではないと思われるが・・・
>>856なんかもう見てらんないな。己を恥じて欲しいよ。
862デフォルトの名無しさん:04/09/05 01:10





                釣 り で し た 
863841:04/09/05 01:49
>>844-847

おお、別板で聞き込みまで、ありがとうございました。
安心して使えます。
864デフォルトの名無しさん:04/09/07 03:20
あげてみるか
WTL本マダー?
866デフォルトの名無しさん:04/09/09 22:58
WTL の何をしりたいのさ
俺が知らないこと
「無知の知」って奴ですな。
微妙に違う気がする
ATLインターナルは改訂版出ないのかな。
871デフォルトの名無しさん:04/09/11 02:28:49
コマンドバーのボタンを押し下げた状態にしたいんですが、
どうすればいいのでしょうか?
872デフォルトの名無しさん:04/09/11 02:42:38
マウスでボタンを押しつづける
873デフォルトの名無しさん:04/09/11 03:20:35
>>871
そんなアプリ見たこと無い。どんな時にやるのよ?
874デフォルトの名無しさん:04/09/11 09:18:08
DEPに引っかかるのは、そのソフトがillegalな処理してるだけじゃん
昔あったNTで動かないソフトと同じで、非推薦のAPI使ったり。
勝手にハード叩いたり
875デフォルトの名無しさん:04/09/11 12:18:44
>>874
illegalとlegalはどうやって見分けるんだ?
thunkの疑惑は、そのままでは実行禁止とされているスタックやヒープ領域に
thunk codeを生成しているATLはどうなるんだと言うところから始まっているだけだが。
876871:04/09/11 12:35:12
すんません。説明がわかりにくかったみたいですね。
押し下げた状態ってのはBSTATE_PRESSED??の状態で、
OpenJaneのオンライン/オフラインを切り替えるボタンみたいなスタイルです。

こういうデフォルト以外の動作をさせたい場合などは、
自前でCreateWindoew()したものをAddSimpleReBarBand()で突っ込むんでしょうか?
877デフォルトの名無しさん:04/09/11 12:42:37
>>876
ツールバーの使い方調べてみろ
878デフォルトの名無しさん:04/09/11 13:09:14
>>876
それならOpenJaneと同じくツールバーでやるべきだと思うが。
879871:04/09/11 13:58:48
HWND hWndToolBar = CreateSimpleToolBarCtrl(m_hWnd, IDR_MAINFRAME, FALSE, ATL_SIMPLE_TOOLBAR_PANE_STYLE);
AddSimpleReBarBand(hWndToolBar, NULL, TRUE);
こんな感じで追加したツールバー上のボタンをTBSTATE_PRESSED状態にしたいのですが、
TBBUTTON構造体って直接は取得出来ませんよね?

あーなんだか自己解決したみたいです。
CToolBarCtrl bar = m_hWndToolBar;
これでbar.GetButtonInfo()/bar.SetButtonInfo()すればいいんですね。
880デフォルトの名無しさん:04/09/11 14:08:52
>>653と同じ質問だったのか
881デフォルトの名無しさん:04/09/11 14:15:51
最初はコマンドバーと言ってたのに本当はツールバーか・・・
882871:04/09/11 14:25:03
>>880
そのようで…。

>>881
いやーコマンドバーってのをIEスタイルのメニューバー+ツールバーの総称だと思ってたんで、
コマンドバーのボタン=ツールバー上のボタンと認識してました。
これが混乱を招いてたのですね。

何にせよWTLらヴですよ。
883デフォルトの名無しさん:04/09/11 14:29:19
普通はUISetCheckとか使うと思うけど解決したならそれでいいや。
884882:04/09/11 14:39:22
>>883
BEGIN_UPDATE_UI_MAP(CMainFrame)
 UPDATE_ELEMENT(ID_MENU1, UPDUI_MENUPOPUP | UPDUI_TOOLBAR
END_UPDATE_UI_MAP()

UISetCheck(ID_MENU, 1);
あーこっちのが全然楽っすねー。

ボタンに対してTBSTYLE_CHECKスタイルを設定しないとダメなんかと思ってたら、
設定しなくても大丈夫なんですね。
助言ありがとうです。
885デフォルトの名無しさん:04/09/11 18:11:24
ツールバーを解決できなかったのは>>653だけか・・・
いったいどんなコード書いてるんだ・・・
886デフォルトの名無しさん:04/09/11 23:53:41
>>664
もっと楽な方法があるぞ。
toolBar.Buttons[0].Checked = true;
887デフォルトの名無しさん:04/09/12 00:12:08
それは何の話だ?
888デフォルトの名無しさん:04/09/12 00:22:06
>>886
それはボタンの見た目を自動的に更新してくれないんじゃないか?
889884:04/09/12 02:38:26
ツールバー絡みでまた質問させてください。

CreateSimpleToolBarCtrlで作成したツールバーにコンボボックスを追加したいと思ってます。
ですがCToolBarCtrlではTBBUTTONで設定したボタンの形状しか受け付けませんよね?
ReBarのバントに子ウィンドウとしてコンボボックスを追加する事は出来ますが、
そうするとボタンが乗ったツールバーを置く事ができません。
(REBARBANDINFO::hwndChild)

ツールバーとコンボボックスを載せたウィンドウをReBarのhwndChildに設定したりしなければ、
混在は不可能なんでしょうか?
通常はどのような形態でツールバーとコンボボックスを一つのReBarのバンドに収めるんでしょうか?
890デフォルトの名無しさん:04/09/12 02:48:18
普通は独自のツールバーを作ってその中でコンボボックスをCreateすると思う。
891デフォルトの名無しさん:04/09/12 07:04:31
>>889
まずは厨房>>890を無視することから始める。
次に、乗せたいコンボボックスの幅と等しい幅を持ったセパレータをツールバーに追加する。
そして、追加したセパレータの外形に重なる位置にコンボボックスを作成すれば出来上がり。

注意点としては、
コンボボックスの高さだけはセパレータに合わせずにドロップダウンを考慮すること、
ツールバーの折り返し(TBSTYLE_WRAPABLE)は禁止しておくこと。

検索すればすぐ見つかるが、必要最低限のコードの例。
この例ではSDKだが、WTLでも.NETでも手順は全く一緒。
ttp://www.alpha-net.ne.jp/users2/junchoon/tips016.html
892889:04/09/12 10:31:23
>>890
同じような事を考えてました。これだと結構面倒ですよねぇ。

>>891
ダミーのセパレータを置くんですね。
でもこれってバンドを動かされたらコンボボックスは自前で
MoveWindow()させないとますいんですかね。
今からちょっと出かけるんで帰ってきたらコーディングしてみます。
ありがとうございました。
893デフォルトの名無しさん:04/09/12 11:45:29
>>891
それ>>890と同じこと言ってるぞ。
894デフォルトの名無しさん:04/09/12 13:18:14
じゃあ891も厨房か・・・
895デフォルトの名無しさん:04/09/12 14:14:33
>>892
ツールバーの子として作るんだから、ツールバーの動きに追従するよ。
ただ、コンボボックスのnotifyメッセージとかが全部ツールバーに行くから、
それを補足したければツールバーをサブクラス化するしかない。
896デフォルトの名無しさん:04/09/12 14:31:08
>>893
>>891のやり方は、独自ではなく標準のツールバーを作っている。
897デフォルトの名無しさん:04/09/12 14:40:00
>>896
・・・は?
>>889で言ってるCreateSimpleToolBarCtrlで作ったツールバーじゃなくて、
自分でCToolBarCtrlの派生クラス作れって意味だろ。<独自のツールバー
そもそも標準のツールバーって何よ。
コモンコントロールのツールバーを元にするのは当たり前だ。
898デフォルトの名無しさん:04/09/12 17:37:53
>>897
そうか?
俺は>>891がコモンコントロールのツールバーみたいな動作をする
ウィンドウを自作しろと言っているように受け取ったがな。
899デフォルトの名無しさん:04/09/12 17:44:16
>まずは厨房>>890を無視することから始める。

みたいな事平気で書く奴こそ厨房だと思うが
技術の話とも関係ないし
900デフォルトの名無しさん:04/09/12 18:12:21
>>890にはっきり「ツールバーを作って」と書いてるのに、
なんでツールバーみたいな動作をするウィンドウを連想するんだ。
901デフォルトの名無しさん:04/09/12 18:16:47
「独自のツールバーを作って」と言ってる。
ToolbarWindow32のインスタンスとは一言も言っていない。
都合のいいように編集して自己弁護しなくてよろし。
902デフォルトの名無しさん:04/09/12 18:25:21
だから「独自のウィンドウ」じゃなくて「独自のツールバー」なんだから、
ツールバーに決まってるだろ、っつーかSDKならまだしもWTLスレだぞ。
常識で考えてCToolBarCtrlの派生だろーが。
903デフォルトの名無しさん:04/09/12 18:40:19
全部ウインドウでしょ
904デフォルトの名無しさん:04/09/12 18:44:57
どっちもどっちって感じだな。
905デフォルトの名無しさん:04/09/12 18:48:55
>>902
なんで決まってるんですか?
ボタンを並べただけのオリジナルのバーをツールバーと呼んではいけないんですか?
906デフォルトの名無しさん:04/09/12 18:49:09
>>898の言ってることも好意的に解釈すると同じことだな。

class CMyToolbar : public CWindowImpl<CMyToolbar, CToolBarCtrl>
{
public:
DECLARE_WND_SUPERCLASS(_T("MyToolbar"), CToolBarCtrl::GetWndClassName())

コモンコントロールのツールバーみたいな動作をするウィンドウ"MyToolbar"を自作。
907デフォルトの名無しさん:04/09/12 18:50:23
>>905
いけません。それを言うとボタンを並べただけのReBarもToolBarになっちゃいます。
908デフォルトの名無しさん:04/09/12 18:54:17
>>907
なるほど、ツールバーとは特定の実装(ToolbarWindow32)を指すものだったのですね。
OfficeとかのMsoCommandBarや、QTやGTKのツールバー、
もっと拡大するとUI一般で言うところのツールバーと呼ばれているものはほぼ例外なくまがい物ですか。
909デフォルトの名無しさん:04/09/12 18:56:39
>>908
はいはいそういうしょーもないこと言うと思った。
UI一般の話をしてるなら混同してもいいが、今の話の流れ(>>889の質問から)だと区別する必要がある。
910デフォルトの名無しさん:04/09/12 18:57:48
>>908
おまえの脳内はたぶんスレ違いだ。
911デフォルトの名無しさん:04/09/12 19:06:58
911!
912デフォルトの名無しさん:04/09/12 19:07:58
>>911はテロだな
913デフォルトの名無しさん:04/09/12 19:08:49
いつのまにか900越えか・・・
914デフォルトの名無しさん:04/09/12 19:12:56
ちょっと早いけど、次スレはATLと統合しない?
あっちのスレほとんど使われてないし。
915デフォルトの名無しさん:04/09/12 19:19:06
ATL/WTL
http://pc5.2ch.net/test/read.cgi/tech/978029639/
ていうか昔は一緒だったのにも関わらず落ちたのに何故か分割したよね
916デフォルトの名無しさん:04/09/12 19:19:47
class ATL/WTL : public 2chImpl<ATL/WTL, Part3>

過去スレ
ATL/WTL
http://pc5.2ch.net/test/read.cgi/tech/978029639/

ATL 相談室
http://pc5.2ch.net/test/read.cgi/tech/1029029882/

WTLお勉強スレッド
http://pc5.2ch.net/test/read.cgi/tech/1078150663/
917デフォルトの名無しさん:04/09/12 19:21:34
>>915
そのスレの後、ATL相談室でATLとWTLを扱ってたけど、それをこのスレの>>1が調べもせずにここ立てちゃったんだよ。
918デフォルトの名無しさん:04/09/12 19:22:45
WTLお勉強スレッド
http://pc.2ch.net/test/read.cgi/tech/1014932657/
コレもたったよね
919デフォルトの名無しさん:04/09/12 19:22:47
920デフォルトの名無しさん:04/09/12 19:23:51
>>918
うわっ、そこ完全に記憶から無くなってた。
すごいの引っ張り出してきたな。
921デフォルトの名無しさん:04/09/12 19:27:53
>>918
そこはもう無かったことにしてもいいかもな…
922テンプレ:04/09/12 19:35:08
class ATL/WTL : public 2chImpl< ATL/WTL, Part3 >

>>1
ATLまたはWTLの相談室です。

>>2
過去スレ
(Part1)ATL/WTL
http://pc5.2ch.net/test/read.cgi/tech/978029639/

(Part2-1)ATL 相談室
http://pc5.2ch.net/test/read.cgi/tech/1029029882/

(Part2-2)WTLお勉強スレッド
http://pc5.2ch.net/test/read.cgi/tech/1078150663/
923デフォルトの名無しさん:04/09/12 19:38:12
924889:04/09/12 20:26:22
HWND hWndToolBar = CreateSimpleToolBarCtrl(m_hWnd, IDR_MAINFRAME, FALSE, ATL_SIMPLE_TOOLBAR_PANE_STYLE);

TBBUTTON btn = {0};
btn.iBitmap = 120; // width
btn.idCommand = ID_MY_COMBOBOX;
btn.fsStyle = TBSTYLE_SEP;

CToolBarCtrl bar = hWndToolBar;
bar.InsertButton(0, &btn);

CRect rc;
bar.GetItemRect(0, &rc); // fix me.
m_comboBox.Create(hWndToolBar, rc, NULL, WS_CHILD | WS_VISIBLE | CBS_DROPDOWNLIST, 0, ID_MY_COMBOBOX);
925889:04/09/12 20:27:28
こんなに簡単に出来るとは思いませんでした。みなさんありがとうございました。
ここでコンボボックスのメッセージに疑問があります。
m_comboBoxの直接の親はhWndToolBarでありその親としてm_hWndが存在するのですが、
コンボボックスのメッセージはm_hWndのウィンドウに飛んでくるみたいです。
btn.idCommand = ID_MY_COMBOBOX; こいつが設定されていると、
ツールバーが親にメッセージを投げるのかと思いましたが btn.idCommand = 0;
でもメッセージが飛んでくるようです。
ちなみにm_hWndのメッセージマップは
COMMAND_HANDLER_EX(ID_MY_COMBOBOX, CBN_SELCHANGE, OnComboBoxSelchange)
こんな感じになってます。
926デフォルトの名無しさん:04/09/12 21:03:01
m_comboBox.Create(hWndToolBar, rc, NULL, WS_CHILD | WS_VISIBLE | CBS_DROPDOWNLIST, 0, ID_MY_COMBOBOX);

↑こうしてるんだからID_MY_COMBOBOXのメッセージが飛んできて当然だと思うが
927889:04/09/12 21:36:39
>>926
メッセージは親ウィンドウに届きますよね?
だとしたら >>895氏の言うようにhWndToolBar(ツールバー)に送られると思うのですが、
ツールバーの親であるm_hWndに飛んで来るんです。
928デフォルトの名無しさん:04/09/12 23:52:31
ツールバーがメッセージをフレームにフォワードしてるだけなんじゃないのか?
929デフォルトの名無しさん:04/09/13 00:42:10
すでにWTLの質問じゃないような気がするのは俺だけだろうか・・・
930889:04/09/13 01:34:07
>>928
まあそんな感じなんでしょうね。
とりあえずよしとしときます。

>>929
発端はWTLって事で…。
931デフォルトの名無しさん:04/09/13 20:58:02
>>1の立てたwikiがいつの間にか無くなってた。
932デフォルトの名無しさん:04/09/13 21:05:50
ま、予想通りの結果だな。
933デフォルトの名無しさん:04/09/13 22:54:44
yahooもいつまで放置するやら・・・
934デフォルトの名無しさん:04/09/13 22:56:17
結局誰も使ってないしね
935デフォルトの名無しさん:04/09/13 23:13:44
無能な奴がはりきったところで、誰もついて行かないってこったな。
936デフォルトの名無しさん:04/09/14 23:27:48
ということで、有能な935が何か話題を提供してみないか?
937デフォルトの名無しさん:04/09/14 23:46:51
>>936
>>1さんこんばんは。あなたの出番はもうありませんよ。
938デフォルトの名無しさん:04/09/15 00:26:55
>>936
1よ、これ以上醜態を晒すな。
このスレやwiki、Yahooを見てわかるように、おまえの居場所は無い。
939936:04/09/15 02:59:20
あれ、1にされちゃった
1はさすがにもういないんじゃ?
940デフォルトの名無しさん:04/09/15 03:03:37
Yahooは放置したままとんずらかよ・・・
あそこに登録してる13人っていったい・・・
941デフォルトの名無しさん:04/09/15 03:13:29
次スレ

class ATL/WTL : public 2ch<ATL/WTL, Part3>
http://pc5.2ch.net/test/read.cgi/tech/1095185498/
942デフォルトの名無しさん:04/09/15 07:32:00
CUpdateUIっ設計理念がすばらしいね。
つくづく感心させられます。
943デフォルトの名無しさん:04/09/15 15:22:24
Mixinですか
944デフォルトの名無しさん:04/09/16 22:07:21
WTL でマウスでドラッグ中にカーソルの座標をステータスバーに
表示したい。今 OnIdle で書いているんだけど、ドラッグ中は
イベントが来ないため困っているんだけど、どうするのが
スマート(WTL的)かな?
945デフォルトの名無しさん:04/09/16 22:14:08
埋めますか
946デフォルトの名無しさん:04/09/16 22:18:05
>>944
スマートかどうか知らんが
http://home.att.ne.jp/banana/akatsuki/doc/atlwtl/atlwtl13-03/index.html
の下の方にあるマルチペインステータスバーなんかWTL的なんじゃね?
947デフォルトの名無しさん:04/09/16 22:19:26
埋めようとしたとたんに質問かよ・・・
948デフォルトの名無しさん:04/09/16 22:59:59
なんでOnIdleの中なんかににかくの?
普通にwm_mousemoveでできない理由があるのか?

つうかWinプログラミングも2chも初心者の厨房が
WTLなんかに手を出すんじゃねーよ
949デフォルトの名無しさん:04/09/16 23:14:31
>>948
なんだよ、偉そうに。
「2chのベテラン」が格好いいと思ってるの?
950デフォルトの名無しさん:04/09/16 23:45:45
>>949
格好いい訳ないだろう。

俺はWTLに関しては少なくとも初心者ではないが、
2chに関しては少なくともベテランではない。

よって、
例え俺が950ゲットしようとも、
既に存在する次スレのスレタイが如何に腐っていようとも、
俺は次スレを立てない。
951デフォルトの名無しさん:04/09/16 23:57:55
>>948
このスレの住人として言わせてもらうがWTLが高度なライブラリかなにかと勘違いさせるような痛い発言はしないでくれ。
952デフォルトの名無しさん:04/09/17 00:21:14
>>951
ある意味高度でしょ。MFCの将来的な姿を映していると思う。
「MFC開発者が過去の反省にたって一から作り直しますた。」って感じがする。
953デフォルトの名無しさん:04/09/17 00:40:55
>>952
それと初心者を排斥するのと何の関係があるんだ。
954デフォルトの名無しさん:04/09/17 01:16:08
>>951
高度なライブラリじゃないとは思うけど
Winの流儀も知らないやつが手を出すなとは思う。
IDEの支援もあるし、まずはMFCで慣れてからにしろって言いたい。
955デフォルトの名無しさん:04/09/17 02:22:27
C++(特にテンプレートや多重継承)について慣れる必要はあるが、
MFCに慣れる必要は無いだろ。
956デフォルトの名無しさん:04/09/17 02:47:01
別にMFCじゃなくてAPI自家でもいいけど
IDEの支援が無くなるから余計なところにも多大な労力裂く事になるし。
まあ、他の処理系でも良いならいくらでも選択肢は増えるけどな。HSPとか。

今回のケースはイベントドリブンの基礎が分かってないから
そんな変なコーディングしてたんだろし。
957デフォルトの名無しさん:04/09/17 02:56:25
え?今回のケースはWTLのアイドル処理がWM_MOUSEMOVEを無視する仕様だから、
OnIdleでは拾えないってだけの話だろ。
なんでイベントドリブンの基礎まで話が広がるのよ。
958デフォルトの名無しさん:04/09/17 03:03:54
OnIldeはMFCとWTLで該当するメッセージが違うでしょ。
959デフォルトの名無しさん:04/09/17 03:06:29
ただでさえユーザーの少ないWTLなのに、初心者だからという理由で締め出そうとする意味がわからん。
WTL使ってる奴は使ってること自体に優越感を持ってるのかと勘違いされかねないから
>>948の「初心者は手を出すな」みたいな発言はマジでやめてほしいわ。
960デフォルトの名無しさん:04/09/17 03:09:23
>>958
誰がMFCの話をしてるんだ。
961デフォルトの名無しさん:04/09/17 03:19:19
>>957
すっごくいみふめ。
962デフォルトの名無しさん:04/09/17 03:25:37
WTLのOnIdleがWM_MOUSEMOVEを無視することを、>>944が知らず、ソースを調べもしなかったことに問題があるんだよ。
MFCからやれとかイベントドリブンの基礎がどうのとかは的外れ。
963デフォルトの名無しさん:04/09/17 07:34:43
>>952
偉そうな割にこの発言は恥ずかしいな…
全然状況を分かってない
964デフォルトの名無しさん:04/09/17 12:01:41
無視以前にドラッグ中はWM_MOUSEMOVEがメッセージキューに来ない。

>>944
カーソルを監視するコントロールが一つなら、
そのコントロールでWM_MOUSEMOVEを処理する。
そうでないなら、WTLの枠組みで処理するのは諦めて、フックでも使うのが良いかと。
965デフォルトの名無しさん:04/09/17 12:15:59
初心者>>949,>>959,>>963が吠えてるようだな。
どうせ同一人物だろ。アフォ丸出しだな。
966デフォルトの名無しさん:04/09/17 12:32:19
>>944
簡単にやるならタイマーで監視して、変化があれば表示を更新。
難しくやるのが好きなら、フックを登録して WM_MOUSEMOVE で表示を更新。

967デフォルトの名無しさん:04/09/17 12:35:20
>>965
オマエハナー
968デフォルトの名無しさん:04/09/17 12:46:14
本当に初心者じゃなくて、WTLの現在の立場や、生い立ちをちゃんと知っていれば
「MFCの将来」とか「MFC開発者が」とか言う発言は出ないはず。

個人的に一番恥ずかしいのは>>948 >>950だがな。
全角英数字で2chだのOnIdleなんて書きながら、
ここまで自信満々に言われるとこっちが恥ずかしい。
969デフォルトの名無しさん:04/09/17 12:59:23
>>966の補足。
「ドラッグ処理」を書いてると SetCapture したくなるケースがあるし、
外からのドラッグだと Capture されてるケースもあるので、
WM_MOUSEMOVE のハンドラはお勧めしないわけ。
970デフォルトの名無しさん:04/09/17 13:13:37
このスレには以前から「SDKやMFC経験者っぽいけど、WTLは使ったこと無いんじゃないの?」と思わせるようなちょっと変な奴が紛れてる。
971デフォルトの名無しさん:04/09/17 15:38:44
【Whidbey】Visual Studio 2005スレ【.NET 2.0】
http://pc5.2ch.net/test/read.cgi/tech/1080916113/648

↑にも知ったかが出没してるにゃ・・・
972デフォルトの名無しさん:04/09/17 15:41:23
WTLはMFCに結構似てるよ。
WTLはまともなリファレンスが無いからMFC知ってると便利。
973デフォルトの名無しさん:04/09/17 15:47:41
似てるのはクラスやメンバ関数の名前なのでMFCのリファレンスは便利だが、
だからといってMFCを初めから勉強する必要は無い。
974デフォルトの名無しさん:04/09/17 15:50:16
>>971
にゃじゃねーよ。キモイ。
おまえがかわいい女の子なら許す。
975デフォルトの名無しさん:04/09/17 15:53:00
>>971はおんなにょこだにょ。
976デフォルトの名無しさん:04/09/17 15:56:03
WTLを操る可愛い女の子?!

付き合ってください。
977デフォルトの名無しさん:04/09/17 16:18:06
皆さんも女の子もこちらに移動してください。

class ATL/WTL : public 2chlt;ATL/WTL, Part3gt;
http://pc5.2ch.net/test/read.cgi/tech/1095185498/

スレタイが失敗してるのは反省して次回は無難にATL/WTL相談室とでもするとして、
このスレは1000取り合戦に移行します。

977!
978デフォルトの名無しさん:04/09/17 16:19:55
978!
979デフォルトの名無しさん:04/09/17 16:20:42
979!
980デフォルトの名無しさん:04/09/17 16:21:06
1000!
981デフォルトの名無しさん:04/09/17 16:22:27
980!
982デフォルトの名無しさん:04/09/17 17:04:56
>>977
スレ、作り直そうよ
983デフォルトの名無しさん:04/09/17 17:37:53
スレタイごときでそれはないだろ
984デフォルトの名無しさん:04/09/17 17:42:33
ただでさえ過疎スレだしな
985944:04/09/18 01:13:56
埋まりそうで埋まらないのでこっちに。
えっと予想よりいっぱい返事をいただいてありがとうございました。

WTL の Sample にある MTPad と CodeProject の kPad あたりを
いじっててマウスカーソルの表示部の処理について気になったので
聞いてみました(どちらもドラッグ中は座標が表示されないみたい
だったので)

>>944
そうですね、マルチステータスバーは使ってます。

>>948
なんでOnIdleの中なんかににかくの?

UIUpdateStatusBar とかは OnIdle() でコールするのが普通に思えたし、
CodeProject の kPad とかもそうやってるので。

>>普通にwm_mousemoveでできない理由があるのか?

SetCapture する必要があるからっていうのと、メッセージの出力先は
ステータスバーだけにしたくないかなと思ったからです。

View の部分では現在の座標だけを公開して、OnIdle なりでビューから
座標を取得して出力したほうがいいと思ったからです。
つまりもしステータスバー以外に表示したいと思ったときに Frame の
方で簡単に切り替えられるから・・・
986944:04/09/18 01:41:36
つづきを

>>956
どの辺がイベントドリブンと関係あるのかわからなかったので教えてく
ださい。kPad とかがそういうコーディングしてて、自分的にはちょっと
へぇと思ったものですから

>>957,958
IDE ではドラッグ中でも行数がでるからやり方はいくつかあると
思うんだけど表示データは内部にもって、表示部(この場合 Status Bar)
を管理する Frame が適切なタイミングで View のデータを取得して書いて
くれるといいかなと思ったのです。

>>962
いえ、OnIdle の実装はソース見ました。
問題は OnIdle が来ないのだけど、この場合どういう方法で表示させる
のが WTL 的なのかな?と思いまして。

>>964,966,969
MTPad のほうは Window メッセージ(WM_USER+?) を使っているんですが、
ドラッグ中に大量にポストするのは、ちょっと微妙かなと思いました。

また、まさに上下にドラッグしながらスクロールするときに SetCapture()
する必要がありますよね。フックも試してみます。

最初質問するときここまで反応がもらえると思わなかったので、具体例を
出さず、返事も遅れたのでアレですが、もし、上記以外で俺だったらこうする
見たいなのがあったら教えていただければ幸いです。

連休中にいろいろ試してみます。
987デフォルトの名無しさん:04/09/18 01:45:21
>>982
賛成
ちょっと変なスレだしな。オタくさいし
988デフォルトの名無しさん:04/09/18 02:16:18
変なAA貼られたくらいで新スレ立ててたらきりないわ
989デフォルトの名無しさん:04/09/18 02:20:33
>>988
ざっとスレを1から見直してみたけど変なAAがない。顔文字ぐらい。
にも関わらず、この中身のなさはなんなのだろうか・・・。
次スレ要らないんじゃないの?
990デフォルトの名無しさん:04/09/18 02:25:57
>>988
というより、スレタイがダメダメ
991デフォルトの名無しさん:04/09/18 02:26:10
>>989
どこの話してるのよ。
新スレの話をしてるんだが。<AA
992デフォルトの名無しさん:04/09/18 02:26:58
993デフォルトの名無しさん:04/09/18 02:35:14
これでスカッと

ATL/WTL Part3
http://pc5.2ch.net/test/read.cgi/tech/1095442366/
994989:04/09/18 02:36:39
>>991
なるほど。赤っ恥かいた・・・。
995デフォルトの名無しさん:04/09/18 02:37:03
1000!
996デフォルトの名無しさん:04/09/18 02:46:35
>>993

乙。すっきりした
997デフォルトの名無しさん:04/09/18 19:45:37
997
998デフォルトの名無しさん:04/09/18 20:44:53
WTL7.1落として入れてみたが
プロジェクト作ってソース見た時点で寒気がして
速攻アンインストールした

CWindowImplって...(気持ち悪すぎ
普通にCWindowImplementだろ
999デフォルトの名無しさん:04/09/18 20:50:37
どっかで見たレスだな
1000?
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。