ATL/WTL Part6
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん
2007/12/27(木) 21:19:13WTL配布元
http://wtl.sourceforge.net/
過去ログ
■(Part1) ATL/WTL
http://piza.2ch.net/test/read.cgi/tech/978029639/l50
■(Part2-1) ATL 相談室
http://pc5.2ch.net/test/read.cgi/tech/1029029882/l50
■(Part2-2) WTLお勉強スレッド
http://pc5.2ch.net/test/read.cgi/tech/1078150663/l50
■ATL/WTL Part3
http://pc8.2ch.net/test/read.cgi/tech/1095442366/l50
■ATL/WTL Part4
http://pc8.2ch.net/test/read.cgi/tech/1134388951/l50
■ATL/WTL Part5
http://pc11.2ch.net/test/read.cgi/tech/1155951708/
0002デフォルトの名無しさん
2007/12/27(木) 21:20:10■The So-Software Studio
ttp://home.att.ne.jp/banana/akatsuki/
■WTL研究所
ttp://homepage1.nifty.com/Roy_/Software/WTL/WTL.htm
■WTL support list
ttp://tech.groups.yahoo.com/group/wtl/
■The Code Project - ATL, WTL
ttp://www.codeproject.com/KB/atl/
ttp://www.codeproject.com/KB/wtl/
■viksoe
ttp://www.viksoe.dk/code/
■MSDN
ttp://msdn2.microsoft.com/ja-jp/library/t9adwcde.aspx
ttp://www.microsoft.com/japan/msdn/vs_previous/visualc/techmat/feature/ATLwindowing/
ttp://www.microsoft.com/japan/msdn/library/ja/vccore/html/_atl_ATL_Window_Classes.asp
■Virtual Truth Lab.
ttp://lamoo.s53.xrea.com/develop/
■日曜プログラマの仕事べや
ttp://hp.vector.co.jp/authors/VA022575/c/
0003デフォルトの名無しさん
2007/12/27(木) 21:26:540004デフォルトの名無しさん
2007/12/27(木) 21:32:230005デフォルトの名無しさん
2007/12/27(木) 21:58:48乙
テンプレ細かいところがさりげなく整理されてるね
0006デフォルトの名無しさん
2007/12/27(木) 23:25:49atldlgs.hをいじってる模様。
CDialogBaseUnitsというクラスが追加されてる。
0007デフォルトの名無しさん
2007/12/27(木) 23:47:15CWにみしらてにもせりとかもWTL側で作ってしまえば。
EEとかでもヘッダ持ってくるだけで使えるんじゃないの?
0008デフォルトの名無しさん
2007/12/28(金) 01:17:03オジサン、ついていけないよ(´・ω・`)
0009デフォルトの名無しさん
2007/12/28(金) 02:33:49upよろ
0010デフォルトの名無しさん
2007/12/28(金) 20:56:04遅ればせながら
>>1
乙
0011デフォルトの名無しさん
2007/12/29(土) 21:22:420012デフォルトの名無しさん
2007/12/29(土) 23:39:020013デフォルトの名無しさん
2007/12/30(日) 00:15:540014デフォルトの名無しさん
2007/12/30(日) 10:37:230015デフォルトの名無しさん
2007/12/30(日) 13:05:550016デフォルトの名無しさん
2008/01/01(火) 06:16:180017デフォルトの名無しさん
2008/01/01(火) 23:00:24ttp://www.geocities.co.jp/Playtown-Dice/6771/hokusai.jpg
江戸時代のオナホ・ディルド
ttp://hugo-sb.way-nifty.com/hugo_sb/imgs0411/adult_toys.jpg
0018デフォルトの名無しさん
2008/01/03(木) 16:16:28覚えようにも本とか出てないんだよなぁ
0019デフォルトの名無しさん
2008/01/03(木) 18:02:08とりあえずSo-SoとCodeProjectあたりをどぞー。
0020デフォルトの名無しさん
2008/01/03(木) 18:52:590021デフォルトの名無しさん
2008/01/03(木) 19:43:290022デフォルトの名無しさん
2008/01/04(金) 15:22:05バイナリサイズが小さくなるんでしょうか?
似たクラスが多いんで、そんなに変わらないような気がするのと、
ヘッダに全て記述することや、インライン・テンプレート化に
そこまでの効果があるようには思えないですし…。
0023デフォルトの名無しさん
2008/01/04(金) 15:31:58WTLの全てのコード量を超えると思われる
0024デフォルトの名無しさん
2008/01/04(金) 15:34:42本当にMFCのコードなりクラスツリーなり見たか?
あれを見れば「WTLとそんなに変わらない」なんて言えないと思うんだが。
002522
2008/01/04(金) 17:17:18>>24
すいません。MFCはコードを深く読んだことないです。
でも、クラスツリーというレベルでいうと、MSDNでざっとは目を
通してはいます。
ちなみに、スタティックリンクって、"アプリ側で使用していない
オブジェクトコード(未使用クラス等)はリンク時に除かれて、
バイナリコードに含まれない"と認識してるんですが、
合ってますでしょうか?
0026デフォルトの名無しさん
2008/01/04(金) 18:23:51俺様用・しおり
∧_∧
( ・∀・)< 今日はここまで読んだ
−−−−−−−−−−−−−−−−−−−−−−−−−−
0027デフォルトの名無しさん
2008/01/04(金) 19:25:37そんなに変わらない気がするだの効果があるように思えないだの、ごたごた言うまえに
自分で試せば一発で分かる話じゃないの?
WTLのウィザードでスケルトンをビルドしてexeのファイルサイズを比較するなり
mapファイル出力して覗いてみるなりすればいいだけだと思うが。
0029デフォルトの名無しさん
2008/01/04(金) 22:44:22テンプレートの仕組みさえわかれば、なんてことないと思うけどなあ
003028
2008/01/05(土) 00:47:11MFCの場合、mapファイル内で大量の依存クラス(Array・
Exception・Thread・CmdTarget等)の呼び出し(nafxcw:*.obj)
が行われるのがサイズが肥大する原因のようです。
対してWTLはウィザードで生成された*.objからしか呼び出しが
行われていないので、圧倒的にサイズが小さくなると…。
>>28
テンプレートの仕組み(コンパイル時に展開)は、頭では
理解してたつもりだったのに…orz。
0031デフォルトの名無しさん
2008/01/05(土) 15:15:310032デフォルトの名無しさん
2008/01/06(日) 22:08:49http://wtl.svn.sourceforge.net/viewvc/wtl/trunk/wtl/include/atldwm.h?revision=356&view=markup
0033デフォルトの名無しさん
2008/01/06(日) 23:29:170034デフォルトの名無しさん
2008/01/06(日) 23:45:23OnIdleイベントハンドラを使う方法ってあります?
0035デフォルトの名無しさん
2008/01/06(日) 23:46:540036デフォルトの名無しさん
2008/01/07(月) 06:13:06モーダルダイアログってありますが、アプリケーション全体でモーダルなダイアログが
作れなくて困ってます。
イメージとしては、タスクトレイから複数のウィンドウが開けるんだけど、
設定ダイアログを開くと、どのウィンドウをクリックしても、
タスクトレイを右クリックしても警告音?がして、
設定ダイアログがTopにくる感じです。
なんかいい方法があったら教えてください。
0037デフォルトの名無しさん
2008/01/07(月) 06:53:440038デフォルトの名無しさん
2008/01/08(火) 18:38:533.0以降をてにいれるにはVSを買うしかないのかなぁ
0039デフォルトの名無しさん
2008/01/08(火) 19:42:150040デフォルトの名無しさん
2008/01/08(火) 20:01:01それは3.0
0041デフォルトの名無しさん
2008/01/08(火) 23:08:45思わずインストールして確認しちまったじゃねぇか
build 6001.17121にちゃんとatlfile.hも入ってたわ
0042デフォルトの名無しさん
2008/01/15(火) 12:39:520043デフォルトの名無しさん
2008/01/15(火) 13:03:38分かりやすい例をあげると、_ModuleなしでSplitterWindowとか使ってみ?落ちるから。
詳しくはヘッダ参照。
0044デフォルトの名無しさん
2008/01/15(火) 20:07:06>詳しくはヘッダ参照。
WTLを使う時はこれが冗談じゃなくなるから困るw
0045デフォルトの名無しさん
2008/01/15(火) 21:49:350046デフォルトの名無しさん
2008/01/16(水) 11:16:180047デフォルトの名無しさん
2008/01/16(水) 15:34:030048デフォルトの名無しさん
2008/01/16(水) 15:53:370049デフォルトの名無しさん
2008/01/16(水) 17:22:17CStringW → WTL
0050デフォルトの名無しさん
2008/01/16(水) 18:07:030051デフォルトの名無しさん
2008/01/17(木) 02:27:29前試したら動かなかったんだが。
0052デフォルトの名無しさん
2008/01/17(木) 02:37:570053デフォルトの名無しさん
2008/01/17(木) 14:13:180054デフォルトの名無しさん
2008/01/17(木) 16:12:100055デフォルトの名無しさん
2008/01/17(木) 16:27:400056デフォルトの名無しさん
2008/01/17(木) 23:24:540057デフォルトの名無しさん
2008/01/19(土) 18:39:48こんなかんじで
MSG_WM_SYSCOMMAND(OnSysCommand);
void OnSysCommand(UINT nID, CPoint point);
なんですけど
void CMainWindow::OnSysCommand(UINT nID, CPoint point)
{
if(nID == SC_MAXIMIZE)
{
// 最大化ボタンなら無視する。
return;
}
}
と書くと最大化ボタン以外も無視されるわけです。
ほかのボタンの場合通常の処理へ戻すにはどう書けばいいんでしょうか?
0058デフォルトの名無しさん
2008/01/19(土) 18:44:47so-soあたりで CWindowImplのメッセージ処理の基本を勉強した方が良いと思う
0059デフォルトの名無しさん
2008/01/19(土) 19:23:38ありがとん。
0060デフォルトの名無しさん
2008/01/19(土) 19:47:370061デフォルトの名無しさん
2008/01/19(土) 20:30:30.く /:::!::::i:::!:::ヽ:::ヽ::::::ヽ::ヽ、::::::::::\:::ヽ:::::::ヽヽ::::::', 目
な. /:l::::!::::ヽ!::ヽ:::::::ヽ:::::::\:::ヽ、::::::::ヽ:::ヽ::::::::!::i:::::::! だ
ん ハ:::l:::::、::::ヽ::::\:::::\:::::::\:::`ヽ、:::ヽ::ヽ:::::!:::!:::::l
と /:::::::l::::::!ヽ:ヽ::::、:::::ヽ:::、:\::::: \::::::\::::!::::ヽ:!:::i:::l:l こ
か !:/!:::::!::::::!::ヽ:ヽ{:::\:::ヽ::::\:::\::ヽ:::::::ヽ!:::::::}!::::l::li| い
し j/:::l:::::!:、:::!::ト、:、:ヽ:::::`ヽ{、::::::\::::\{、::::::::::::::::i::!::l:l ! つ
な l:i:l::::i::i:、:l::lテ=-、:ヽ、_、::\_,≧ェュ、_、\:::::::::i::li::!::リ :
い !ハト:{:!:i:トN{、ヒ_ラヘ、{ >、{ 'イ ヒ_ラ 》\::l::!:ト!!:l::l! :
と ヽ i、ヽ:ト{、ヾ ̄"´ l!\ `" ̄"´ |::!:l::! j:ll:!
: !::、::::i l u |:::/lj/l:!リ
: ヾト、:!u j!/ j|:::リ
ヾ! ヽ ‐ u /イ´lハ/
}ト.、 -、ー-- 、__ /' !:://
リl::l゛、 `二¨´ / |/:/
rー''"´ト!::i{\ / / !:/
/ ^ヽ ヾ! ヽ _,,、'´ / j/
0062デフォルトの名無しさん
2008/01/19(土) 20:33:320063デフォルトの名無しさん
2008/01/19(土) 20:42:250064デフォルトの名無しさん
2008/01/19(土) 21:44:530065デフォルトの名無しさん
2008/01/19(土) 22:08:280066デフォルトの名無しさん
2008/01/22(火) 23:38:24なんかいろいろショック受けた
0067デフォルトの名無しさん
2008/01/22(火) 23:47:370068デフォルトの名無しさん
2008/01/23(水) 08:45:480069デフォルトの名無しさん
2008/01/23(水) 20:01:41もう6年前になるのか
0070デフォルトの名無しさん
2008/01/23(水) 20:46:010071デフォルトの名無しさん
2008/01/24(木) 00:26:27常にネイティブC++一本で行けば万事解決な訳ない。
0072デフォルトの名無しさん
2008/01/24(木) 17:18:53C#でもperlでもjavaでもアセンブラでも
何でも使うよ、要求があれば
一度も使ったことなかったけどそれで覚えた言語とか結構あるしpythonとかphpとか
でも、一番泣けたのは2003年にvb5で作って欲しいといわれた事・・・
0073デフォルトの名無しさん
2008/01/24(木) 19:15:51その案件はこのスレはともかく、VBスレの住人ですら泣きそうだな
0074デフォルトの名無しさん
2008/01/25(金) 15:21:55開発環境が自社になくて、客から開発環境インストール済みPCを借りて開発した
ベースをこっちで作ってメンテはお客さんがやるという形だったから
担当者が使える言語という事でVB5が選ばれたんだけどね
せめてVB6だったら良かったが・・・
0075デフォルトの名無しさん
2008/01/26(土) 04:44:170076デフォルトの名無しさん
2008/01/30(水) 18:39:340077デフォルトの名無しさん
2008/01/30(水) 18:44:280078デフォルトの名無しさん
2008/01/30(水) 18:46:210079デフォルトの名無しさん
2008/01/31(木) 00:07:33_ATL_CUSTOM_THROWで独自の例外をthrowする処理に入れ替えると
m9(^Д^)プギャーーーッでは。
0080デフォルトの名無しさん
2008/01/31(木) 00:18:15普通に例外投げれたりする。
0081デフォルトの名無しさん
2008/01/31(木) 08:49:226箇所くらいあるよな。
0082デフォルトの名無しさん
2008/01/31(木) 14:56:57エラーでまくりで、ためしにVC2005でATLプロジェクト作ってみたら
作成されるソースがまったく違ったんですが
古いプロジェクトをコンパイルするのに何か言い方法は
ありませんでしょうか?
0083デフォルトの名無しさん
2008/01/31(木) 19:59:250084デフォルトの名無しさん
2008/02/03(日) 10:51:33http://www.computerworld.jp/news/sec/97289.html
> Howard氏によると、新しいAPIは多くの開発者、なかでもATL(Active Template Library)の旧バージョンを使っている開発者向けのもので、アプリケーションからDEPを呼び出すことを可能にするという。
>
> より具体的には、同APIを用いることで、アプリケーションが起動中であってもDEPを有効にすることが可能になるという。従来は、DEPを使ってアプリケーションを保護するかどうかを前もって決めておく必要があった。
>
> 「開発者がATLの旧バージョンを使っている場合でも、DEPによるアプリケーション保護が可能になる。DEPは、脆弱性を突く攻撃を防ぐ優れた技術であるため、われわれは開発者がこの技術をより簡単に使えるようにした」(Howard氏)
0085デフォルトの名無しさん
2008/02/03(日) 11:35:00Window制御にマシン語(thunk?)を使ってるからですか?
0086デフォルトの名無しさん
2008/02/03(日) 14:43:37動的に確保したメモリ上に、クラスの各オブジェクトへのメンバ関数に飛ぶコードを構築して、それをウインドウプロシージャにしている。
メモリを実行可能に設定してなかったんじゃない。
WindowsはDEPの例外をトラップして、ATLによって構築されたっぽいコードを検地した場合は、特別に処理している。
速度を考えた設計が、今は逆に遅くなっているわけだよね。
そんなことするぐらいだったら、mapでも使ったほうがどれほど早いか。
0087デフォルトの名無しさん
2008/02/03(日) 17:00:560088デフォルトの名無しさん
2008/02/03(日) 19:04:07いまさら使わなくなる事はないんじゃない。
0089デフォルトの名無しさん
2008/02/03(日) 19:05:28というか、旧ATLはふつーにLocalAllocだからねぇ。
0090デフォルトの名無しさん
2008/02/07(木) 00:16:38ってことはATLで構築されたっぽい○ウェアを書けばおけ?
0091デフォルトの名無しさん
2008/02/07(木) 07:02:190092デフォルトの名無しさん
2008/02/07(木) 19:03:12http://www.radiumsoftware.com/0406.html#040625
Compatibility (2)
0093デフォルトの名無しさん
2008/02/19(火) 19:42:090094デフォルトの名無しさん
2008/02/19(火) 19:51:100095デフォルトの名無しさん
2008/02/19(火) 21:00:21そうじゃないと日本語化されないし
まあ個人でしてくれてる人いるけど
0096デフォルトの名無しさん
2008/02/21(木) 18:54:16を継承して
DoPaintで描画しているのですが、
ウィンドウが最初に表示されるときに
描画がされないのですが、なぜなのでしょうか?
0097デフォルトの名無しさん
2008/02/25(月) 00:19:190098デフォルトの名無しさん
2008/02/25(月) 18:14:04まずWinAPIやってからATL/WTL行こう…
0099デフォルトの名無しさん
2008/02/25(月) 21:16:050100デフォルトの名無しさん
2008/02/25(月) 21:17:52ごめんなさい
プロバイダのせいか特定サイト見てると回線がぶっつりいってしまって要モデム再起動になるんです
あそこもそれに引っかかってるようでorz
Wikiもたまにそうなりますしちょっとプロバイダの変更でも検討しときます
0101デフォルトの名無しさん
2008/02/25(月) 21:27:55CATVか
0102デフォルトの名無しさん
2008/02/25(月) 21:43:14そんなことで謝らんでもいいわい。
なんか面倒なんだな。
0103デフォルトの名無しさん
2008/02/26(火) 00:34:210104デフォルトの名無しさん
2008/02/26(火) 00:44:00普通のサイトも然り、条件は何年も使っててさっぱりわからん
0105デフォルトの名無しさん
2008/02/26(火) 21:15:20ダイアログのボタンIDOKをDisabled = FalseからTrueにしたいんですが
WTL::Button idok = GetDlgItem( IDOK );
までは出来たのですがここから先が分かりません。
分かる方おしえていただけますか?
0106デフォルトの名無しさん
2008/02/26(火) 21:20:49でなくて?
0107デフォルトの名無しさん
2008/02/26(火) 21:21:05idok.EnableWindow();
http://msdn2.microsoft.com/ja-jp/library/5a6y4t2b(VS.80).aspx
0108デフォルトの名無しさん
2008/02/26(火) 21:44:02おかげで無事出来ました。ありがとうございます。
010996
2008/02/28(木) 20:40:33CPaintDC使ってたのが原因みたいでした。
CClientDCに変更したら直りました。
0110デフォルトの名無しさん
2008/02/28(木) 22:22:08がっつりWinAPIをやった後それを使わずATL/WTLに進むのはやはり開発効率の違うですか?
0111デフォルトの名無しさん
2008/02/28(木) 22:46:020112デフォルトの名無しさん
2008/02/29(金) 00:04:32ATLの入ってない無料版を渡されたんだろ?
0114デフォルトの名無しさん
2008/02/29(金) 00:33:460115デフォルトの名無しさん
2008/02/29(金) 04:20:27WinAPI知ってれば想像がつくので楽
0116デフォルトの名無しさん
2008/02/29(金) 08:30:27最新のPlatformSDKに移行したら
それまで使ってたATL,MFC,Boost等
のlibに影響出ますか?(リビルドが必要?
$(VCInstallDir)PlatformSDK\include\prerelease
$(VCInstallDir)PlatformSDK\include
0118デフォルトの名無しさん
2008/03/15(土) 21:39:17フリー&一番新しいバージョンとなると、この組み合わせであってる?
Visual C++ 2005 Express Edition (with SP1)
Microsoft Windows Server 2003 R2 Platform SDK
WTL 8.0
0119デフォルトの名無しさん
2008/03/15(土) 22:54:270120デフォルトの名無しさん
2008/03/16(日) 10:07:43自分で8.0を9.0に書き換えれば良いだけだけどな
0122デフォルトの名無しさん
2008/03/18(火) 08:44:360123デフォルトの名無しさん
2008/03/18(火) 09:55:260124デフォルトの名無しさん
2008/03/18(火) 11:58:470125デフォルトの名無しさん
2008/03/18(火) 13:37:17これにATL入ってたような
古いけど
MSからのリンクは切れてるけどページ自体は残ってて
ググるとMSのdownloadページが見つかったような気がする
うろ憶え・・・
0126デフォルトの名無しさん
2008/03/18(火) 18:44:52そこからファイルコピーなんて考えませんよ、DreamSpark待ちですから。
0127デフォルトの名無しさん
2008/03/18(火) 21:50:29Using WTL with Visual C++ 2005 Express Edition
ttp://www.codeproject.com/KB/wtl/WTLExpress.aspx
0128デフォルトの名無しさん
2008/03/18(火) 22:02:110129デフォルトの名無しさん
2008/03/20(木) 19:54:14やりたいことは、エディット不可(READONLY)にしておいて、背景色は白にしておきたいだけなのですが。
0130デフォルトの名無しさん
2008/03/20(木) 20:17:40MSG_OCM_CTLCOLORSTATICとかREFLECT_NOTIFICATIONSとか・・・
せっかくスレ主が参考になるサイトのURL貼ってくれてるんだから、自分で調べてから書きこしようね
0131129
2008/03/20(木) 22:56:10MSG_OCM_CTLCOLORSTATICの具体的な説明とか、どこかに載っているのでしょうか?
申し訳ないですが私には見つけられませんでした。
0132デフォルトの名無しさん
2008/03/20(木) 23:32:07↑の例ではボタンだけどCEdit継承したクラスの中で指定した色の背景のブラシハンドルを返してやればいいと思うけど
親ウインドウの中で「WM_CTRLCOLOR」を処理しても同じ様な事は出来ます。
0133デフォルトの名無しさん
2008/03/22(土) 01:25:120134デフォルトの名無しさん
2008/03/22(土) 01:42:22BEGIN_MSG_MAP(CColoredEditImpl)
MESSAGE_HANDLER(WM_NCPAINT, OnNcPaint)
MESSAGE_HANDLER(OCM_CTLCOLOREDIT, OnCtlColorEdit)
DEFAULT_REFLECTION_HANDLER()
END_MSG_MAP()
0135デフォルトの名無しさん
2008/03/22(土) 08:04:32さあ。Vista周りの新機能の早期サポート期待したいならおとなしく2008のMFC使った方がいい。
最新のソースをSvnで追っかけてるが、ほとんどviksoe先生頼みだな。
0136デフォルトの名無しさん
2008/03/22(土) 10:22:380137デフォルトの名無しさん
2008/03/22(土) 10:27:17でもログ見てると、あんまし活発じゃなさそうな気が…。
0138129
2008/03/22(土) 14:33:28質問ばかりで申し訳ありませんが、お助け願います。
>>132
これを参考に背景色を変更することが出来ました。
MSG_OCM_CTLCOLOREDIT(OnCtlColorEdit)でメッセージを受けて、
変更したい背景色のブラシを返すようにしました。
しかしエディットボックスをREADONLYにすると、変更出来なくなりました。
CTRCOLOREDITをCTLCOLOR_STATICにしても同じでした。
何が行けないのでしょうか?
0139129
2008/03/22(土) 19:53:04CEditの継承の仕方が間違っていました…。
0140デフォルトの名無しさん
2008/04/04(金) 09:41:23ってのが出るんですが、これは一体何のエラーでしょうか。
あと、別のプロジェクトでは
fatal error RC1015: cannot open include file 'atlres.h'.
ってのが出てきて、これもコンパイルできません。
0141デフォルトの名無しさん
2008/04/04(金) 10:18:250142ヽ・´∀`・,,)っ━━━━━━┓
2008/04/04(金) 12:14:04あとstdafx.hにこれ入れておけ
#define _WIN32_WINNT 0x0600
0143デフォルトの名無しさん
2008/04/04(金) 20:53:330144デフォルトの名無しさん
2008/04/05(土) 13:35:410145デフォルトの名無しさん
2008/04/05(土) 23:37:070146デフォルトの名無しさん
2008/04/06(日) 06:40:070147デフォルトの名無しさん
2008/04/06(日) 06:52:41推論思考に先天的な欠陥を抱えているとか色々可能性があるから
全く触らないならばまだしも弄るのは良くないと思うよ。
0148デフォルトの名無しさん
2008/04/06(日) 07:31:050149ヽ・´∀`・,,)っ━━━━━━┓
2008/04/06(日) 12:55:390150デフォルトの名無しさん
2008/04/06(日) 14:13:100151ヽ・´∀`・,,)っ━━━━━━┓
2008/04/06(日) 17:39:270152デフォルトの名無しさん
2008/04/06(日) 17:42:09ATLの不要なものだけコピペして使ってもいいの?
0153ヽ・´∀`・,,)っ━━━━━━┓
2008/04/06(日) 17:54:540154デフォルトの名無しさん
2008/04/06(日) 18:27:430155デフォルトの名無しさん
2008/04/06(日) 19:47:530156デフォルトの名無しさん
2008/04/06(日) 20:35:460157デフォルトの名無しさん
2008/04/12(土) 16:43:580158ヽ・´∀`・,,)っ━━━━━━┓
2008/04/12(土) 17:50:070159デフォルトの名無しさん
2008/04/12(土) 21:13:41二つの64ビット値をビット毎に包含演算した結果を返す
0160デフォルトの名無しさん
2008/04/12(土) 23:27:03159 すげーな
0161デフォルトの名無しさん
2008/04/13(日) 13:44:55どっかにATLだけ単体で落っこちてないかな
0162ヽ・´∀`・,,)っ━━━━━━┓
2008/04/13(日) 13:53:20たしかDDKに3.xのヘッダが付いてた。
てかStdくらいけちるなよ。
実はアップグレードでおkなので実質2万
0163デフォルトの名無しさん
2008/04/13(日) 13:57:07Platform SDK
http://www.microsoft.com/downloads/details.aspx?FamilyId=0BAF2B35-C656-4969-ACE8-E4C0C0716ADB
0164デフォルトの名無しさん
2008/04/14(月) 02:04:50http://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=30239
0165デフォルトの名無しさん
2008/04/17(木) 15:42:190166ヽ・´∀`・,,)っ━━━━━━┓
2008/04/17(木) 16:40:220167デフォルトの名無しさん
2008/04/17(木) 22:48:490168デフォルトの名無しさん
2008/04/18(金) 00:07:02ありがとう。
0169デフォルトの名無しさん
2008/04/18(金) 19:59:56error C3861: 'CA2W': 識別子が見つかりませんでした
って怒られる.include フォルダ見たけど,これは WTL8.0 には無いよね?
ATL7.0 以降みたいなんだけど,これはどこかで手に入るの?製品版?
Window2000
Visual C++ 2005 express edition
Microsoft Platform SDK for Windows Server 2003 R2
0170デフォルトの名無しさん
2008/04/18(金) 20:06:110171デフォルトの名無しさん
2008/04/18(金) 21:23:45Visual Studio 2005 Professional Edition 90 日間評価版
てのをちょっと入れてみます.
0172デフォルトの名無しさん
2008/04/18(金) 22:05:440173デフォルトの名無しさん
2008/04/19(土) 01:01:34Windows Server 2003 SP1 DDK ダウンロードしてみたけど ATL3.0 だった (´・ω・`)
評価版まだ落ちてこない…
0174デフォルトの名無しさん
2008/04/19(土) 08:19:05内の環境では
C:\WinDDK\6001.17121\inc\crt\atl71
に入ってる
0175ヽ・´∀`・,,)っ━━━━━━┓
2008/04/24(木) 19:04:04Vista完全対応はあきらめるしかないのか?
0176デフォルトの名無しさん
2008/04/24(木) 21:51:440177デフォルトの名無しさん
2008/04/24(木) 21:53:05逝ってくる
0178デフォルトの名無しさん
2008/04/25(金) 00:09:38本家もそうだしviksoe.dkもSoさんとこも最近は。
0179デフォルトの名無しさん
2008/05/04(日) 22:56:22::CreateWindow(..., CW_USEDEFAULT, CW_USEDEFAULT, w, h, ...)
と同等のことやりたい場合、RECTはどう設定すれば良いですか?
単純に{ CW_USEDEFAULT, CW_USEDEFAULT, w, h }と設定した場合、
うまく反映されないようです(非常に小さなウィンドウが出ます)
0180179
2008/05/04(日) 22:58:28要は幅、高さのみ指定でウィンドウ位置は
システムデフォルトにしたかっただけです。
どうかご指導いただければ幸いです。
0181ヽ・´∀`・,,)っ━━━━━━┓
2008/05/04(日) 23:11:280182デフォルトの名無しさん
2008/05/04(日) 23:14:14rc.right = rc.left + w;
rc.bottom = rc.top + h;
Create(NULL, rc);
俺はこうしてるが、正解かどうかは知らん
0183デフォルトの名無しさん
2008/05/04(日) 23:19:180184デフォルトの名無しさん
2008/05/04(日) 23:23:02{ CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT + w, CW_USEDEFAULT + h }
にしたらいいんじゃね?
0185デフォルトの名無しさん
2008/05/04(日) 23:30:42というのは如何
0187デフォルトの名無しさん
2008/05/23(金) 03:54:44WS_CLIPCHILDRENを指定してないんだ?
ツールバーがちらつくじゃん。
まぁ、付ければいいんだけどさあ。
0188デフォルトの名無しさん
2008/05/23(金) 06:55:210189デフォルトの名無しさん
2008/05/23(金) 13:47:03MSの方針で、知らん奴はリサイズで点滅するアプリ作っとけって事だろうな。
0190デフォルトの名無しさん
2008/05/23(金) 20:47:02それどこのことよ
うちのはSvn最新だけど
0191デフォルトの名無しさん
2008/05/23(金) 22:50:28適用されてWS_CLIPCHILDRENで作成されるはずだが。
0192デフォルトの名無しさん
2008/06/02(月) 22:30:53表示しているHTMLにTABを押しても次のコントロールへ移動してくれません。
対応するにはどうしたらよいでしょうか?
0193デフォルトの名無しさん
2008/06/03(火) 01:38:09最後のリンクまできたら次のコントロールに移動するんじゃなかったっけ
0194デフォルトの名無しさん
2008/06/06(金) 09:59:15シングルとアパートメントの違いってなんですか?
両方ともSTAですよね。
シングルはCOM初期化のプライマリスレッドでのみ実行されるとあるので、
アパートメントの方は、プライマリスレッド以外に作られるのかと思いました。
でも、両者のウィザードが生成するコードに違いが見あたりません。
FinalContruct()で、GetCurrentThreadId()を呼んで、スレッドIDを見ましたが、
両方ともプライマリスレッドのIDでした。
違いはあるんでしょうか?
0195デフォルトの名無しさん
2008/06/06(金) 19:56:04メッセージキューを利用してマーシャリングされて呼ばれる事になるが、
シングルの場合は、作成したスレッド以外からの呼び出しは不可。
ただし、アパートメントの場合マーシャリング時は引数の生存期間が変わってくるため、
それを意識した実装をしておく必要がある。
って感じでいいんだっけ?
0196ヽ・´∀`・,,)っ━━━━━━┓
2008/06/06(金) 20:05:050197デフォルトの名無しさん
2008/06/06(金) 20:06:140198デフォルトの名無しさん
2008/06/06(金) 20:17:070199デフォルトの名無しさん
2008/06/06(金) 20:58:50シングルは一番最初に作られたSTA(メインSTA)にしか属せない。
アパートメントはどのSTAにも属せる。
クラスの静的メンバのようなインスタンス間で共有されるデータに対して
排他制御が必要かどうかという違いのはず。
http://msdn.microsoft.com/en-us/library/ms681753(VS.85).aspx
0200194
2008/06/07(土) 22:51:46クライアントから作ることはできないのかな。
0201デフォルトの名無しさん
2008/06/09(月) 17:38:30VS2008+WTL8.0でビルドし直したら、ビジュアルスタイルが
適用されないんだけど、何が原因だろう?
埋め込まれているマニフェストを確認すると、ちゃんと
Microsoft.Windows.Common-Controlsの項目が入っているんだが。
0202ヽ・´∀`・,,)っ━━━━━━┓
2008/06/09(月) 19:28:49こういうやつ
#if defined _M_IX86
#pragma comment(linker, "/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='x86' publicKeyToken='31BF3856AD364E35' language='*'\"")
#elif defined _M_IA64
#pragma comment(linker, "/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='ia64' publicKeyToken='31BF3856AD364E35' language='*'\"")
#elif defined _M_X64
#pragma comment(linker, "/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='amd64' publicKeyToken=publicKeyToken='31BF3856AD364E35'language='*'\"")
#else
#pragma comment(linker, "/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='*' publicKeyToken='31BF3856AD364E35' language='*'\"")
#endif
とりあえず空でWTLプロジェクト作ってstdafx.hの該当行コピれ。
0203デフォルトの名無しさん
2008/06/09(月) 19:47:30まだまだ、ActiveX多いし。
0204ヽ・´∀`・,,)っ━━━━━━┓
2008/06/09(月) 19:55:46たいがいやわ
0205デフォルトの名無しさん
2008/06/09(月) 20:10:57いや、それは自分で書いて追加してあるんだけど、駄目だった。
理由は分からないが、一応自己解決。
プロパティマネージャから「Upgrade From VC 7.1」を削除したら
何故かビジュアルスタイルが適用された。
その後、再現しようと思って古いプロジェクトファイルからもう一度
自動変換させたら、Upgrade From VC 7.1があっても適用される。
わけがわからんw
途中で一度PCを再起動したから、その影響?
Vistaだとマニフェストがキャッシュされるとかいう話があるから、
それが悪さしてたのかな?
0206デフォルトの名無しさん
2008/06/16(月) 14:36:36MFCのUPDATE_COMMAND_UI
のような機能はあるのでしょうか?
EnableButtonだけではダメでした・・・
0207206
2008/06/16(月) 16:27:35UPDATE_ELEMENT(ID_TEST, UPDUI_MENUPOPUP|UPDUI_TOOLBAR)
OnIdleで
UIEnable(ID_TEST,FALSE);
で出来ました。
0208デフォルトの名無しさん
2008/06/16(月) 17:45:380209デフォルトの名無しさん
2008/06/16(月) 19:46:530210デフォルトの名無しさん
2008/06/17(火) 00:24:09どうすればできますか?
SetButtonInfoを試してみたのですが、
GetButtonInfoが失敗して撃沈。
TBUTTON系のAPIが失敗するのも妙
何でだろ・・・
0211210
2008/06/17(火) 17:31:18を追加
UISetCheck
で変更でできました。
0212デフォルトの名無しさん
2008/06/17(火) 17:47:470213デフォルトの名無しさん
2008/06/17(火) 22:20:210214デフォルトの名無しさん
2008/06/17(火) 22:30:440215デフォルトの名無しさん
2008/06/18(水) 02:09:410216デフォルトの名無しさん
2008/06/18(水) 09:22:30で、このオチだと泣けるよな。
0217デフォルトの名無しさん
2008/06/19(木) 00:25:48WTLヲワタ
0218デフォルトの名無しさん
2008/06/19(木) 01:12:28エグイぷらぷら?
イヤン
0219デフォルトの名無しさん
2008/06/19(木) 02:43:14ポータブルじゃないのに、
わざわざまったく異なる思想のコードを書きたいとは思わんし、
あと、識別子の命名がやたらに省略しててキモい。
つーか今どきstd::stringを使っていて、
しかもWindowsネイティブ限定とか、ふざけているとしか思えん。
0220ヽ・´∀`・,,)っ━━━━━━┓
2008/06/19(木) 13:18:00ATLはともかく
0221デフォルトの名無しさん
2008/06/19(木) 14:46:43一応、こんな記述になっているようだが。
#include <string>
#ifdef UNICODE
typedef std::wstring string;
#else
typedef std::string string;
#endif
0222ヽ・´∀`・,,)っ━━━━━━┓
2008/06/19(木) 18:33:19_tstringよかマシだが
0223デフォルトの名無しさん
2008/06/19(木) 19:30:00なんじゃそりゃ。
ひでぇな。
0224デフォルトの名無しさん
2008/06/19(木) 20:47:160225デフォルトの名無しさん
2008/06/19(木) 20:56:110226ヽ・´∀`・,,)っ━━━━━━┓
2008/06/19(木) 21:11:49ANSIとUNICODEの変換が楽すぎる
0227デフォルトの名無しさん
2008/06/19(木) 21:32:47テンプレートベースになって、明示的にCStringAとCStringWが使い分けられるのが最強すぎる。
0228デフォルトの名無しさん
2008/06/19(木) 22:59:02VC++6時代と同じ使い方しかしてなかった。
このスレ見てて良かった。
0229デフォルトの名無しさん
2008/06/19(木) 23:18:28MFC/ATL/WTLって手抜きだよな
0230デフォルトの名無しさん
2008/06/19(木) 23:48:00CStringも他のウィンドウ関連のAPIも
たまにANSIとUNICODE両方用意して欲しいと思うことがある
0231デフォルトの名無しさん
2008/06/20(金) 06:53:260232デフォルトの名無しさん
2008/06/20(金) 07:54:270233デフォルトの名無しさん
2008/06/20(金) 08:24:23eGUI++の愚痴は作者の掲示板で。
0234ヽ・´∀`・,,)っ━━━━━━┓
2008/06/20(金) 08:32:40あるじゃん。
ま、ATL::CStringのほうが便利だな。
ATLに依存しないコピー実装もCode Projectあたりにあったと思うが。
0235デフォルトの名無しさん
2008/06/20(金) 08:42:05なかったはず。おかげで例外に文字列渡すときは、いちいちW->A変換してる。
0237ヽ・´∀`・,,)っ━━━━━━┓
2008/06/21(土) 22:32:00これマジでおすすめ
http://www.codeproject.com/KB/string/stringwa.aspx
0238デフォルトの名無しさん
2008/06/21(土) 22:55:47メソッドなりのインタフェースが基本的にTCHARベースしかないのが
アレだって話じゃねーの
APIはCリンケージだからWとAの二つがあってマクロで切り替えだが
明示的に指定することも常に可能
WTLはC++だからオーバーロードが本当はベストだけど
TCHAR版の「一つ」しかない点でCのAPIにすら劣るよなって話
0239ヽ・´∀`・,,)っ━━━━━━┓
2008/06/21(土) 23:15:26多くは求めない方が良いかと
0240デフォルトの名無しさん
2008/06/21(土) 23:19:13必要なとこだけAPI直呼びすりゃいいんじゃねーの? でまかり通りそうだがな。
0241デフォルトの名無しさん
2008/06/21(土) 23:27:57いや、テンプレートで型パラメータ化しろって言ってんじゃないよ
「オーバーロード」だぞ?
いつからあると思ってんだよ
0242デフォルトの名無しさん
2008/06/21(土) 23:36:50まあMSLU使えば、それなりに何とかできるかもしれんが。
0243デフォルトの名無しさん
2008/06/21(土) 23:53:01TCHARオンリーは、TCHAR強要してるのと同じだろ
さもなくば-DUNICODE前提、とかいうソースになる
LPCSTR, LPCWSTRのオーバーライドがありゃ、CStringだろうがCStringWだろうが
CStringAだろうがstd::stringだろうがstd::wstringだろうが何でもそのまま使える
「正しい」ソースとしてだ
そしてAPIプログラミングならそれは可能だ
TCHARオンリーでちゃんとやりたきゃ、CA2Tとかそういう下らない変換テンプレートを
いつもいつも使うことになる
どっちがいいか、わかりきってるじゃないか
MSは単にMFCやATLを手抜きして、ユーザに手間を押し付けてるだけなんだよ
0244242
2008/06/22(日) 01:08:36その一手間を惜しむが故に、文字列絡みの全メソッドにオーバーロードを付けるのか?
それこそナンセンスじゃね?
0245デフォルトの名無しさん
2008/06/22(日) 01:14:57マイクロソフト製品のユーザ数を理解しろよ
それが「製品」であることもな
それがよくデザインされていればされていれば、皆が幸せになれる
CString()で囲むだって?
手間なだけでなく、それが必要でないとき(例えば実際にはW->W変換であるような
場合)でもコンストラクタとコピーが実行されて確実に効率が落ちるじゃないか
冗談だろ
0246デフォルトの名無しさん
2008/06/22(日) 02:30:230247ヽ・´∀`・,,)っ━━━━━━┓
2008/06/22(日) 07:29:52msdnフォーラムでぼやけ。
中の人が聞いてくれるかも知れないよ
ああWTLの場合はsf.netに参加すればコミットできるか
0248デフォルトの名無しさん
2008/06/22(日) 08:25:150249デフォルトの名無しさん
2008/06/22(日) 14:57:06WM_LBUTTONDOWNハンドラを追加するにはどうすればよいのでしょうか?
ダイアログにWM_LBUTTONDOWNを追加してみたのですが、
ツリーコントロールをクリックしても
ハンドラが呼ばれません。(その外だと呼ばれるのです)
0250ヽ・´∀`・,,)っ━━━━━━┓
2008/06/22(日) 15:03:40コントロールIDとイベントID入れて自前でハンドラ作成。
まさかWindowsプログラム自体はじめて?
0251249
2008/06/22(日) 16:03:52を追加
LRESULT OnNMClickTree1(int /*idCtrl*/, LPNMHDR pNMHDR, BOOL& /*bHandled*/);
でできました。
0252デフォルトの名無しさん
2008/06/22(日) 16:05:25じゃあ俺もそう思った
0253デフォルトの名無しさん
2008/06/22(日) 18:01:190254デフォルトの名無しさん
2008/06/22(日) 18:08:410255デフォルトの名無しさん
2008/06/24(火) 14:59:330256デフォルトの名無しさん
2008/06/24(火) 19:32:190257デフォルトの名無しさん
2008/06/25(水) 09:20:37内部的な仕組み理解せずにやってると、
リソースやメッセージポンプがEXEとDLLで違うとこを指したりして
おかしくなってはまったり。
MFCはそういう心配はあまりない。
0258デフォルトの名無しさん
2008/06/25(水) 21:42:460259デフォルトの名無しさん
2008/06/26(木) 00:28:490260デフォルトの名無しさん
2008/06/26(木) 23:34:510261デフォルトの名無しさん
2008/07/06(日) 11:37:55の様に枠のないフォームを作り、class nameを入れて
別フォームではカスタムコントロールとして上記で作ったフォームを入れれば
割合簡単に独自定義のフォームが作れると思ったのですが、
class nameを設定することが出来ません。このプロパティは一体何なのでしょうか。
やりたいことはPhotoshopの様なレイヤー管理パレットを作りたいのですが……
0262デフォルトの名無しさん
2008/07/07(月) 22:59:460263デフォルトの名無しさん
2008/07/08(火) 00:41:050264デフォルトの名無しさん
2008/07/10(木) 21:36:38ただで配布しれ。金はびた一文出したくない
0265デフォルトの名無しさん
2008/07/10(木) 23:05:230266デフォルトの名無しさん
2008/07/11(金) 20:36:24│ .↓
- - - - - - - - - - -裏- - - - - - - - - - - -
┌──────┐ ┌──────┐
│ アンパンマン ├─攻撃→│ バイキンマン │
└──────┘ └───┬──┘
↑ │
感謝・金 攻撃
│ ↓
┌─┴────────────────┐
│ 市 民 ..│
└──────────────────┘
0267デフォルトの名無しさん
2008/07/21(月) 22:35:47でもbugfixか・・・
0268デフォルトの名無しさん
2008/08/02(土) 13:14:55マルチスレッドSDIにしてCFileDialogなり自前でファイル選択ダイアログ表示させて
右クリックでコンテキストメニュー出したあとにダイアログ閉じると
プログラム終了するときになってヒープメモリのエラーが出るんだけれどどうすりゃいいんでしょう?
普通のSDIやMFCだと出ないし_CrtSetDbgFlagと_CrtCheckMemory使っても検出されない。
0269デフォルトの名無しさん
2008/08/03(日) 06:28:43うちは通常動作では問題はないけど、AppVerifierでBasicのテストをすると同様にヒープエラーが発生。
ただいま原因調査中。
ちなみに環境はVS2008Pro/WTL8.0ね。
0270デフォルトの名無しさん
2008/08/09(土) 22:27:570271デフォルトの名無しさん
2008/08/10(日) 21:59:53アクセスするには、どうするのがWTLらしい記述になりますか?
0272デフォルトの名無しさん
2008/08/11(月) 01:17:590273デフォルトの名無しさん
2008/09/20(土) 22:20:570274デフォルトの名無しさん
2008/09/20(土) 23:53:510275デフォルトの名無しさん
2008/09/21(日) 10:07:410276デフォルトの名無しさん
2008/09/21(日) 18:54:22あるなら欲しいな。
0277デフォルトの名無しさん
2008/09/21(日) 19:17:360278デフォルトの名無しさん
2008/09/21(日) 20:57:43探せばいろいろ出てきそうではあるが一例
WTL++
ttp://code.google.com/p/wtl-plus/
WTL++ is not based on MFC, ATL or WTL.
これは一人でやってるぽい?ついさっき更新されてた
0279,,・´∀`・,,)っ-○◎●
2008/09/21(日) 21:26:12クラステンプレートなんだからもっと緩いライセンスであるべきだろ
0280277
2008/09/21(日) 21:41:35サンクスです。ライセンスがGPLなのは、団子氏の指摘通りちょっと残念だけど、
ヘッダとライブラリを読むようにすれば、VC++2005EEでもビルドできるので、
完全フリーな開発が可能という点では、オープンソースプロジェクトなんかで
結構使えるかも。
0281デフォルトの名無しさん
2008/09/21(日) 22:31:12GPLうぇpおpぽあqwせdrftghyじゅきぉpwwwww
0282デフォルトの名無しさん
2008/09/21(日) 23:23:070283デフォルトの名無しさん
2008/09/25(木) 05:41:00そのページにはGPL3ってかいてるけど、
wtl.zipダウンロードして中をみると
wtlなヘッダ.h全てに
// This is a part of the Windows Template Library Plus.
// All rights reserved.
// The code and information is provided "as-is" without
// warranty of any kind, either expressed or implied.
ってあって、ちょっとみたかぎりでは同梱物にGPLのような
記述なさそうな気がする. GPLなライセンステキスト無いし
(ただ、うちの環境ではsetup.exe実行したらハングして
動かなかったので、そちらで何かライセンス表示されてたら
スマソ)
GPL3にして変更が追いついてないだけなのかGPL3が誤記なのか
わかんないけど
0284デフォルトの名無しさん
2008/09/25(木) 07:16:33その部分はWTLからのコピペな気がするw
というか全体的に(ry
0285デフォルトの名無しさん
2008/09/25(木) 09:25:320286デフォルトの名無しさん
2008/09/25(木) 11:35:47ttp://www.beyondata.com/Index.html
ttp://www.torjo.com/win32gui/index.html
ttp://www.torjo.com/egui/
既出だっらすまん
0287デフォルトの名無しさん
2008/09/25(木) 19:59:13ATLからのコピペ改変もあるような。。。
0288デフォルトの名無しさん
2008/09/26(金) 14:38:27"All rights reserved." is removed from all header files
0289デフォルトの名無しさん
2008/09/26(金) 18:49:410290デフォルトの名無しさん
2008/09/26(金) 18:50:530291デフォルトの名無しさん
2008/09/26(金) 18:57:080292,,・´∀`・,,)っ-○◎●
2008/09/26(金) 20:18:440293デフォルトの名無しさん
2008/10/13(月) 20:31:56c:\program files\microsoft visual studio 9.0\vc\include\wchar.h(773) : '_vswprintf' の宣言を確認してください。
このエラーは消えないの?
0294デフォルトの名無しさん
2008/10/13(月) 20:47:14どうしたら消えるかそこに書いてあるだろ。
0295デフォルトの名無しさん
2008/10/13(月) 20:53:36#define _SECURE_ATL 1
#endif // _SECURE_ATL
0296デフォルトの名無しさん
2008/10/14(火) 20:38:580297デフォルトの名無しさん
2008/10/14(火) 23:45:55『_vswprintf』 : この関数または変数はおそらく安全ではないです。代わりにvswprintf_sを使うことを検討してください。この警告を無視するには、_CTR_SECURE_NO_WARNINGSを使ってください。詳細はオンラインヘルプをご覧ください。
って書いてるように見える。 _SECURE_ATLの話は関係ない話?
0298デフォルトの名無しさん
2008/10/15(水) 02:26:58問題部分のソース
#if _SECURE_ATL && !defined(_ATL_MIN_CRT) && !defined(_WIN32_WCE)
return _vstprintf_s(lpstrBuff, cchBuff, lpstrFormat, args);
#else
cchBuff; // Avoid unused argument warning
return _vstprintf(lpstrBuff, lpstrFormat, args);
#endif
0299デフォルトの名無しさん
2008/10/15(水) 02:37:53298はatlapp.hのやつだ。
俺のとこじゃwchar.hでwarningは出ないな。
0300デフォルトの名無しさん
2008/10/15(水) 02:44:42#pragma warning(disable:4141 4996)
があるから、C4996は出ないんだが。
ひょっとして293はSP1当ててないVS2008なのかな?
0301デフォルトの名無しさん
2008/10/15(水) 08:56:420302デフォルトの名無しさん
2008/10/17(金) 15:07:08wtlを使うために、atlから必要な部分だけを引っこ抜いて、
wtlも、その引っこ抜いたやつを使うように修正した場合、
1. コンパイルしたexeファイルを配布したらライセンス上アウトなのか
2. 引っこ抜いたり、修正したソースコードを配布したらライセンス上アウトなのか
3. すでにそういう行為をした時点でライセンス上アウトなのか
って、教えてもらえないですか。
手元にはatlから引っこ抜いてきたソースと、wtlをそれを使えるよう修正にしたソースと、
それをコンパイルしたexeがあるという仮定です。
大変な作業だけど。
0303デフォルトの名無しさん
2008/10/17(金) 15:19:52ATLはライセンス違反になりそう。
0304デフォルトの名無しさん
2008/10/17(金) 19:47:150305デフォルトの名無しさん
2008/10/17(金) 23:56:150306デフォルトの名無しさん
2008/10/18(土) 15:57:30ちなみに、ATL3時代のCSimpleArrayやCSimpleMapは結構好きだったんだけど、
msvcpxx.dll非依存で代替になるオープンソースのクラスってなんかあんだろか?
0307デフォルトの名無しさん
2008/10/18(土) 18:30:020308デフォルトの名無しさん
2008/10/18(土) 19:23:33STLとは相性が悪かった記憶が…
0309デフォルトの名無しさん
2008/10/18(土) 20:07:42気持ち悪すぎて
0310306
2008/10/18(土) 20:58:18実際に使うのって、vectorとmapくらいだし、iteratorの仕組みも
個人的にはあまり好きになれないんで…。
0311デフォルトの名無しさん
2008/10/18(土) 21:08:15静的リンクしろ
0312デフォルトの名無しさん
2008/10/18(土) 21:41:030313デフォルトの名無しさん
2008/10/18(土) 21:49:47WTL=おわっとる
ATL=にあっとる
0314デフォルトの名無しさん
2008/10/18(土) 21:49:55* *
* ウソです +
n ∧_∧ n
+ (ヨ(* ´∀`)E)
Y Y *
0315デフォルトの名無しさん
2008/10/18(土) 22:21:28algorithm, functionalを中心にすべて必須だわ。
0316デフォルトの名無しさん
2008/10/18(土) 22:27:080317デフォルトの名無しさん
2008/10/18(土) 22:32:00一般的にはこのスレが異端。
0318デフォルトの名無しさん
2008/10/18(土) 22:40:08それと基本仕様を共有するATLはイケてるんじゃね?
0319デフォルトの名無しさん
2008/10/18(土) 23:02:30iostreamはどちらかというとSTL関係ない。
0320デフォルトの名無しさん
2008/10/18(土) 23:14:00STL無しなんてありえんわ
0321,,・´∀`・,,)っ-○◎●
2008/10/18(土) 23:29:44vector<bool>を特殊扱いしてるのは言語処理系としての機能だっけ?
0322デフォルトの名無しさん
2008/10/18(土) 23:55:340323,,・´∀`・,,)っ-○◎●
2008/10/18(土) 23:58:00オブジェクト指向を追求したCの派生言語はあくまでObjective-C
0324デフォルトの名無しさん
2008/10/19(日) 00:00:12いや、言語規格として要求している。
そんなvector<bool>もコンテナの要件を満たしてイテレータが使えるんだからSTLの一部と言って差し支えないと思う。
>>323後半
あるいはJavaも
0325デフォルトの名無しさん
2008/10/19(日) 00:02:490326デフォルトの名無しさん
2008/10/19(日) 00:22:570327デフォルトの名無しさん
2008/10/19(日) 00:24:440328デフォルトの名無しさん
2008/10/19(日) 01:17:430329デフォルトの名無しさん
2008/10/19(日) 07:43:470330デフォルトの名無しさん
2008/10/20(月) 15:29:002だけがだめだろう
1はどうでもいいし、3などモラルの問題
てか、みんなやっとる
0331デフォルトの名無しさん
2008/10/20(月) 15:53:12MS-PLだから、2もOKなんですね
0332デフォルトの名無しさん
2008/10/20(月) 15:54:510333,,・´∀`・,,)っ-●◎○
2008/10/21(火) 03:20:170334デフォルトの名無しさん
2008/10/22(水) 19:59:460335デフォルトの名無しさん
2008/10/22(水) 21:51:010336デフォルトの名無しさん
2008/10/22(水) 22:04:450337デフォルトの名無しさん
2008/11/03(月) 09:27:37サクッっと変えられちゃうフラグあります?
0338デフォルトの名無しさん
2008/11/09(日) 02:25:53落としてATL3.0ヘッダを探したけど、
atlwin.hとかatlctrls.hとかがどこにもない。
atlbase.hはあるけど・・・どこにあるの?
0339デフォルトの名無しさん
2008/11/09(日) 08:25:55DDKの方にあるんだよ
0340デフォルトの名無しさん
2008/11/09(日) 14:17:57ごめんsrcフォルダばっか見てた・・・。
Includeフォルダインスコしてみたら、あったわ。
0341デフォルトの名無しさん
2008/11/09(日) 16:09:34windows.hやatl,wtlのヘッダ読み込む前に
(コマンドラインで-Dするのもヘッダで#defineするのでも)
#define WINVER 0x0400
#define _WIN32_WINNT 0x0400
等のバージョン・マクロを定義して
win98にもある機能の範囲で使って作ってる分には動いたよ。
(どんなバージョンマクロがどれくらいあるのかは知らない)
wtl8.0よりむしろ、コンパイラ(ライブラリ、ランタイム)でwin98用の
exe作れるかが問題で、vs2003は大丈夫だったけど
vs2008はダメかも (少なくともスタンダードではダメだった)
0342デフォルトの名無しさん
2008/11/09(日) 20:15:02_WIN32_IE
も設定してみたら?
0343デフォルトの名無しさん
2008/11/11(火) 19:43:550344デフォルトの名無しさん
2008/11/11(火) 20:00:250345,,・´∀`・,,)っ-●◎○
2008/11/11(火) 23:16:02AppWizardなら2005用のスクリプトを数行書き換えるだけでそのままインスコ
0346デフォルトの名無しさん
2008/11/18(火) 20:59:47ディレクトリ設定がどこにあるのかわからんでvsvars32.batとインスコスクリプトをずっと弄ってたという
0347デフォルトの名無しさん
2008/11/20(木) 13:16:07なんでだよおおおおおおおおおおおおおおおおおおおおおおおおおおおおお
「うにこーどで全部書けて素敵ね☆」
じゃねええええええええええ!!!!!!!!!!!!
0348デフォルトの名無しさん
2008/11/20(木) 13:20:250349デフォルトの名無しさん
2008/11/20(木) 13:37:53普通にWindows98で動きそうだが
ランタイムライブラリなどは修正する必要があるかもしれないが
0350デフォルトの名無しさん
2008/11/20(木) 14:00:20リンカの/SUBSYSTEMでの最低バージョンの省略時の値が5.0になっていて、
しかも5.0未満の値を指定するとエラーになる。
そのため、4.1であるWindows 98では実行できないというわけ。
0351デフォルトの名無しさん
2008/11/20(木) 14:02:07マクロとかでつぶせないもんかね
あのメッセージさえ回避できれば動きそうじゃね?
M$のマーケティングかも知れないけど。
0352デフォルトの名無しさん
2008/11/20(木) 14:11:50めんどくさくなって、それ以上原因追究しなかったけどさ。
0353デフォルトの名無しさん
2008/11/20(木) 14:16:04CRT自体が9x系サポートしてねえんじゃねえの
そこまでして2008に9x系向けのコードを吐かせたい理由がわからんが
MS自体が既にサポートしてねえOSなのに
0354デフォルトの名無しさん
2008/11/20(木) 14:34:13(開発としてはマジ迷惑な話だが)
98SEとかMeとかのユーザ向けにはVS2008はアウトか。
Meはさすがにいねーかww
0355,,・´∀`・,,)っ-○◎●
2008/11/20(木) 22:40:38でも.NET 2002は黒歴史な。Intelコンパイラも放置してる失敗作。パネェ
0356デフォルトの名無しさん
2008/11/22(土) 19:20:370357デフォルトの名無しさん
2008/11/22(土) 23:04:15あまりにも間が空きすぎるのを避けて、
無理に 2002 に出したんだろうなあって感じの代物。
C++ 規格準拠率低いし。
0358デフォルトの名無しさん
2008/11/23(日) 19:00:310359デフォルトの名無しさん
2008/12/02(火) 14:34:232003でWTL使ってる漏れは勝ち組
0360,,・´∀`・,,)っ-●◎○
2008/12/03(水) 00:04:190361デフォルトの名無しさん
2008/12/03(水) 01:10:490362デフォルトの名無しさん
2008/12/03(水) 02:06:04GetCurrentMessage()用のm_pCurrentMsgはどこで更新されてるの?
ソース見るけどどこにもない
0363デフォルトの名無しさん
2008/12/03(水) 03:10:05インスタンスが増えるだけメモリ使用量増えるから?
0364デフォルトの名無しさん
2008/12/03(水) 11:52:59CWindowImplBaseT< TBase, TWinTraits >::WindowProc
>>363
DEP対策
0365デフォルトの名無しさん
2008/12/03(水) 18:10:42つまりProcessWindowMessage内でしか有効でないわけですね?
>DEP対策
それはHeapAllocからVirtualAllocへの置き換えでしょ
_stdcallthunkを静的ではなく動的にAllocしてるのは何故かなってことです
0366デフォルトの名無しさん
2008/12/03(水) 19:03:33ウィンドウのインスタンスがどこに置かれてもいいようにじゃないの?
DEP以前でも、実行不可領域にインスタンス作られる可能性はあるし。
0367デフォルトの名無しさん
2008/12/03(水) 20:08:37サンクはウィンドウごとに作らないといけないため。
サンクにはそれぞれthisが刻み込まれていて、他のウィンドウには使いまわせない。
0368デフォルトの名無しさん
2008/12/04(木) 02:18:45なるほど。
このトリッキーさ(マシン語埋め込み)はまた将来的にDEPみたいな問題が起こることはないですかね
このサンクの部分をC++だけで実現できないものかな
>>367
いやそれはクラスのメンバであれば関係ないでしょ
0369デフォルトの名無しさん
2008/12/05(金) 06:12:12>このサンクの部分をC++だけで実現できないものかな
無理。
>いやそれはクラスのメンバであれば関係ないでしょ
意味不明。
0370デフォルトの名無しさん
2008/12/05(金) 10:31:59> >いやそれはクラスのメンバであれば関係ないでしょ
> 意味不明。
ウィンドウクラスは何故_stdcallthunkを直接メンバにせず
_stdcallthunkを動的に作成するCDynamicStdCallThunkをメンバにしているのか
ってことだと思う。
0371デフォルトの名無しさん
2008/12/08(月) 22:12:17CWndProcThunkを直接持ってたヨ
0372デフォルトの名無しさん
2008/12/08(月) 22:58:350373デフォルトの名無しさん
2008/12/09(火) 00:23:09CWndProcThunkは関係ないヨ
_stdcallthunkの話でしょ
0374デフォルトの名無しさん
2008/12/09(火) 01:35:05がコード領域)がDEPに見事に引っかかるから、dyncamicに
持つようにしたんでそ
0375デフォルトの名無しさん
2008/12/09(火) 02:10:490376デフォルトの名無しさん
2008/12/09(火) 02:23:19>>374
DEP関係はHeapAlloc→VirtualAllocなんだって
0377デフォルトの名無しさん
2008/12/13(土) 11:48:28サンクで一度はアタマこんがらがるのは、俺だけでいい。とか思ってたが
そうでもなかったようだ
0378デフォルトの名無しさん
2008/12/13(土) 13:28:080379デフォルトの名無しさん
2008/12/16(火) 00:19:30(クラスの)代替メッセージマップって意味あるの?
どのようなときに使うのですか?
継承の利点が生かせてないような・・・?
0380デフォルトの名無しさん
2008/12/16(火) 00:29:29ま、多用する代物じゃねーわな
0381デフォルトの名無しさん
2008/12/16(火) 00:48:46そうですか。どうもです。
なんかそこのリンク先解説や、MSDNの解説などを見ていても
あえてCHAIN_MSG_MAP_ALTを使う利点が曖昧だなーっと思っていたので・・・
0382デフォルトの名無しさん
2008/12/16(火) 21:00:43WTLのコントロールで使われてるような使い方をすると思う
0383,,・´∀`・,,)っ-●◎○
2008/12/17(水) 01:24:120384デフォルトの名無しさん
2009/01/04(日) 00:52:03メインウィンドウのタイトルに " - [子ウィンドウのタイトル]" が自動的につくようですが、
これをやめさせるにはどうしたらいいんでしょうか?
0385デフォルトの名無しさん
2009/01/07(水) 18:53:30SetWindowPosを使ったのですが、
すぐにWindowの下にDialogが行ってしまいます。
WTL内部でZオーダーを自動更新しているのかな?
0386デフォルトの名無しさん
2009/01/07(水) 19:15:010387デフォルトの名無しさん
2009/01/07(水) 19:20:15そのウインドウをオーナーにしたらまずいの?
0388デフォルトの名無しさん
2009/01/07(水) 21:58:35Viewから
MainFrame
に変更したらうまくいきました。
0389デフォルトの名無しさん
2009/01/14(水) 00:03:57実装に苦戦中
0390デフォルトの名無しさん
2009/01/14(水) 00:13:140391デフォルトの名無しさん
2009/01/14(水) 18:58:480392デフォルトの名無しさん
2009/01/14(水) 19:05:300393デフォルトの名無しさん
2009/01/14(水) 19:17:240394デフォルトの名無しさん
2009/01/14(水) 19:25:410395デフォルトの名無しさん
2009/01/14(水) 20:09:510396デフォルトの名無しさん
2009/01/14(水) 21:34:55あと、VMWareの画面がWTLっぽかった気がする。
(ウィンドウクラス名がそれっぽかった)
0397デフォルトの名無しさん
2009/01/15(木) 20:56:31オーナーデータにしてもすげーレスポンス悪いんだけど何故かさっぱりわからねぇ
サンプルのWTLExplorerをビルドしたリスト部分はサクサクなのに
と思って弄ってたら
SetFont(AtlGetDefaultGuiFont());
これが原因だった
DEFAULT_GUI_FONTってデザインのどこのフォントだっけ?
0398デフォルトの名無しさん
2009/01/15(木) 22:42:560399デフォルトの名無しさん
2009/01/16(金) 21:01:13Chromeが使用してるライブラリの一覧にちゃんとWTLも書かれてる。
http://code.google.com/intl/ja/chromium/terms.html
0400デフォルトの名無しさん
2009/01/17(土) 20:52:550401デフォルトの名無しさん
2009/01/18(日) 11:28:42何を今更
他プラットフォームに移植するの場合の盲腸だから
もうすぐGTKに取って代わられるって言うのに
0402,,・´∀`・,,)っ-●◎○
2009/01/18(日) 11:30:40Windowsでの安定動作は絶望的だなオイ
まだQtのほうがわかる
ってKonquerorやんけ。
0403デフォルトの名無しさん
2009/01/18(日) 13:53:040404デフォルトの名無しさん
2009/01/18(日) 14:22:460405,,・´∀`・,,)っ-○◎●
2009/01/18(日) 15:51:18現実にはこうじゃねーの?
Win32: WTL
Linuxその他: GTK
MacOS: Cocoa or Carbon
流石にGTKオンリーは無いと思うよ。
MacOSネイティブの(X11を介さない)GTKって無いからその時点で導入の敷居が高くなっちゃう。
Chromeはシンプルで取っつきやすいUIによってFirefoxとの差別化をはかってるのに
たとえOSXのディスクに入ってるオプションであるにしても、標準でインストールされないX11を
わざわざインストールさせる手間を煩わせたら元も子もない。
とりあえずマカーでごめんなさい。
>>403
俺がWTLで作ったアプリもWineでそこそこ動いてるらしいんで(画面の再描画周りが多少怪しいが)
いっそWineベースでいいんじゃないかなと思ってる。
0406,,・´∀`・,,)っ-○◎●
2009/01/18(日) 15:53:31MacOS XネイティブのGTKって既にあったんだね。
http://journal.mycom.co.jp/news/2008/09/26/009/
0407デフォルトの名無しさん
2009/01/18(日) 16:36:24XmlLiteとかも面白そうだしちょっと試してみるべ。
http://home.att.ne.jp/banana/akatsuki/top/main.html
0408デフォルトの名無しさん
2009/01/21(水) 13:23:23ほとんど内容一緒なんだからページを1つにして
注釈でこのバージョンではこう、ってやってくれたほうが・・・
そのほうが作りやすかったろうに1から作り直してるね
0409デフォルトの名無しさん
2009/01/21(水) 13:30:32書籍の改訂と同じ感覚だな。
逆に、プロだなと思った。
0410デフォルトの名無しさん
2009/01/21(水) 16:40:490411デフォルトの名無しさん
2009/01/21(水) 17:36:21漏れは今の方がすっきりしてて好きだわ
今と昔の違いを知る必要がなければ,新規は2版見ればいいし,
昔通りやりたければ1版見るだけでいいし
0412デフォルトの名無しさん
2009/01/21(水) 19:54:42ところでWTLで、ATLのNotifyHandlerのidCtrl引数が消えてるのは
>This identifier is not guaranteed to be unique. by MSDN
のため?
0413デフォルトの名無しさん
2009/01/26(月) 14:34:58何とかならないでしょうか・・・
0414デフォルトの名無しさん
2009/01/26(月) 19:20:24WS_EX_COMPOSITED
0415デフォルトの名無しさん
2009/01/28(水) 07:45:34pT->メンバ関数;
↑これよくみるけどなんですか?普通に
メンバ関数;
だめなの?
0416デフォルトの名無しさん
2009/01/28(水) 09:02:190417デフォルトの名無しさん
2009/01/28(水) 10:30:47オーバーヘッドが起こるの?
0418デフォルトの名無しさん
2009/01/28(水) 10:51:550419デフォルトの名無しさん
2009/01/28(水) 12:32:01これも仮想関数対策?
0420デフォルトの名無しさん
2009/01/28(水) 17:10:40キャストする前のthisのクラスには、そのメンバ関数が存在しない。要するにこんな感じ。
class Foo {
void f() {
static_cast<Bar*>(this)->g();
}
};
class Bar : Foo {
void g() {}
};
Bar b;
b.f();
0421デフォルトの名無しさん
2009/01/28(水) 19:21:24そのままだと基底クラスから派生クラスのメソッドは呼べねぇんだよ
0422デフォルトの名無しさん
2009/01/28(水) 19:48:040423デフォルトの名無しさん
2009/01/28(水) 20:05:200424デフォルトの名無しさん
2009/01/28(水) 21:29:10仮想関数の代わりが出来るというのが理解できました
例えばCFrameWindowImpl::OnSizeのUpdateLayoutや
CFrameWindowImpl::CreateExのCreateなどなどは
自作の派生クラス(例えばMyWindow)でオーバーライド可能→
基底クラスCFrameWindowImplから派生クラスMyWindowのUpdateLayoutメソッドが呼べる
てことですね?でこれがCRTP
0425デフォルトの名無しさん
2009/01/28(水) 21:37:21CFrameWindowImpl 自体は UpdateLayout などを持たない。
だからオーバーライドではない。
UpdateLayout が定義されていれば OnSize が呼べるし、
UpdateLayout が定義されていなければ OnSize が呼べない。
0426デフォルトの名無しさん
2009/01/28(水) 21:50:43続いてありがとうございます。ということは
1.CFrameWindowImplBase::UpdateLayoutを
2.オーバーライドしたMyWindow::UpdateLayoutを
3.CFrameWindowImpl::OnSize内にて(自動で)呼び出せる機能
って解釈が正しい?
常にCFrameWindowImplBase::UpdateLayout使うだけならCRTPはイラナイと思うし・・・
0427デフォルトの名無しさん
2009/01/28(水) 22:31:220428デフォルトの名無しさん
2009/01/30(金) 02:12:47違うのはCRTPが静的に(コンパイル時に)解決されるため
子クラスの型、内部型を扱える事。
その帰結として子クラスの関数呼び出しに仮想関数呼び出しの
オーバーヘッドが掛からない利点がある。
欠点は当然ながら動的な(実行時の)多相性を得られない事だ。
0429デフォルトの名無しさん
2009/01/30(金) 18:47:08ttp://ja.wikibooks.org/wiki/More_C%2B%2B_Idioms/%E5%A5%87%E5%A6%99%E3%81%AB%E5%86%8D%E5%B8%B0%E3%81%97%E3%81%9F%E3%83%86%E3%83%B3%E3%83%97%E3%83%AC%E3%83%BC%E3%83%88%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3%28Curiously_Recurring_Template_Pattern%29
なが
0430デフォルトの名無しさん
2009/02/06(金) 18:40:160431デフォルトの名無しさん
2009/02/06(金) 19:02:150432デフォルトの名無しさん
2009/02/11(水) 00:42:32CWindowの派生クラス。
CButtonTとかでオーバーライドしてる挙動は変えずに
カスタムしたい場合に使ったり。
0433デフォルトの名無しさん
2009/03/02(月) 11:33:49CA2CWやCW2CAだと「識別子が見つかりませんでした」と言われるんですけど、
なにか別途インクルードするものでもありますか?
0434デフォルトの名無しさん
2009/03/12(木) 11:22:230435デフォルトの名無しさん
2009/03/12(木) 23:29:280436デフォルトの名無しさん
2009/04/05(日) 23:03:280437デフォルトの名無しさん
2009/04/05(日) 23:37:300438デフォルトの名無しさん
2009/04/21(火) 21:18:25みんな見てる?
0439デフォルトの名無しさん
2009/04/21(火) 21:42:51機会があれば使ってみたいなぁ
0440デフォルトの名無しさん
2009/04/22(水) 07:39:170441デフォルトの名無しさん
2009/04/22(水) 08:18:49俺は439じゃないが、海外だとWinMoって略す事が多いんだよ。
ついでなので。
WindowsMobile でも普通に使える。
実際WTLで作って、アプリをリリースしたし。
0442デフォルトの名無しさん
2009/04/23(木) 01:06:42商用で使ってもかなり満足できる性能・機能なのに、
なかなか国内では率先して使ってる企業ないよな。
ATL はそこそこ知ってる奴いるけど、WTL って何?ばかり。
0443デフォルトの名無しさん
2009/04/23(木) 07:55:230444デフォルトの名無しさん
2009/04/23(木) 12:21:09MFCはDLL読むからわかるけど。
0445デフォルトの名無しさん
2009/04/23(木) 18:55:210446デフォルトの名無しさん
2009/04/24(金) 23:17:280447デフォルトの名無しさん
2009/04/24(金) 23:24:520448デフォルトの名無しさん
2009/04/25(土) 23:52:22WTL80/readme.htm
0450デフォルトの名無しさん
2009/05/05(火) 16:52:15frame と view の切り分けってどうしてる?
view が超便利なのは、リソースの Dialog をそのまま拾えて、
さらに frame が使用する view を切り替えて1つのフレームで
複数のウィンドウを作れるところが魅力だけど、
view の上に TAB を置いたり、view で切り替えたくない固定の
コントロールを frame 上におきたい場合、どういう考え方で重ねてる?
frame の上に frame 、さらにその上に frame で view を乗せる、見たいにできるのか、
frame の上に複数の view を重ねたり並べたりするのが常套手段なのか、
メッセージの伝播をどうやるのかが分からなくて、暗礁に乗り上げています。
普通はこうやる、的なアドバイスをください。
駄文ですいません。
0451デフォルトの名無しさん
2009/05/05(火) 21:14:22普通はどうやるかは知らないけど、frameの上のメインのviewに、複数の子viewを重ねたり並べたりしてます。
0452450
2009/05/06(水) 09:31:50なるほど、view は重ねて処理できるのか。
ちなみに、メッセージの受け渡しはどのようにやってますか?
frame→view のように PreTrancelateMessage を実装してもうまく動かないので、
なにかテクニックがあるかと思うのですが、どのようにやればいいんでしょうか。
0453デフォルトの名無しさん
2009/05/07(木) 21:46:39メッセージの受け渡しは、viewの親子関係でツリー状にやってます。
PreTrancelateMessageは、親viewのクラスのから子viewのクラスのを呼び出すようになってます。
複雑なメッセージ処理はしてないので、役に立たなかったらスマソ
0454デフォルトの名無しさん
2009/05/09(土) 20:49:31http://sourceforge.net/project/showfiles.php?group_id=109071&package_id=321560
0455デフォルトの名無しさん
2009/05/09(土) 21:51:470456デフォルトの名無しさん
2009/05/09(土) 22:28:540457デフォルトの名無しさん
2009/05/09(土) 23:27:21- changed version number
- updated CPL link in headers
- fixed warning for _vstprintf
- added wizard setup programs for VS2008
0458デフォルトの名無しさん
2009/05/10(日) 09:54:17遅すぎるわw
0459デフォルトの名無しさん
2009/05/10(日) 21:34:55いっしょうけんめい載せてくれてる
0460デフォルトの名無しさん
2009/05/12(火) 00:23:39CScrollWindowImplさんはどうやってスクロールバーを表示させてるのでしょうか
WS_VSCROLLとか見当たらないですが
0461デフォルトの名無しさん
2009/05/12(火) 03:11:11SetScrollInfo(SB_HORZ, ...
とかやれば表示される
0462デフォルトの名無しさん
2009/05/12(火) 22:44:50そうなんだ!!
若干スレ違いでしたねアリガトウ
0463デフォルトの名無しさん
2009/05/17(日) 22:03:05CCustomWaitCursorって親でLoadCursorして子でLoadImageしてるけどいいの?
0464デフォルトの名無しさん
2009/05/27(水) 21:11:33メソッド追加ウィザードのパラメータの属性のoutとretvalが無効になっていて
指定出来ない理由が全くわかりません。
どなたか教えてください。
0465デフォルトの名無しさん
2009/05/31(日) 00:52:50システムカーソルをロードしてるだけだから問題ないと思う
0466デフォルトの名無しさん
2009/05/31(日) 17:34:03どうもありがとう
0467デフォルトの名無しさん
2009/06/14(日) 23:58:47クラス名 + Impl
この命名規則もしくは意味を誰か詳しい方教えてください・・・・
0468デフォルトの名無しさん
2009/06/15(月) 06:24:140469デフォルトの名無しさん
2009/06/23(火) 07:17:05m_hWndClient = m_splitter.Create(m_hWnd, rcDefault, NULL, WS_CHILD | WS_VISIBLE | WS_CLIPCHILDREN | WS_CLIPSIBLINGS);
m_splitter.SetSplitterExtendStyle(SPLIT_RIGHTALIGNED);
m_splitter.SetSplitterPosPct(75);
としてみたところ、ウィンドウ枠をドラッグしてサイズを変更した際に左ペインのサイズが突然最小になってしまいました。
何か対処法はありませんか?
0470デフォルトの名無しさん
2009/06/23(火) 23:57:230471469
2009/06/24(水) 14:34:080472デフォルトの名無しさん
2009/06/24(水) 22:10:090473デフォルトの名無しさん
2009/06/25(木) 07:36:510474デフォルトの名無しさん
2009/06/25(木) 07:43:300475デフォルトの名無しさん
2009/06/25(木) 09:06:410476デフォルトの名無しさん
2009/06/25(木) 09:40:150477デフォルトの名無しさん
2009/07/04(土) 07:04:23VSC++ 9.0、WTL81_9127(setup90x)、Microsoft Windows Server 2003 R2 Platform SDK、
WDK SP1 for Windows Server 2008(6.1.6001.18002.081017-1400_wdksp-WDK18002SP_EN_DVD.iso)
をインスコしインクルード&ファイルパスへの関連付けもしました。いろんな場所を見てstdafx.hをいじったりしましたがお手上げです。
1>stdafx.obj : error LNK2001: 外部シンボル "__forceAtlDllManifest" は未解決です。
1>ok.obj : error LNK2001: 外部シンボル "__forceAtlDllManifest" は未解決です。
1>ok.obj : error LNK2019: 未解決の外部シンボル __imp__AtlCallTermFunc@4 が関数 "public: void __thiscall ATL::CAtlModule::Term(void)" (?Term@CAtlModule@ATL@@QAEXXZ) で参照されました。
0478デフォルトの名無しさん
2009/07/04(土) 07:05:28(struct ATL::_AtlCreateWndData *,void *)" (?AddCreateWndData@CAtlWinModule@ATL@@QAEXPAU_AtlCreateWndData@2@PAX@Z) で参照されました。
1>ok.obj : error LNK2019: 未解決の外部シンボル __imp__AtlWinModuleExtractCreateWndData@4 が関数 "public: void * __thiscall ATL::CAtlWinModule::ExtractCreateWndData(void)"
(?ExtractCreateWndData@CAtlWinModule@ATL@@QAEPAXXZ) で参照されました。
1>ok.obj : error LNK2019: 未解決の外部シンボル __imp__AtlUpdateRegistryFromResourceD@20 が関数 "public: long __stdcall ATL::CAtlModule::UpdateRegistryFromResourceDHelper
(wchar_t const *,int,struct ATL::_ATL_REGMAP_ENTRY *)" (?UpdateRegistryFromResourceDHelper@CAtlModule@ATL@@QAGJPB_WHPAU_ATL_REGMAP_ENTRY@2@@Z) で参照されました。
1>ok.obj : error LNK2019: 未解決の外部シンボル __imp__AtlCreateRegistrar@4 が関数 "public: long __stdcall ATL::CAtlModule::UpdateRegistryFromResourceDHelper
(wchar_t const *,int,struct ATL::_ATL_REGMAP_ENTRY *)" (?UpdateRegistryFromResourceDHelper@CAtlModule@ATL@@QAGJPB_WHPAU_ATL_REGMAP_ENTRY@2@@Z) で参照されました。
1>Debug\ok.exe : fatal error LNK1120: 外部参照 6 が未解決です。
1>ok - エラー 8、警告 0
========== ビルド: 0 正常終了、1 失敗、0 更新不要、0 スキップ ==========
原因がわかられるのでしたらよろしくお願いします。
0479デフォルトの名無しさん
2009/07/04(土) 17:44:38素直にSTD以上のエディションを買え。
0480デフォルトの名無しさん
2009/07/04(土) 22:15:530481デフォルトの名無しさん
2009/07/04(土) 22:47:09?
0482デフォルトの名無しさん
2009/07/05(日) 22:20:240483デフォルトの名無しさん
2009/07/06(月) 20:32:49・プロジェクトのプロパティ「追加の依存ファイル」 atlthunk.lib
・stdafx.h 「#define _WTL_SUPPORT_SDK_ATL3」の行を削除
0484デフォルトの名無しさん
2009/07/07(火) 22:45:29>>479、>>480、>>481、>>482
申し訳ないです
>>483
無事にビルドできました。
皆様ありがとうございました。
0485デフォルトの名無しさん
2009/07/29(水) 13:15:530486デフォルトの名無しさん
2009/07/29(水) 16:16:03http://support.microsoft.com/kb/971092
によると atlcom.h と atlhost.h の更新が影響大きそう。
中身の違いはまだよく精査してないけど、リビルドする必要がありそうね。
変更されたファイルの一覧を見ると、ATLのバグ修正のはずなのに
なぜか libcmt.lib なんかも更新されているね。
Cランタイムの変更の方は、バージョン変更によるアセンブリの更新のようだけど。
0487デフォルトの名無しさん
2009/07/29(水) 22:41:56ここに詳しく書いてある。
0488デフォルトの名無しさん
2009/07/30(木) 00:22:010489デフォルトの名無しさん
2009/08/02(日) 07:55:20{
private:
CAtlMap<int, int> map ;
};
int _tmain(int argc, _TCHAR* argv[])
{
CAtlMap<int, CHoge> map ;
CHoge hoge ;
if ( map.Lookup( 0, hoge ) == false )
return 0;
}
こういうのは無理なんです?
0490デフォルトの名無しさん
2009/08/02(日) 09:07:50CHogeの代入演算子は既定のものなのでpublicだが、
CAtlMap自体の代入演算子はprivateで宣言されているため、
CHoge間の代入時にアクセスできないのでエラーとなる。
クローンを手作業で作るかポインタで持つか、そこら辺は好みで。
0491デフォルトの名無しさん
2009/08/02(日) 10:03:27CAtlMap& operator=( const CAtlMap& ) throw();
これが確かにprivateでした
ポインタでやってみます、どもです
0492デフォルトの名無しさん
2009/08/02(日) 10:05:33http://itpro.nikkeibp.co.jp/article/NEWS/20090729/334737/
(1)[MS09-035]Visual StudioのActive Template Libraryの脆弱性により、リモートでコードが実行される (969706)
(2)[MS09-034]Internet Explorer用の累積的なセキュリティ更新プログラム (972260)
0493デフォルトの名無しさん
2009/08/02(日) 10:08:17公開日: 2009年7月30日
http://www.microsoft.com/japan/security/atl.mspx
0494デフォルトの名無しさん
2009/08/02(日) 10:52:360495デフォルトの名無しさん
2009/08/13(木) 22:13:450496,,・´∀`・,,)っ-○○○
2009/08/14(金) 22:13:54Win32のラッパーなんだからとりあえずリファレンス嫁
0497デフォルトの名無しさん
2009/08/15(土) 00:43:110498,,・´∀`・,,)っ-○○○
2009/08/15(土) 01:24:040499デフォルトの名無しさん
2009/08/15(土) 14:27:46「・」と「´」どっちが目なの?
0500デフォルトの名無しさん
2009/08/15(土) 14:50:14OwnerDrawは出来ない。
CustomDrawは出来るけど。
0501デフォルトの名無しさん
2009/08/22(土) 08:59:520502デフォルトの名無しさん
2009/08/22(土) 09:43:05一応atlcom.hには、PROP_ENTRY_TYPEとか追加されてるし、
atlcomcli.hのCComVariant::ReadFromStream()の引数も増えてるが・・・
0503デフォルトの名無しさん
2009/08/31(月) 08:08:340504デフォルトの名無しさん
2009/09/11(金) 01:16:20出来上がったexeのサイズ
2005 -> 76K
2008 -> 156K
どちらもマルチスレッド/MT
どうも2008はCランタイムをリンクしてるっぽい
2008で、CRTを使用しないって自動的になるんじゃないの?
ちなみに新規作成のWin32プロジェクトではそんなことは起こらない
0505デフォルトの名無しさん
2009/09/11(金) 03:54:24個人的にはCRTあり/MDだったんでsetup90.js書き換えてそのまま忘れた。
0506デフォルトの名無しさん
2009/09/12(土) 04:48:54でいろいろコンパイルオプション変更してもだめだった
/NODEFAULTLIB:libcmt.libで、グローバル変数破棄だと思うけど、_atexit使われてるし
あきらめるしかないのか
0507デフォルトの名無しさん
2009/09/12(土) 06:53:33個人的には9x/NT4切り捨てが勘弁してほしかった<2008
2010まで待ってほしかった。
0508デフォルトの名無しさん
2009/09/18(金) 11:19:550509デフォルトの名無しさん
2009/09/18(金) 11:45:27何を律儀に使い続けてたんだろう、俺。
0510デフォルトの名無しさん
2009/09/18(金) 14:50:090511デフォルトの名無しさん
2009/09/18(金) 16:42:14大人なんだから、もう忘れろ。98SEとかも。
0512デフォルトの名無しさん
2009/09/19(土) 12:49:24ちょっとはコンパイル速度あがるのかな
いちいち判断しなくていいから
0513,,・´∀`・,,)っ-○○○
2009/09/19(土) 12:51:430514デフォルトの名無しさん
2009/09/19(土) 22:04:37体感できるほどの差がでるわけねぇw
0515デフォルトの名無しさん
2009/09/21(月) 20:48:56SetSplitterPaneでできるかと思ったらペイン内の描画が切り替わらないのです。
0516デフォルトの名無しさん
2009/09/21(月) 22:00:440517デフォルトの名無しさん
2009/09/21(月) 23:17:53ヒントだけでもplz
0518515
2009/09/22(火) 02:00:51無難なのでしょうか?
0519デフォルトの名無しさん
2009/09/22(火) 03:20:52あと、切り替えられる側、非表示にしてみては
0520デフォルトの名無しさん
2009/09/22(火) 08:33:380521デフォルトの名無しさん
2009/09/22(火) 08:34:320522デフォルトの名無しさん
2009/09/26(土) 13:14:27裏に行ってない?
0523デフォルトの名無しさん
2009/10/17(土) 21:19:36安易にTCHARやめない方が良いと思うが。
UTF32/8なAPI群が追加されたりとかで、
またTCHARを使う意義が出てくる可能性は十分ある。
0524デフォルトの名無しさん
2009/10/18(日) 00:56:350525,,・´∀`・,,)っ-○○○
2009/10/18(日) 19:48:56IWMWriter::SetOutputFilenameの引数がconst WCHAR*だったりして、
この時だけ、_TCHARを使うのを止めてみた。
0527デフォルトの名無しさん
2009/10/19(月) 06:57:040528デフォルトの名無しさん
2009/10/28(水) 00:32:360529デフォルトの名無しさん
2009/10/28(水) 18:12:33複数人開発とかATLがないんだったらとっととUNICODEビルドしかできないように書くこともためらわないけど。
0530デフォルトの名無しさん
2009/10/29(木) 12:02:19場合だけだと思うんだが、違うの?
ATLとか使わないんなら、Tなんか捨ててwchar_tとW版API使えば
どっちでビルドしても同じバイナリになるのでは
今T使われるのは、MFCやらATLやらWTLやらが使っているから仕方なく、
というケースが多いんだろうと思っていたよ
0531デフォルトの名無しさん
2009/11/28(土) 21:26:04ScrollWindowEx使ってるからピクセル単位で扱わなならんし…
現在のスクロール位置もGetScrollPosとかで得ないといけないの?
0532デフォルトの名無しさん
2009/12/29(火) 02:13:410533,,・´∀`・,,)っ-○○○
2009/12/29(火) 02:38:400534デフォルトの名無しさん
2009/12/29(火) 12:49:020535ゴロゴロ
2009/12/29(火) 22:45:10そのまま ActiveX コントロールにすることはできないでしょうか?
0536デフォルトの名無しさん
2010/01/06(水) 18:41:450537デフォルトの名無しさん
2010/02/05(金) 22:41:040538デフォルトの名無しさん
2010/02/05(金) 22:59:10C++でプログラミングするときこれが一番いいんだけど
0539デフォルトの名無しさん
2010/02/05(金) 23:02:03自分が使い続けるのに周りは関係ないだろ
0540デフォルトの名無しさん
2010/02/05(金) 23:06:110541デフォルトの名無しさん
2010/02/06(土) 00:25:09消えたら困るところが多いから、当分消えないだろ
Safariとか普通にATL使ってるし
Chromeとかも使ってるんじゃない?こっちは知らんけど
0542デフォルトの名無しさん
2010/02/07(日) 19:11:520543デフォルトの名無しさん
2010/02/08(月) 22:15:11お客様(笑)からお金貰って専用アプリ書くならc#でもいいですが
一般に配布するアプリを書くとなると.netではいろいろ不都合が多く
C++で書くというのはまだまだ残ると思いますよ。
それにC++で書く場合はMFCはいまさらだしSDKも論外、c#の部品に
慣れてるとATL/WTLがないとかなりしんどい
で、質問なんですがCSplitterWindowTって動的に縦割り横割りを切替できます?
もしかしてCSplitterWindowTに乗ってる部品のインスタンスを全部管理してて
切替の際は前のCSplitterWindowTを破棄した後、新しい割りのCSplitterWindowT
を作成して再配置とか・・・じゃないですよね?
0544デフォルトの名無しさん
2010/02/08(月) 22:16:14になってしもうた
ATL/WTL
0545デフォルトの名無しさん
2010/02/08(月) 22:16:140546デフォルトの名無しさん
2010/02/08(月) 22:19:06切替可能?
破棄して再配置?
どちらにかかってます?>そのはいな
0547デフォルトの名無しさん
2010/02/08(月) 22:58:33http://www.ailight.jp/blog/sha256/archive/2007/05/14/13856.aspx
0548デフォルトの名無しさん
2010/02/08(月) 23:14:26ありがとうございます
標準のWTLなどではできなくてそのアドレスの方が
実現するクラスを作られてるということですね
0549デフォルトの名無しさん
2010/02/09(火) 00:40:47BEGIN_MSG_MAP(CFlippableSplitterWindowT)
MSG_WM_SIZE(OnSize)
MSG_WM_ERASEBKGND(OnEraseBkgnd)
END_MSG_MAP()
この部分で
error C3861: 'SetMsgHandled': 識別子が見つかりませんでした
error C3861: 'IsMsgHandled': 識別子が見つかりませんでした
とでます
いろいろ調べたところ
BEGIN_MSG_MAP_EX(CFlippableSplitterWindowT)
MSG_WM_SIZE(OnSize)
MSG_WM_ERASEBKGND(OnEraseBkgnd)
END_MSG_MAP()
これでコンパイルは通るのですがBEGIN_MSG_MAP_EXは問題があるという
記事がちらほら見受けられます。
BEGIN_MSG_MAP_EXで行っていいのでしょうか?
それもとBEGIN_MSG_MAPを使う方がいいのでしょうか?
BEGIN_MSG_MAPを使う場合に上記のエラーを回避するにはどうすればいいのでしょうか?
U read atlcrack.h
0551デフォルトの名無しさん
2010/02/09(火) 14:54:520552デフォルトの名無しさん
2010/02/10(水) 06:41:10BEGIN_MSG_MAPでエラーになる場合はBEGIN_MSG_MAP_EXで問題なくなるのですが
BEGIN_SINK_MAPでIEのNavigate関連のイベントを拾うためのコードを書いても
エラーになってしまいます。
サンプルはいくつかネットで見つかったので同じように書いてみましたがエラーになります
プロジェクトごと配布されてるところの物を試しましたが同じ箇所でコンパイルできませんでした
やはり最新の開発環境の影響とかがあるのでしょうか?
開発環境はVC++2008EE と WTLの最新です
0553デフォルトの名無しさん
2010/02/10(水) 06:51:01http://www.nitoyon.com/vc/tips/ie_component.htm
イベントを取得する方法 というところの
http://www.nitoyon.com/vc/download/iwebbrowser3.lzh
これです
補足ですがVC6.0だと問題なくコンパイルが通りましたのでやはり
開発環境の違いなどでしょうか?
0554デフォルトの名無しさん
2010/02/10(水) 07:35:170555デフォルトの名無しさん
2010/02/10(水) 07:40:11その辺は理解してます。
EEでもATLとWTLを入れる方法を紹介されてるサイトがあったので
その手順に従い一応開発はできているのですがその過程で>>552
のような問題にあたりました。
どうもマクロ関係でおかしくなるんですよね・・・
それ以外はまあおかしくなる要素がないというか
0556デフォルトの名無しさん
2010/02/10(水) 08:05:450557デフォルトの名無しさん
2010/02/10(水) 08:14:41ここを参考にして5.2.3790.2075.51.PlatformSDK_Svr2003R2_rtm.imgをインストールしてその中の物を使ってます
0558デフォルトの名無しさん
2010/02/10(水) 08:19:09http://home.att.ne.jp/banana/akatsuki/doc/atlwtl/
http://homepage1.nifty.com/Roy_/Software/WTL/WTL.htm
この辺のサイトを参考にして作った物は動くのですが
その中へ>>552で述べたようなCOMのイベント関連のマクロのところが
どうにもならなくて困っている状況です。
BEGIN_MSG_MAPに習ってBEGIN_SINK_MAPもBEGIN_SINK_MAP_EXとしてみましたが
今度は関係のないはずのBEGIN_MSG_MAPあたりまでエラーを吐く始末で
0559デフォルトの名無しさん
2010/02/10(水) 12:26:250560デフォルトの名無しさん
2010/02/10(水) 12:40:080561デフォルトの名無しさん
2010/02/10(水) 12:44:45うーむ
DDKの方は試して無かったです
>>560
ATL3関連は切ってるんでるけどね
最近のWTL8はATL3を切り離せるようになってるので
そうじゃないとatlthunk.libのリンクの問題がおきて先に進まないので
0562デフォルトの名無しさん
2010/02/10(水) 12:49:16まずいんですかね?
0563デフォルトの名無しさん
2010/02/10(水) 12:50:210564デフォルトの名無しさん
2010/02/10(水) 12:55:41ATL使いたがるなよw
0565デフォルトの名無しさん
2010/02/10(水) 19:02:50WTLへのパスを設定してstdafx.hの中の#define _WTL_SUPPORT_SDK_ATL3を
コメントにしたところ一部標準関数について警告は出たもののあっさりコンパイルできました。
環境構築が失敗してたようです
>>564
VS2010のRCが出てる段階なのでタイミング的にどうしようか迷ってる段階なんですよ
VC6.0は持ってるのですがさすがにあの古臭いインターフェースではやりたくないし
0566デフォルトの名無しさん
2010/02/10(水) 19:06:480567デフォルトの名無しさん
2010/02/10(水) 19:12:56この4つだけなんですね
どう買えばお得なんでしょうか?
ネットで調べてみるとVL版(3ライセンス)がお買い得みたいなのも見受けられますし
0568デフォルトの名無しさん
2010/02/10(水) 19:48:040569デフォルトの名無しさん
2010/02/10(水) 19:50:250570デフォルトの名無しさん
2010/02/10(水) 20:02:08そうします
0571デフォルトの名無しさん
2010/02/10(水) 23:19:48WTLの情報少ないな
まともなサイトがテンプレぐらいしかない
0572デフォルトの名無しさん
2010/02/10(水) 23:21:52なんとか頑張るしかないですね
今c#ぽい部品を作ってる
C++ってset{}get{}ってできないんでしたっけ?(汗
0573デフォルトの名無しさん
2010/02/10(水) 23:24:38__declspec property
0574デフォルトの名無しさん
2010/02/10(水) 23:31:56ぼやいてみるものだ
ありがとうございます
0575デフォルトの名無しさん
2010/02/10(水) 23:49:36やってるところはないのか?
やってたらアホみたいだし
0576デフォルトの名無しさん
2010/02/11(木) 08:50:490577デフォルトの名無しさん
2010/02/11(木) 13:39:42stdネームスペースのクラスたちが消えるの?
0578デフォルトの名無しさん
2010/02/11(木) 13:50:15需要ないと思うよ
0579デフォルトの名無しさん
2010/03/06(土) 10:56:25void Release() throw()
{
T* pTemp = p; //*1
if (pTemp)
{
p = NULL;
pTemp->Release();
}
}
こういうコートです。
p->Release();
p = NULL;
じゃだめなのでしょうか?
マルチスレッドに関連したものかなと思ったけど、*1が走る直前に取得したポインタに対して操作を行う可能性を考えたら
あまり意味のあるものではないような気もするのですが。
0580デフォルトの名無しさん
2010/03/06(土) 14:17:38pがインスタンス変数とすると、
pTemp->Release()で例外が飛んでも
pを必ずNULLにしたいってことじゃないかな。
0582デフォルトの名無しさん
2010/03/06(土) 17:14:220583デフォルトの名無しさん
2010/03/06(土) 18:42:44{
p->Release(); //*2
p = NULL;
}
は、マルチスレッドなら*1でp!=0でも、*2でp!=0の保証はないよ。
スタックにコピーすべき。
0584デフォルトの名無しさん
2010/03/06(土) 19:02:11CComPtrがスレッドセーフなのは、参照カウンタの処理をアトミックにしてるからだ。
0585デフォルトの名無しさん
2010/03/06(土) 21:44:37ATLインターナルによると、解放処理内でスマートポインタが再度参照されて
二重解放されてしまう事態を防ぐためらしい。
>579 のコードだと次のケースで問題が生ずる。以下引用
たとえば、スマートポインタがクラスAのメンバ変数で、オブジェクトBの参照を
保持しているとしよう。そして、スマートポインタの.Release メソッドを呼び出す。ス
マートポインタは、オブジェクトBへの参照を解放する。今度は、オブジェクトBが、ス
マートポインタを含んだクラスAのインスタンスを参照する。オブジェクトBは、クラ
スAのインスタンスへの参照を解放することにする。クラスAのインスタンスはデスト
ラクションを決意し、スマートポインタのメンバ変数のデストラクタを呼び出す。デスト
ラクタはインターフェイスポインタがNULLでないことを検出し、インターフェイスを
もう一度解放する。
- ATLインターナル(p.86)
0586デフォルトの名無しさん
2010/03/06(土) 21:57:350587デフォルトの名無しさん
2010/03/06(土) 22:39:04気持ち悪い。
0589,,・´∀`・,,)っ-○○○
2010/03/07(日) 01:01:430590デフォルトの名無しさん
2010/03/07(日) 22:34:28以前VC6.0で作成したATLを、WinXPのローカルにANHTTPD+MySQL+PHPの環境を作り、
PHP(ブラウザ)からATLを呼び出して処理を行なっていました。
今回、OSをVistaに変更して動かそうと思っていますが、今までコールできてたATLのメソッドがコールできません。
phpのソースは全く同じものを使用しており、ATL(DLL)のCLASSIDも同じで、ソースの変更も行なっていません。
しかしWebサーバを今回 ANHTTPDからApacheに変更しています。ANHTTPDはVista対応となっていない為。
ブラウザの設定でスクリプトエラーごとに通知するにチェックしてみると、
「オブジェクトでサポートされていないプロパティまたはメソッドです」と表示されます。
試しにメソッド内部の先頭にメッセージボックスを入れてみましたが表示されないので、呼ばれていない様です。
何かこれらで原因が分かる方いらっしゃいますか?よろしくおねがいします。
スレ違いでしたらスミマセン。
管理者として実行でコマンドプロンプトを開く。
REGSVR32でDLLを再登録。
0592デフォルトの名無しさん
2010/03/07(日) 22:59:07レスありがとうございます。
REGSVR32でDLLの登録は、スタートアップにバッチファイル入れて、成功しましたと出ています。
0593590
2010/03/07(日) 23:26:50VC6.0は、Vista未サポートってのが原因でしょうか。
動かされた方いますか?
0594デフォルトの名無しさん
2010/03/28(日) 13:50:53Windows Vista Ultimate(32bit) SP1
VC++2008 Express Edition
PlatformSDK 2003付属のATL3.0
WTL8.1
という環境で、ATL/WTLウィザードで作成したexeを実行すると
DEPに引っかかって死んでしまいます。
いろいろ調べたんですが、
void * __stdcall __AllocStdCallThunk()の
HeapAllocをVirtualAllocに変えるといいらしいと言う事がわかり、
それはそれでいいのですが、いまひとつ納得いかないのは、
Windows2000
VC++6.0 Enterprise Edition付属のATL3.0
WTL8.1
という環境で、同じようにウィザードを使って作成したexeを、
Vistaにコピーして実行してもDEPに引っかからない事です。
普通に実行できてしまいます。
同じATL3.0なのに、どうしてこういう違いが出るのでしょうか?
0595デフォルトの名無しさん
2010/03/28(日) 14:19:39VC6で作ったexeはDEPが自動では有効にならない
っていう話じゃないのかなあ
0596デフォルトの名無しさん
2010/03/28(日) 23:03:53特殊な処理をしているんだと思う。この組み合わせで作られた過去の
プログラムが軒並みDEPに引っかかるとまずいから。
ちなみにVirtualAllocは64kb(正確にはSYSTEM_INFO::dwAllocationGranularity)単位で
メモリを予約するので、HeapAllocから置き換える時は注意。
0597594
2010/03/29(月) 20:43:52返事が遅くなってすいません。
>>595
オプションでDEPを無効にできるとは知りませんでした。
/NXCOMPAT:NOをしてビルドすると、VC2008で作成したexeも
DEPに引っかからず実行できました。
でもビルドオプションで無効にできるなら、
ウィルス対策としての意味がないような??
ちょっとよくわからない仕組みですね。
>>596
なるほど。/NXCOMPATが無効で、かつATL3.0で作られたexeの場合のみ、
ATLのthunkの部分に限ってDEPのチェック対象から外す、
みたいな事をOSがやってるんですかねえ。
VirtualAllocに関しては了解です。
確保した領域から必要サイズだけ切り出して使うようにしようと思います。
0598デフォルトの名無しさん
2010/03/29(月) 21:55:530599デフォルトの名無しさん
2010/03/30(火) 01:21:20ウィルスというか、バッファオーバーフローとかの脆弱性対策だろ
0600デフォルトの名無しさん
2010/03/30(火) 09:54:56DEPとは外部から送り込まれたマルウェア(データセグメントに置かれる)の実行を
防止する仕組みなので、データセグメントにコードを置かないプログラム(特殊な
プログラムを除いて大部分が該当する)にマークする仕組み、すなわち入り込ませ
ない仕組みなので、正しい。
0601デフォルトの名無しさん
2010/03/31(水) 13:00:09みなさんは自分のコードもそんな風に書いてますか?
それとも宣言と定義を.hと.cppに分けてますか?
0602デフォルトの名無しさん
2010/03/31(水) 16:28:37え?
0603デフォルトの名無しさん
2010/03/31(水) 17:10:25ヘッダが長くなると読みにくい
0604,,・´∀`・,,)っ-○○○
2010/03/31(水) 17:52:480605601
2010/04/02(金) 08:14:19しばらくは.inlで試してみます。ありがとうございました。
0606デフォルトの名無しさん
2010/04/29(木) 11:17:13いきなりWTLやって大丈夫ですか?
SDKやMFCを今からやるのは無駄ですか?
0607デフォルトの名無しさん
2010/04/29(木) 11:39:54MFCはいらない子
0608デフォルトの名無しさん
2010/04/29(木) 14:33:58MFCを今からやるのは無駄
0609デフォルトの名無しさん
2010/04/29(木) 19:04:04ありがとうございます。がんばってみます。
0610デフォルトの名無しさん
2010/05/01(土) 15:35:00各種コントロールを配置してアプリケーションを構成しているのですが、
各コントロールに WS_TABSTOP を指定してもタブ遷移が一切
できません。。
Gooooogle先生にも聞いてみましたが、いまいちWTL(ATL)への応用方法が
わかりませんでした。
教えてエロい人!!
0611デフォルトの名無しさん
2010/05/01(土) 16:40:520612デフォルトの名無しさん
2010/05/01(土) 18:47:21MFCの仕事は今でも新規であるけれど、ATLは一度話があったきり、WTLは聞いたこともね。
ATLもWTLも趣味でコネコネ楽しむものだと思ってた。
仕事で使えてる人っておられます?
0613デフォルトの名無しさん
2010/05/01(土) 19:13:350614デフォルトの名無しさん
2010/05/01(土) 20:17:20MFCは使わんけど、ATL/WTLはがんがんに使っているよ。うちの会社の製品は。
0615デフォルトの名無しさん
2010/05/01(土) 21:18:26>>606 は仕事で使うとは一言も言っていないのに
なぜMFCを仕事で使う云々言い出すんだ?
0616610
2010/05/01(土) 22:59:16置いてみたら見事TABが抜けることはできました!
ですが、ツールバーにフォーカスが当たり、そこから抜け出せません。
一応他のウィンドウは WS_TABSTOP を指定しています。
指定しているのは、ウィンドウ遷移してほしいコントロールだけですが。。
ツールバーより先のウィンドウへフォーカスを遷移させるにはどのように
したら良いでしょうか。
0617デフォルトの名無しさん
2010/05/01(土) 23:03:31.NET使わないでC++でWinアプリ作るとしたら仕事ではMFCが第一選択肢になるって事?
0618デフォルトの名無しさん
2010/05/01(土) 23:13:52C++であえてMSのものを使う案件ではMFCが多くATLはあまり(ほとんど)ない
と言うこと
で、今のC++WinアプリはQtが主流
0619デフォルトの名無しさん
2010/05/01(土) 23:34:38ただATL技術者なんて単価高いし集まらないから普通はVBでCOM。
0620デフォルトの名無しさん
2010/05/02(日) 07:22:51みなさんありがとう。
>>617
ウチの勤め先の傾向はまさにそういう傾向です。
>>618-619
たぶんウチの守備範囲が狭いってことでしょうね。
0621デフォルトの名無しさん
2010/05/02(日) 09:00:202005 に安定版が 2008?
ということで、
金のない俺は次のバージョンを待つほうがいいいのかな。
二年後に .NET 5 がでてくるとも思えないし。
0622デフォルトの名無しさん
2010/05/02(日) 09:05:560623デフォルトの名無しさん
2010/05/02(日) 20:16:56ATLは裏方
0624デフォルトの名無しさん
2010/05/03(月) 11:45:000625デフォルトの名無しさん
2010/05/03(月) 21:44:330626デフォルトの名無しさん
2010/05/03(月) 23:54:580627デフォルトの名無しさん
2010/05/04(火) 12:57:010628デフォルトの名無しさん
2010/05/04(火) 13:02:540629デフォルトの名無しさん
2010/05/06(木) 13:21:25class B : public IUnknown {};
class C_ :
public CComRootObject,
public A,
public B
{
BEGIN_COM_MAP(C_)
COM_INTERFACE_ENTRY(A)
COM_INTERFACE_ENTRY(B)
END_COM_MAP()
};
typedef CComObject<C_> C;
CComPtr<C> p;
C::CreateInstance(&p);
CComPtr<C> q = p; // OK!
CComPtr<C> r; r = p; // NG! 'IUnknown *' への変換はあいまいです。
static_cast<IUnknown*>(p) // NG! 'IUnknown *' への変換はあいまいです。
ATLを使うと、IUnknownの多重継承を解決してくれるものと思っていたのですが、そんな都合のいいことはなかったようです。
どこが間違っているのか、ご指摘いただけないでしょうか?
0630デフォルトの名無しさん
2010/05/06(木) 17:40:260631デフォルトの名無しさん
2010/05/06(木) 18:03:20どこを直して張り直せばよろしいでしょうか?
0632デフォルトの名無しさん
2010/05/14(金) 09:56:46・複数のツールで共通して使用するダイアログ(コモンコントロールのパレットみたいなもの)
・データはそのダイアログが保持し、非表示状態でも保持している。
・ダイアログのクラスに対してデータの受け渡しや参照をツール側の好きなときにいつでも出来る。
・モードレスダイアログ
こういう物を作るのは可能、かつ簡単にできるでしょうか?
参考になるURLとかもあれば教えて頂きたいです。
WTLでツールを作成している場合、こういうものを作りたくなることは良くありそうですが、
もしももっと一般的なやり方があればそちらを教えて下さい。
それとも、WTLのプログラムは常時EXE一個のみなんでしょうか?
宜しくお願いします。
0633デフォルトの名無しさん
2010/05/14(金) 11:13:540634デフォルトの名無しさん
2010/05/14(金) 11:56:01簡単にできすまよ。URLは >>2
0635デフォルトの名無しさん
2010/05/18(火) 23:49:23pragma data_seg
参照カウンタ
0636デフォルトの名無しさん
2010/05/20(木) 22:37:12WTLで以下のようなCStringのマップを扱おうとするとコンパイルエラーが出る
んですけど、なぜでしょうか?
(atlmisc.hの代わりにatlstr.hをインクルードするとこのエラーは出ません)
#include <atlmisc.h> // for CString
#include <atlcoll.h> // for CAtlMap
func()
{
CAtlMap<CString,CString> str_map;
str_map.SetMap(_T("aaaa"), _T("bbb")); →ココでエラーになっている模様
...
}
コンパイルエラーの内容
\microsoft visual studio 9.0\vc\atlmfc\include\atlcoll.h(128) : error C2440: '<function-style-cast>' : 'const WTL::CString' から 'ULONG_PTR' に変換できません。
0637デフォルトの名無しさん
2010/05/21(金) 02:01:05デフォルトのハッシュ計算(値そのもの)が使われるから。
0638デフォルトの名無しさん
2010/05/22(土) 02:50:28回答どうもです
0639デフォルトの名無しさん
2010/06/02(水) 01:00:58ttp://d.hatena.ne.jp/sea-show/20100517
0640デフォルトの名無しさん
2010/06/02(水) 18:55:310641デフォルトの名無しさん
2010/06/08(火) 22:52:42WTL公式からExpress対応版が出るのを待つか
自分で何とかするしかないのかな?
0642デフォルトの名無しさん
2010/06/08(火) 23:23:210643デフォルトの名無しさん
2010/06/09(水) 13:45:12ttp://www.usefullcode.net/2010/05/visual_studio_2010wtl_819127.html
0644デフォルトの名無しさん
2010/06/09(水) 16:19:06それExpressに対応して無いよ
0645デフォルトの名無しさん
2010/06/10(木) 04:59:080646デフォルトの名無しさん
2010/06/10(木) 05:24:51CWindowImpl周りだけならまがい物も作れそうだけど。
0647デフォルトの名無しさん
2010/06/10(木) 10:01:52Windowsコモンコントロールは古臭すぎる。
0648デフォルトの名無しさん
2010/06/10(木) 10:05:160649デフォルトの名無しさん
2010/06/10(木) 10:21:310650デフォルトの名無しさん
2010/06/10(木) 10:29:150651デフォルトの名無しさん
2010/06/10(木) 10:33:020652デフォルトの名無しさん
2010/06/10(木) 10:48:33基本的なウィンドウ生成部分は全部ATL側だから
WTLだけの動作は絶対に無理な気がする
つか、それができたら多分ATLってもう使われて無いような
0653デフォルトの名無しさん
2010/06/10(木) 10:58:45WTLのFrameWindowは不満点多いし。
0654デフォルトの名無しさん
2010/06/10(木) 11:00:08ありがとうございます。では、もう少し具体的に。
ダイアログにボタンとラベルがあって、ボタンを押したらAフォルダからBフォルダに
ファイルをコピーするぐらいの物なのですが、Windows NTで動きますでしょうか?
0655デフォルトの名無しさん
2010/06/10(木) 11:01:170656デフォルトの名無しさん
2010/06/10(木) 11:15:06私が使っているVC++は2005なので、そこは確認済、大丈夫です。
実は、案件でWindows NTで動くちょっとしたプログラムを作らないといけなくなりまして、MFCかATL/WTLでやろうと考えています。
MFCは今更MFCやっても…という考えがあり、ATL/WTLでできるならそっちでやろうと思って質問させて頂いています。
0657デフォルトの名無しさん
2010/06/10(木) 11:20:22WINVER=0x0400
_WIN32_WINNT=0x0400でコンパイルが通れば、普通は動くんじゃない?
ちなみに、古いATLを使うのはセキュリティ上お薦め出来ないよ。
0658デフォルトの名無しさん
2010/06/10(木) 11:33:530659デフォルトの名無しさん
2010/06/10(木) 11:55:52ありがとうございます。
複雑な事をしない単純な物なので、多分、イケるかと思います。
>>658
ですよねw
皆様、ありがとうございました。ATL/WTLの勉強に励むとします。
0660デフォルトの名無しさん
2010/06/10(木) 12:03:190661デフォルトの名無しさん
2010/06/10(木) 14:55:47ありがとうございます。その際はアドバイス通り対応致します。
0662デフォルトの名無しさん
2010/06/12(土) 22:16:03http://nanjitsu.blog57.fc2.com/
0663デフォルトの名無しさん
2010/06/12(土) 22:16:460664デフォルトの名無しさん
2010/06/13(日) 20:45:29調節することって可能?
やっぱりヘッダファイル直修正しなきゃだめかなぁ。
可能な場合メソッド名教えてくだしあ><
0665デフォルトの名無しさん
2010/06/13(日) 21:10:08CPaneContainerImplを継承したクラスを作って
UpdateLayoutをオーバーライトする
0666デフォルトの名無しさん
2010/06/13(日) 21:23:400667デフォルトの名無しさん
2010/06/13(日) 21:25:09ドでしたね
ごめんなさい
0668デフォルトの名無しさん
2010/06/13(日) 21:30:48ソース見たけど、高さを変えるだけなら CalcSize、フォントを変えるだけなら GetTitleFont を
再定義する方が、UpdateLayout よりも簡単そう。
どのメソッドも擬似継承できるように作られてる("pT->" 付きで呼ばれている)
0669デフォルトの名無しさん
2010/06/18(金) 16:20:43マウスのホイール回しでのスクロールが効いたり、効かなかったりします。
・表示直後は効かない
・一回他のウインドウに切り替えた後、戻ってくると効くようになっている
WM_MOUSEWHEELは常に来ているようなんですけど、原因は何が考えられるでしょうか?
0670デフォルトの名無しさん
2010/06/18(金) 16:28:570671デフォルトの名無しさん
2010/06/18(金) 17:15:59ご指摘どおり、原因はフォーカス設定だったようです。
WM_MOUSEACTIVATEでSetFocus()するようにして直ったみたいです。
ありがとうございます。
0672デフォルトの名無しさん
2010/06/20(日) 18:56:31ビュークラスでマウスムーブイベントを作り、wParamからshiftキーの押下状態も取得しているのですが挙動がおかしくなります。
トレース文で色々試した結果の動きです。
・何も押さないマウスムーブ
大体2回くらいずつ全くの同一座標、同じキー押下状態なのにイベント発生する。
マウスを1フレーム?分動かすとトレースが2回でたりでなかったりする。
・shiftを押して右ボタンドラッグのマウスムーブ
長時間Shiftを押してマウスを動かすと、両手を話してもしばらく延々とマウスムーブイベントが発生する。
カウンタを表示してみるとずらずらずらずらっと全くの同一座標で一切マウスを触ってないのにしばらくイベント発生が続く。
そしてそれを放出しきって初めてマウスボタンアップイベントが発生する。
・SHIFTを押して少しだけマウスムーブ
shiftONの状態で動かした分だけトレースが出る。トレースが止まりしばらく放置していると、
数秒後あたりに思い出したようにズラズラズラッとShiftを押して無い状態で座標同一のマウスムーブイベントが十数回連続発生する。
プログラム側の処理遅延では無いと思います。(たいしたことしてない)
何故このようなことになるのでしょうか?
また正しくイベントを受け取るにはどうすればよいのでしょうか?
0673デフォルトの名無しさん
2010/06/20(日) 19:33:360674デフォルトの名無しさん
2010/06/20(日) 20:27:10テキストに書きだすと何か変わるのでしょうか?
一応このマウスムーブに連動した描画処理を見ても、確かにこのトレース結果の通りの
動きをしています。
ぶっちゃけるとマウスムーブで3D図形を回転させているんですが、Shiftを押しながらだと
長時間やるとボタンを離してもしばらくはマウスボタンアップを認識しませんが追従した動きだけはします。
考えてみれば溜まった処理吐き出しとはちょっと違いますね。
しばらくマウスボタンアップイベント発生がお預けになってマウスムーブが割り込みまくっている感じかも。
0675672
2010/06/21(月) 13:27:14マウスクリックの音ですら近所から苦情がくるので、テンキーマウスを使用してテンキーをマウスボタンのように使い、
Keypointerというフリーソフトを使って操作していたのですが、このKeyPointerが原因のようです。
常駐を外して実際のマウスボタンとキーボードで操作すると問題は発生しませんでした。
しかしまともなサイレントマウスはどこも発売しないし、KeyPointerに変わるソフトも見当たらないので、
操作方法を見直すしかないようです。
0676デフォルトの名無しさん
2010/06/21(月) 13:33:20引っ越せよw
0677デフォルトの名無しさん
2010/06/21(月) 14:18:07ゲームパッドをマウス代わりにするソフトでも同じようなことあるかな?
0678672
2010/06/21(月) 14:37:30GetAsyncKeyStateを使って現時点のSHIFT押下状態取得すると正確な値がとれるようです。
これでとった値と、Wparamからとった値を同時表示してみると、
wparamの方はずらずらずらっと遅れた情報送ってるのに対して、GetAsyncKeyStateのほうは機敏に最新状態を反映しています。
サイレントマウスはほんとにマトモなものがないです。
マウスボタンをテンキーマウスのペナペナのテンキーに置き換えればいいだけなのにどこも作りません。
マウスホイールも何も工夫しなければ無音なのに・・・。
マウス作ってる業界では「カチッ!!カチッ!! カリカリカリカリ!!」
という高らかな音を響かせないとそれはマウスと言えないようです。
0679672
2010/06/21(月) 14:43:50マウス位置もLparamからとらずに、
GetCursorPos); // 現在位置取得
ScreenToClient(); // クライアント座標変換
を使った方がいいかもしれません。
結局マウスムーブイベントで分かる情報は「なにやらマウス動かしたらしい」
程度しか正確なものは無いっぽいです。
0680デフォルトの名無しさん
2010/06/21(月) 14:47:480681デフォルトの名無しさん
2010/06/21(月) 15:31:39初めからATL/WTL関係なし
0682デフォルトの名無しさん
2010/06/21(月) 18:39:470683デフォルトの名無しさん
2010/06/22(火) 05:04:310684デフォルトの名無しさん
2010/06/22(火) 07:01:15くそっ爆発しろっ!
0685デフォルトの名無しさん
2010/06/22(火) 07:02:380686デフォルトの名無しさん
2010/07/02(金) 13:23:52CWindow の上に CSplitWindow を配置して、
その上に CPaneContainer と CListViewCtrl を重ねるコードを1つのヘッダファイルに書いていたんですが、
CPaneContainer > CListViewCtrl の時はうまく表示されてたのに、
CPaneContainer > CTabCtrl > CListViewCtrl の構成に変えたら CListViewCtrl が描画されなくなってしまいました。
たぶんメッセージ系の扱いがうまく行ってないと思うのですが、
考えられる問題がありましたらご指摘ください!!!
0687デフォルトの名無しさん
2010/07/02(金) 14:20:25CTabCtrlよりもCTabViewの方がいいんじゃね
0688名無しさん@そうだ選挙に行こう
2010/07/10(土) 19:48:38(上部横一線が透過されて背景が・・・)
これってwtlのせいじゃなくて開発環境のせい?
だれかおしえてください。
0689688
2010/07/13(火) 11:51:370690デフォルトの名無しさん
2010/07/13(火) 14:25:000691デフォルトの名無しさん
2010/07/27(火) 18:02:24これを追加するとそのダイアログバーを開いた瞬間にダイアログが真っ白になってコントロールが表示されなくなります。
実態はなぜかOnPaintが永久に呼ばれているみたいです。(デバッグコメントで確認しました。)
最初はOnPaint契機でピクチャーボックス内に描画する処理があり、その描画の結果再びOnPaintが発生する無限ループかと疑っていたのですが、
描画処理をコメントアウトし、OnPaint関数内ではreturn 0;しかない状態にしても状況が変わりませんでした。
一体なぜこうなってしまうのでしょうか?
またダイアロブが描画されるたびにピクチャーボックス内に画像を書き込む処理を入れないといけないのですが、
別な手段があるのでしょうか?
MFCを使ったアプリケーションでも似たような処理をしていますがこっちでは発生しませんでした。
WTLを使った方でのみ発生します。
ご存じの方がいれば教えてください。
よろしくお願いします。
0692デフォルトの名無しさん
2010/07/27(火) 18:13:370693デフォルトの名無しさん
2010/07/27(火) 18:36:29>OnPaint関数内ではreturn 0;しかない状態にしても
いやこれをやっちゃダメだろう。
BeginPaint〜EndPaint呼ぶなりValidateRect呼ぶなりCPaintDC置くなりしないと
永久に無効領域が有効化されないぞ。
0694デフォルトの名無しさん
2010/07/27(火) 19:52:250695デフォルトの名無しさん
2010/07/27(火) 20:21:49>>693にもあるけど、WM_PAINTをトラップしたら、たとえ何も描画しないとしても
必ずCPaintDCのインスタンスを置く事
じゃないと領域が無効のままになって、WM_PAINTが永遠に発行され続ける
0696デフォルトの名無しさん
2010/07/28(水) 20:51:57これはそういう問題じゃないと
0697デフォルトの名無しさん
2010/07/28(水) 22:34:350698デフォルトの名無しさん
2010/07/29(木) 00:24:26ttp://bygzam.seesaa.net/article/157672929.html
>通常、WM_PAINTのハンドラではBeginPaint/EndPaintやValidateRect等を呼んで、
>無効領域のクリアをしないといけません。しかし、このサンプルではWM_PAINTで何もしていないので、
>無効領域がクリアされず永遠にWM_PAINTが発生し続けます。
>普通はWindowsプログラマがやってはいけないことのタブーを、このサンプルプログラムでは
>画面更新のトリガーに使っています。私の感覚では、気持ち悪いですね。
0699デフォルトの名無しさん
2010/07/29(木) 00:45:39それにしてもWTL関係ないな
0700691
2010/07/29(木) 06:06:02695でのご指摘の通りでした。
OnPaint関数に
CPaintDC dc(m_hWnd);
を付け加えただけで解決しましたが、正直一見して何もしない無駄な行にしか見えず、
いまいち理解しきっていません。
自分なりに色々調べてみます。ありがとうございました。
0701691
2010/07/29(木) 06:09:15dcを使わないならコメントアウトしてもいいけど面倒だから放置している程度の認識で、
まさかこの行が関係あるとは、必須だとは思いもしていませんでした。
0702デフォルトの名無しさん
2010/07/29(木) 06:26:29WTLのソース見れば簡単に分かることだが、
CPaintDCのコンストラクタ/デストラクタ内で、>>693に書いてる
> BeginPaint〜EndPaint呼ぶなり
をやってくれているだけだ。MFC版のも一緒。atlgdi.hを読んでみ
0703デフォルトの名無しさん
2010/07/29(木) 08:26:39猫でもわかる〜あたりを通して読んどけば?
WIN32よくしらんでWTL使うのは無謀すぎると思うケドナー。
0704デフォルトの名無しさん
2010/07/29(木) 08:54:49win32知らないのにわざわざWTL使うなんてメリットないよ。
0705デフォルトの名無しさん
2010/08/15(日) 07:13:14CSplitterWindowをCHorSplitterWindowのように変換するにはどのようにすればよいですか?
0706デフォルトの名無しさん
2010/08/15(日) 11:57:59こりゃめんどくさそうだな
0707デフォルトの名無しさん
2010/08/15(日) 12:26:33切り替えればいいんじゃね?
0708デフォルトの名無しさん
2010/08/15(日) 12:38:440709デフォルトの名無しさん
2010/08/15(日) 19:22:220710705
2010/08/16(月) 22:00:57CSplitterWindowとCHorSplitterWindowの変数を予め定義し、
CSplitterWindowのみ初期化しておき、変更時に
・CSplitterWindowの削除 (DestroyWindow)
・CHorSplitterWindowの作成 (Create)
・スプリッター表示領域の再設定 (m_hWndClient)
・内側のコントロールの親を再設定 (SetParent)
・内側のコントロールの配置設定 (SetSplitterPane)
のような作業をすることで、解決できました。どうもありがとうございました。
0711デフォルトの名無しさん
2010/08/17(火) 01:39:14単に一方を非表示にするとかZオーダー変えて裏に隠すとかするだけでいいのでは
0712デフォルトの名無しさん
2010/08/20(金) 18:20:180713デフォルトの名無しさん
2010/08/23(月) 03:18:32サブクラス化して、WM_SIZEが来たときに子ウィンドウのサイズをタブにあわせて変更しているんですが、
その後本来のコールバック関数を呼ぶと、
タブの位置関係が変わった際にタブウィンドウが再描画された上に、
子ウィンドウが再描画されず隠れてしまいます。
タブコントロール自体のサイズ変更を
WTLのCDialogResizeで行っているため、
タブコントロールをサイズ変更した後にWM_SIZEを捕まえられないのですが、
何か上手い解決方法はありませんでしょうか?
(CDialogResize使わないというのは置いといて…)
0714713
2010/08/23(月) 03:40:06タブコントロールのWM_PAINTひろって、子ウィンドウにInvalidate投げても、
子ウィンドウのスクロールバーだけ描画されません。
0715デフォルトの名無しさん
2010/08/23(月) 19:33:090716デフォルトの名無しさん
2010/08/23(月) 19:52:31作るんじゃなかったっけ?
>>714
スクロールバーはクライアント領域に含まれないので
再描画を強制したいならInvalidateじゃなくRDW_FRAMEを指定してRedrawWindowを呼ぶ
0717713
2010/08/24(火) 04:57:59!!!
WS_CLIPCHILDRENとかWS_CLIPSIBLINGSの存在忘れてました!
…なぜにリソースエディタのプロパティのところで選択できないのか…
>>716
確かにだいたいのサンプルではタブの兄弟ウィンドウで書いてあるのですが…
タブが親ウィンドウいっぱいいっぱいでない場合は、
AdjustRectした後、タブのクライアント座標から、親ウィンドウのクライアント座標に変換しなきゃなので
めんどくさいような…?
いじっていて気づいたのですが、
OnSizeオーバーライドできないので、CDialogResize継承して
bHandled=FASLEでOnSize抜けるものを作るのは無理だと勝手に勘違いしてましたが、
(BEGIN_MSG_MAPのところの)ProcessWindowMessage関数はCDialogResize内から呼ばれないので、
ここを継承クラスで書き換えれば、CDialogResizeにチェインした後WM_SIZE捕まえられますね…
そんなことせんでも、WS_CLIPCHILDRENですべて解決ですが。
0718デフォルトの名無しさん
2010/08/24(火) 05:15:270720デフォルトの名無しさん
2010/08/28(土) 00:04:210721デフォルトの名無しさん
2010/08/28(土) 17:44:51おまえが更新してパッチを送ればいいんじゃね?
0722デフォルトの名無しさん
2010/08/28(土) 18:02:150723デフォルトの名無しさん
2010/08/29(日) 22:16:540724デフォルトの名無しさん
2010/10/09(土) 16:09:410725デフォルトの名無しさん
2010/10/16(土) 15:58:05WDKのATL7.1とWTL8.1を使用しているのですが
WTLのウィザードで生成したコードで
プロパティのATLの使用の項目が「ATLに動的にリンク」
になっているプロジェクトが生成された場合
stdafx.obj : error LNK2001: 外部シンボル "__forceAtlDllManifest" は未解決です。
というエラーが出てビルドできません。
どうすればATLに動的にリンクした状態でビルドできますか?
ちなみに、生成されたプロジェクトで
プロパティのATLの使用の項目が「ATLを使用しない」
となっている場合はビルドできます。
0726デフォルトの名無しさん
2010/10/16(土) 16:30:010727デフォルトの名無しさん
2010/10/16(土) 16:47:080728デフォルトの名無しさん
2010/10/17(日) 09:39:580729デフォルトの名無しさん
2010/10/17(日) 09:51:220730デフォルトの名無しさん
2010/10/17(日) 13:33:45>>639
0731デフォルトの名無しさん
2010/10/17(日) 14:08:400732デフォルトの名無しさん
2010/10/17(日) 14:51:160733725
2010/10/17(日) 14:56:59Expressだから駄目なんだろうか
0734デフォルトの名無しさん
2010/10/17(日) 17:32:280735デフォルトの名無しさん
2010/10/17(日) 17:40:590736デフォルトの名無しさん
2010/10/19(火) 05:16:272009 年 8 月] ATL のベスト プラクティス - Visual Studio リリースの使用
ATL は、ドライバー用の Windows アプレットを作成する必要のあるドライバー開発者の便宜のために WDK に含まれています。ATL は、この範囲を越えたソフトウェア開発のために使用しないでください。
0737デフォルトの名無しさん
2010/10/19(火) 06:49:44どう頑張っても「サンプルをビルドする以外には使ってはだめ」とは読めない
0738デフォルトの名無しさん
2010/10/19(火) 07:07:110739デフォルトの名無しさん
2010/10/19(火) 07:11:59サンプル以外ビルドするなとは書いてない。
0740デフォルトの名無しさん
2010/10/19(火) 11:14:52大概COMで提供してんだから、いい加減ATLくらいWindows SDKに
最新の入れとけよって思うわ
0741デフォルトの名無しさん
2010/10/19(火) 12:33:26金儲けの道具だからだ
0742デフォルトの名無しさん
2010/10/31(日) 03:10:03ブログ(>639)に「MSが御社製品のexeやdllをビルドしていただけます、と返答してきた」と
書いてあるじゃないか。
法律専門家もクソも無い。
と激しく遅レス
0743737
2010/10/31(日) 05:42:58「サンプルのビルド以外での使用禁止」とかいうアホな主張に突っ込んでたんだが・・・
0744デフォルトの名無しさん
2010/10/31(日) 12:31:090745デフォルトの名無しさん
2010/10/31(日) 12:54:120746デフォルトの名無しさん
2010/10/31(日) 13:02:210747デフォルトの名無しさん
2010/11/04(木) 00:59:24http://hibari.2ch.net/test/read.cgi/tech/1286592582/
0748デフォルトの名無しさん
2010/11/04(木) 12:54:220749デフォルトの名無しさん
2010/12/16(木) 20:27:072010のATLウィザードが吐き出しただけのものをビルド・regsvr32で登録には成功しますが、
VB6 のコンポーネントダイアログからそのActiveXを追加しようとすると、
「"〜\testATL2.dll"を読み込めません」と表示されてしまい追加できません。
2005(ATL8.0)のATLウィザードが吐き出したものでは問題なくVB6に追加できていますし、
そのプロジェクトを2010にアップグレード・ビルドし直したものでも問題ありません。
とりあえず、最後の「2005で作成→プロジェクトを2010にアップグレード」の方法で一応事足りるのですが、
できれば 2010 だけで閉じて開発できれば…と考えています。
このあたりの事情をご存知の方はおられないでしょうか…。
0750749
2010/12/16(木) 20:28:59VisualStudio2005 Standard と
VisualStudio2010 Professional を使用しています。
0751デフォルトの名無しさん
2010/12/17(金) 03:46:300752デフォルトの名無しさん
2010/12/17(金) 11:03:480753749
2010/12/17(金) 13:00:04VB6で動くこと、というのはお客さんから提示された条件なので無理です(><)。
>>751
98年リリースらしいのでIE4はあったはず…。
0754デフォルトの名無しさん
2010/12/17(金) 18:28:31「2010のATLウィザードが吐き出しただけのもの」を比較してみては?
0755デフォルトの名無しさん
2010/12/19(日) 21:54:36これは、オープンソースにして逆に失敗したパターンだな
マイクロソフトの管理下だったらVisualStudioと共に
毎回更新されていたはず
何でもオープンソースにすりゃ良いってもんじゃないね
0756デフォルトの名無しさん
2010/12/19(日) 21:57:290757デフォルトの名無しさん
2010/12/19(日) 22:18:180758デフォルトの名無しさん
2010/12/19(日) 22:27:38ずっと更新が無い方が問題だわな
0759デフォルトの名無しさん
2010/12/19(日) 22:59:510760デフォルトの名無しさん
2010/12/19(日) 23:01:36ってまあオープンソースだと意見し辛くなるのはあるかもね。
文句があるならお前がやれって言われそうで。
0761デフォルトの名無しさん
2010/12/19(日) 23:10:590762デフォルトの名無しさん
2010/12/20(月) 00:44:160763デフォルトの名無しさん
2010/12/20(月) 07:35:51WTLニュースグループで更新予定はあると明言されてる
0764デフォルトの名無しさん
2010/12/20(月) 17:08:470765デフォルトの名無しさん
2010/12/20(月) 17:28:01あの記事がポストされてからワクテカで待ってるんだが
全然出る気配がねぇ
実際に出せる段階になったら発表しろ
0766デフォルトの名無しさん
2010/12/20(月) 19:10:12あれは聞かれたから答えただけだろw
0767デフォルトの名無しさん
2010/12/21(火) 03:31:520768デフォルトの名無しさん
2011/01/01(土) 14:14:29おまじない?
0769デフォルトの名無しさん
2011/01/01(土) 14:47:020770デフォルトの名無しさん
2011/01/01(土) 18:56:17個人的にはコピペするとき楽だからなくなってほしいけど…
0771デフォルトの名無しさん
2011/01/02(日) 10:14:390772デフォルトの名無しさん
2011/02/04(金) 08:53:27リソースエディタでイベントハンドラを追加した時、あそこへ
メッセージハンドラ用マクロを差し込んでくれる。
0773デフォルトの名無しさん
2011/02/13(日) 16:51:49↑のサイトを見ながら、ダイアログをAero化しています。
Buttonについては↑と同じクラスを作ってsubclass化することで、ボタンのみを
AeroGlass化させずできて見栄えも上手くいっていますが、
ダイアログ上のリストビューについては、
http://codepad.org/cVODhOPh
↑のようにボタンと同じやり方をすると、リストに項目を追加した際にリストの背景が真っ黒になってしまいます.
リストの背景色を白いままにするにはどうすればよいでしょうか?
0774デフォルトの名無しさん
2011/02/13(日) 18:31:46では、ウィンドウの背景だけを透明化したらどうでしょう?WindowクラスのBackgroundプロパティを透明にすると
その他のコントロールは不透明のままになりましたが、クライアント領域の背景は透明ではなく黒くなってしまいました。
これはクライアント領域の後ろにも黒色のフレームがあり、ウィンドウの背景が透けてそれが見えているようになったためだと思われます。
0775デフォルトの名無しさん
2011/02/13(日) 23:16:340776デフォルトの名無しさん
2011/02/14(月) 00:08:06DWM_BLURBEHIND blur = { DWM_BB_ENABLE | DWM_BB_BLURREGION, TRUE, nullptr, FALSE };
DwmEnableBlurBehindWindow(listBox_, &blur); // リストビューに対して適用
DwmEnableBlurBehindWindow(m_hWnd, &blur); // ダイアログに対して適用
と DwmEnableBlurBehindWindow を適用してみましたが、やはりリストボックスに
項目を追加すると、背景が黒くなってしまいます。
何かいい方法はないでしょうか?
0777デフォルトの名無しさん
2011/02/14(月) 01:52:070778デフォルトの名無しさん
2011/02/14(月) 02:04:010779デフォルトの名無しさん
2011/02/14(月) 02:12:100780デフォルトの名無しさん
2011/02/14(月) 02:57:04DwmEnableBlurBehindWindow をするってことでしょうか?
0781デフォルトの名無しさん
2011/03/05(土) 03:30:13.230782デフォルトの名無しさん
2011/03/05(土) 08:58:31.220783,,・´∀`・,,)っ-○○○
2011/03/12(土) 11:50:20.29詳細はOfficeの開発者ライセンスを参照のこと
0784デフォルトの名無しさん
2011/03/13(日) 12:18:48.39Vista も Platform Update で使えるようになるんじゃなかったかな。
もしそれを利用してるのなら問題ないはず。
Vista より前のOSは動作対象外になるけど。
0785デフォルトの名無しさん
2011/03/27(日) 21:42:18.91何か問題が起きたりしないよね??
0786デフォルトの名無しさん
2011/03/28(月) 01:27:10.92「0xC000001E: 無効なロック シーケンスを実行しようとしました」
というメッセージが出てウインドウを作成できない。
子ウインドウは普通のCWindowImpl。
0787デフォルトの名無しさん
2011/03/28(月) 11:36:43.96C言語の基礎から学ぶべき
0788デフォルトの名無しさん
2011/03/28(月) 23:40:48.840789デフォルトの名無しさん
2011/04/17(日) 02:12:48.810790 忍法帖【Lv=8,xxxP】
2011/04/18(月) 02:24:36.510791デフォルトの名無しさん
2011/04/18(月) 03:24:40.24東日本大震災後、韓国政府が被災で操業停止などに追い込まれた日本企業の工場を
韓国に移転するよう促す案を、日本政府に非公式に打診していたことが17日、明らかになった。
韓国では、主力企業のサムスン電子や現代自動車などを生産面で支える部品・素材産業の
高度化が課題となっており、日本企業誘致のため造成した工業団地への進出を改めて訴えている。
(2011/04/18-02:34)
http://www.jiji.com/jc/eqa?g=eqa&k=2011041700165
0792片山博文MZ
2011/04/19(火) 09:15:52.860793デフォルトの名無しさん
2011/04/19(火) 09:36:46.550794デフォルトの名無しさん
2011/04/19(火) 11:15:57.780795デフォルトの名無しさん
2011/04/19(火) 21:36:41.41言い出すんだよな。
まぁ ATL 使えよ。金払え。
0796デフォルトの名無しさん
2011/04/19(火) 21:49:25.06MFC風ライブラリ作ってる人だな。
viksoeさん目指して頑張れ
MFC、Win32++を超えるライブラリを作るスレ
http://hibari.2ch.net/test/read.cgi/tech/1286592582/
0797デフォルトの名無しさん
2011/04/20(水) 07:38:35.65この人いろいろとだめだな…
0798デフォルトの名無しさん
2011/04/21(木) 00:40:01.11まぁ子供のお遊びレベルだからな
活性化しないム板に子供用砂場が1つくらいあっても誰も文句言うまい
0800片山博文MZ
2011/04/25(月) 13:22:25.37残念です。
0801デフォルトの名無しさん
2011/04/25(月) 14:29:16.060802デフォルトの名無しさん
2011/04/25(月) 16:00:02.820803デフォルトの名無しさん
2011/04/25(月) 18:24:20.92馬鹿かおまえ。
0804デフォルトの名無しさん
2011/04/26(火) 01:52:12.45今は viksoe たんを見守るステータスになってる
0805デフォルトの名無しさん
2011/04/26(火) 12:07:04.970806デフォルトの名無しさん
2011/05/05(木) 08:30:59.80サンクいらなくなる?
つかこれdwRefDataはどうやって管理してんだろ?
0807デフォルトの名無しさん
2011/05/05(木) 09:30:07.170808デフォルトの名無しさん
2011/05/23(月) 14:25:08.57WM_CTLCOLORSCROLLBARは通知されないみたいです
0809デフォルトの名無しさん
2011/06/05(日) 21:08:27.490810デフォルトの名無しさん
2011/06/05(日) 22:42:17.050811デフォルトの名無しさん
2011/06/05(日) 22:45:36.53ダイアログ以外にも使えるやつない?
0812デフォルトの名無しさん
2011/06/06(月) 12:02:47.17CWindowImplを継承した他のビューを表示してるサンプルがあったら教えてくれ。
0813デフォルトの名無しさん
2011/06/11(土) 21:06:01.58Lookupして最初の一つが見つかった後、続けて同じキーを探す方法がわからんです
どうやったらいいですか?
0814デフォルトの名無しさん
2011/06/11(土) 21:19:37.850815デフォルトの名無しさん
2011/06/11(土) 21:31:51.73基本的なとこから見直してきます
0816デフォルトの名無しさん
2011/06/12(日) 19:37:49.520817デフォルトの名無しさん
2011/06/12(日) 19:53:30.40新日本テクトスという会社を追われ、その後どうしてよいかわからなくなりました。
だけど私の大好きな尾崎豊の歌に励まされ、夢であるプロのクリエイターを目指すことにしました。
何度も挫けそうになりましたが、尾崎豊の歌を聞きながら自分を励ましています。
今も尾崎豊の歌のおかげで、夢を諦めずにCGアニメの製作を続けられています。
とりあえず、以下の動画を見てください。一生懸命作ったもので、自分では既にプロレベルの傑作だと思ってます。
できればみなさんのご意見、ご感想を聞きたいです。
復興支援アニメ.mp4
http://www.youtube.com/watch?v=yn4uTiN8vvM
湾岸鉄道キャンペーンCM(カラー).mp4
http://www.youtube.com/watch?v=g3PlX1OAhug&feature=channel_video_title
これは力作で、にしおかすみこさんにも是非見てもらいたかったため彼女のブログにコメントしたんですが無視されました。
http://blog.watanabepro.co.jp/nishiokasumiko/archives/2008/02/22_15_post_22.html
(下の方にあります。投稿者: hekeneko | 2008年03月24日 22:54)
やはり私の才能に気づいてくれる人は中々いないみたいですね(苦笑)。
題名”ラダニアムの翼”
A wing of radaniam_part�U.mp4
http://www.youtube.com/watch?v=keSK70uqDJY
A wing of radaniamu part_�V.mp4
http://www.youtube.com/watch?v=-LRZbXbirR0
題名”hekeneko honey”
http://www.youtube.com/watch?v=kATwf6fAkG8
私の世界観の全てを凝縮した力作です。hekenekoワールドをご堪能あれ。
0819デフォルトの名無しさん
2011/07/03(日) 15:13:17.680821デフォルトの名無しさん
2011/07/28(木) 10:53:16.80頼みのnenadstefanovicたんも1年以上コミットないし。
bugfixもあるから新版出して欲しいんだけど、見込なしかな?
0822デフォルトの名無しさん
2011/07/28(木) 17:39:38.32リサイズするたびにウィンドウ内の配置変えてるの?
0823デフォルトの名無しさん
2011/07/28(木) 18:18:01.780824デフォルトの名無しさん
2011/07/28(木) 21:22:12.84今でもまだWTLでゴリゴリ書いてるが、あんまり不便を感じない。
ラピッドデベロップメントではない分、自由だからまだ好き。
>>822
毎回計算してMoveWindow()
面倒な時はスプリッタ
0825822
2011/07/28(木) 23:50:54.14ありがと。
0826デフォルトの名無しさん
2011/07/29(金) 15:46:37.97設定した領域が変化した時に内側のコントロールを調整する役割を持つ感じ?
0827デフォルトの名無しさん
2011/07/30(土) 02:49:48.300828 忍法帖【Lv=40,xxxPT】
2011/08/03(水) 22:23:43.26ダイアログアプリを作成しようと
思うのですが
Atlがないので無理ということ
なのでしょうか?
また、
他にダイアログアプリを作る
方法があれば、教えて頂けませんか?
0829デフォルトの名無しさん
2011/08/03(水) 22:38:34.710830デフォルトの名無しさん
2011/08/03(水) 22:41:58.270833デフォルトの名無しさん
2011/08/04(木) 17:15:58.620834デフォルトの名無しさん
2011/08/04(木) 19:55:43.74>>639
0835デフォルトの名無しさん
2011/08/04(木) 22:39:27.78>>830
フリーのリソースエディタを
使うという話がありますが
あれは、vc 2008 standardなどの
Atlを使うということですか?
0837 忍法帖【Lv=40,xxxPT】
2011/08/04(木) 23:30:12.22使うのかな?と思いまして。
0838デフォルトの名無しさん
2011/08/04(木) 23:30:17.000839デフォルトの名無しさん
2011/08/04(木) 23:44:06.16解決した。
ダイアログは、win32で作ることですが、
できるのですね。
0842デフォルトの名無しさん
2011/08/26(金) 11:31:41.340844デフォルトの名無しさん
2011/09/11(日) 14:07:59.920845デフォルトの名無しさん
2011/09/17(土) 08:21:45.88WPFで作ってるとWTLが使いたくなる。
0846デフォルトの名無しさん
2011/09/18(日) 21:49:34.98CGroupBox みたいな名前であるかと思ったのですが、ありませんでした。
0847デフォルトの名無しさん
2011/09/18(日) 22:41:29.710848デフォルトの名無しさん
2011/09/19(月) 23:38:13.49CScrollContainerのリサイズに合わせて子ウィンドウをリサイズするだけだと
一瞬横スクロールバーが見えてしまう。
0849デフォルトの名無しさん
2011/09/20(火) 00:56:14.02これは試した?
0850デフォルトの名無しさん
2011/09/20(火) 00:57:34.73全く逆だった
0851デフォルトの名無しさん
2011/09/22(木) 07:58:23.15最終的には全てのコントロールをオーナードローしたいんだが。
0852デフォルトの名無しさん
2011/09/22(木) 08:09:54.080853デフォルトの名無しさん
2011/09/22(木) 09:03:13.670854デフォルトの名無しさん
2011/09/22(木) 10:02:38.920855デフォルトの名無しさん
2011/09/22(木) 11:53:38.43MFCなら行けなかったっけ。
0856デフォルトの名無しさん
2011/09/22(木) 22:06:55.57CCommandBarCtrlをメニューとして表示してるサンプルない?
CReBarCtrlのバグっぽい動作によってグリッパーを消せないでいる。
0857デフォルトの名無しさん
2011/10/15(土) 23:05:41.57MVP?MVVM?
0858デフォルトの名無しさん
2011/10/18(火) 19:46:45.04みんなどこいったんだ。
.NETか?WPFか?Qtか?
0859デフォルトの名無しさん
2011/10/18(火) 22:11:55.01ネタがないだけ。
0860デフォルトの名無しさん
2011/10/19(水) 08:56:14.37C++とATL/WTLを使いたいと思っているのですが、
WTLって上記の用途に使えます?
画面自体は簡単なダイアログレベルのものなのですが…。
0861デフォルトの名無しさん
2011/10/19(水) 11:54:17.45activeXならATLだけでいいんじゃないのかなあ?
作ったことないからよーしらんけど。
自作のWTLソフト、win7までは素直にさくさく動くんだけど
win8dpに入れたら起動が妙にとろい。
まあ、同じWTLのDonutはまあまあだったから
別の問題かもしれないけど。
Atom Z初期型マシンに入れる自分も自分だがw
0862デフォルトの名無しさん
2011/10/20(木) 13:12:11.51普通に使える
使わない理由がない
0863デフォルトの名無しさん
2011/10/21(金) 08:07:39.66回答有難うございます。
簡単なダイアログ程度ならATLだけでも十分そうですが、
もう少し調べて、判断することに致します。
0864デフォルトの名無しさん
2011/10/21(金) 23:47:23.390865デフォルトの名無しさん
2011/10/21(金) 23:49:02.510866デフォルトの名無しさん
2011/10/22(土) 09:25:25.120867デフォルトの名無しさん
2011/10/22(土) 10:58:10.31はやく開発をMSに戻せ
0868デフォルトの名無しさん
2011/10/22(土) 11:00:09.620869デフォルトの名無しさん
2011/10/22(土) 12:03:33.460870デフォルトの名無しさん
2011/10/23(日) 00:28:56.66あと何が必要だよ
0871デフォルトの名無しさん
2011/10/23(日) 00:47:32.20人によってはリボンじゃね?
自分は別にいらんけど。
ぶっちゃけドキュメントもいらない気がした。
0872デフォルトの名無しさん
2011/10/23(日) 10:02:48.570873デフォルトの名無しさん
2011/10/23(日) 11:38:07.85まだバグだらけけじゃねーか
0874デフォルトの名無しさん
2011/10/27(木) 23:10:34.77これは?
You cannot remove RBBS_NOGRIPPER flag from rebar band
http://alax.info/blog/1187
0875デフォルトの名無しさん
2011/11/10(木) 21:11:24.51自分でMoveWindowしないといけないの?
0876デフォルトの名無しさん
2011/11/10(木) 22:56:46.95それ以外の普通のステータスバーなら自分で移動
0877デフォルトの名無しさん
2011/11/23(水) 11:43:59.881ヶ月ほど前に報告していて人がいたけど、よく今まで気付かれなかったな。
0878デフォルトの名無しさん
2011/11/24(木) 18:55:36.450879デフォルトの名無しさん
2011/11/24(木) 23:03:40.36「文字が正しくありません」というスクリプトエラーでプロジェクトファイル作られない・・・
0880デフォルトの名無しさん
2011/11/26(土) 10:10:05.030881デフォルトの名無しさん
2011/12/03(土) 06:59:22.84でC++なんて捨ててやろうと思ってWPF勉強してみたけど糞すぎて戻ってきたよ
0882デフォルトの名無しさん
2011/12/03(土) 09:59:36.090883デフォルトの名無しさん
2011/12/03(土) 17:42:55.37あとはコード内外にしっかりドキュメントがあったり
0884デフォルトの名無しさん
2011/12/03(土) 21:59:30.470885デフォルトの名無しさん
2011/12/04(日) 03:04:41.230886デフォルトの名無しさん
2011/12/04(日) 21:32:32.88いつものごとくMSは軌道修正するよ。
0887デフォルトの名無しさん
2011/12/04(日) 23:04:38.720888デフォルトの名無しさん
2011/12/04(日) 23:54:55.19WPFはだいぶ違うよ。
0889デフォルトの名無しさん
2011/12/05(月) 12:20:14.830890デフォルトの名無しさん
2011/12/05(月) 20:21:45.350891デフォルトの名無しさん
2011/12/23(金) 18:23:19.16どうもヘッダファイルにロジックをゴリゴリ書いているように見えるんだけど
WTLの流儀ってこういうもん?
なんでこんなところにロジック書くのかよくわからないんだけど
0892,,・´∀`・,,)っ-○○○
2011/12/23(金) 18:29:07.480893デフォルトの名無しさん
2011/12/23(金) 18:29:17.420894デフォルトの名無しさん
2011/12/23(金) 18:32:47.500895デフォルトの名無しさん
2011/12/23(金) 18:57:48.880896,,・´∀`・,,)っ-○○○
2011/12/23(金) 19:13:05.650897デフォルトの名無しさん
2011/12/23(金) 20:51:46.90って、テンプレートクラスって普通ヘッダに実装書くんだ。しらなかった。
なんのためにそんなことしてるんだ?
ロジックを追加するときにどこに書いたらいいかわからないんだ
0898デフォルトの名無しさん
2011/12/24(土) 01:32:06.38仕様確認してから言え
0899デフォルトの名無しさん
2011/12/24(土) 01:39:12.04どんだけC++初心者なんだよw
0900デフォルトの名無しさん
2011/12/24(土) 01:42:06.300901デフォルトの名無しさん
2011/12/24(土) 02:18:34.110902デフォルトの名無しさん
2011/12/24(土) 02:18:38.63cppに書くとコンパイル加速装置だお。
...慣れないままいきなり書いたら中途半端な分け方になっちまったぜorz
0903デフォルトの名無しさん
2011/12/24(土) 07:25:32.29もはや使っている人間がいないのか
まあダウンロード数見ても日本で使ってるの
数十人くらいに思えるw
0905デフォルトの名無しさん
2011/12/24(土) 10:29:51.150906,,・´∀`・,,)っ-○○○
2011/12/24(土) 13:42:29.15namespace {
template <int ..> struct hogehoge {...}
};
0907デフォルトの名無しさん
2011/12/24(土) 18:35:35.130908デフォルトの名無しさん
2011/12/24(土) 18:44:27.45Cなら基本だな。C++は知らん
0909デフォルトの名無しさん
2011/12/26(月) 07:32:28.380910デフォルトの名無しさん
2011/12/26(月) 10:57:29.200911デフォルトの名無しさん
2011/12/26(月) 19:24:42.070912デフォルトの名無しさん
2011/12/26(月) 19:29:30.990913デフォルトの名無しさん
2011/12/26(月) 21:01:44.09依存度が必要以上に増えちゃうから
インクルードするインターフェースに依存するだけですむはずのところが
実装にも依存してしまうから
でしょう
0914デフォルトの名無しさん
2011/12/26(月) 23:07:59.710915デフォルトの名無しさん
2011/12/26(月) 23:14:46.850916デフォルトの名無しさん
2011/12/26(月) 23:15:59.130917デフォルトの名無しさん
2011/12/26(月) 23:51:14.700918デフォルトの名無しさん
2011/12/27(火) 13:11:16.43だってコンパイル重いじゃん。。。
別に10分かかるわけじゃないけど。
0919デフォルトの名無しさん
2011/12/27(火) 13:39:53.56関数の名前と引数見れば一瞬でどんなのが用意されていてどう使えばいいかが分かったけど
今はヘッダーに実装までされてるから一覧として見難いんだよな。他人のソース見る
ときはそれが嫌。cppに実装してくれと思う。
自分で実装するときはヘッダーにゴリゴリ書くがなwww
0920デフォルトの名無しさん
2011/12/27(火) 20:04:43.95逆にhとcppの2つのファイルを巡るのがダルイ
ま、一覧としては見づらいのは確かにある
0921デフォルトの名無しさん
2011/12/27(火) 20:21:27.77ほらよ
http://www.usefullcode.net
0922デフォルトの名無しさん
2011/12/27(火) 21:00:32.74IDEが一覧を抽出してくれる
0923デフォルトの名無しさん
2011/12/27(火) 22:25:18.94そのサイト毎日チェックしてたのに
よりによって今日出したのかwww
そことRaptは毎日チェックしてたが
これでその仕事から解放されるおwww
0924デフォルトの名無しさん
2011/12/28(水) 02:06:10.19幅が広がるのはありがたいが、いらねーw
0925デフォルトの名無しさん
2011/12/28(水) 07:50:50.080926デフォルトの名無しさん
2011/12/28(水) 08:02:17.490927デフォルトの名無しさん
2011/12/28(水) 12:16:14.370928デフォルトの名無しさん
2011/12/28(水) 12:25:29.08IDEの各種機能もほぼ使わない。VSだとクラスとか関数一覧からじゃなくて、ファイル一覧からソース開いてるしw
0929デフォルトの名無しさん
2011/12/28(水) 12:39:43.520930デフォルトの名無しさん
2011/12/28(水) 12:55:10.29周りでも使ってる人見たこと無いんだが、どこで使われてるのか
ところで、ATLを使用しないWTLって開発されてたと思うんだが
今どうなってるか分かる人いる?
もしくは、どこで開発情報を手に入れられる?
0931デフォルトの名無しさん
2011/12/28(水) 13:09:30.34今はこっちのURLなのかな?試したらレポよろ
ttps://www.ohloh.net/p/wtl-plus
276: デフォルトの名無しさん 2008/09/21(日) 18:54:22 [sage]
ATLを使わないWTLってどこにあんの?
あるなら欲しいな。
278: デフォルトの名無しさん 2008/09/21(日) 20:57:43 [sage]
>>276
探せばいろいろ出てきそうではあるが一例
WTL++
ttp://code.google.com/p/wtl-plus/
WTL++ is not based on MFC, ATL or WTL.
これは一人でやってるぽい?ついさっき更新されてた
0932デフォルトの名無しさん
2011/12/28(水) 13:37:10.46試す以前にソースが無いw
0933デフォルトの名無しさん
2011/12/28(水) 13:52:37.50ほんとだ。わろたw
setup.exeからインストールするのか?怖くて試してないがこっちはどうかな?
ttp://en.pudn.com/downloads205/sourcecode/windows/control/detail966991_en.html
0934デフォルトの名無しさん
2011/12/28(水) 15:44:45.650935デフォルトの名無しさん
2011/12/28(水) 16:15:03.53せめてトレースポイント使おうぜ
0936デフォルトの名無しさん
2012/01/01(日) 11:29:45.620937デフォルトの名無しさん
2012/01/01(日) 13:12:34.520938デフォルトの名無しさん
2012/01/01(日) 17:05:51.64お前も不親切な奴だなー。知ってるなら教えてやれよw
俺が見つけたところのGetSystemSettingsはレイアウト調整用にGetSystemMetrics呼び出してメンバーに値いれてる。
詳しくはソース読めwww
GetSystemSettingsなんて名前だからシステム設定を呼び出せるようにラッパーしてある関数だと思ったけど何にも使え
なさそうだな
0939デフォルトの名無しさん
2012/01/01(日) 18:12:42.850940デフォルトの名無しさん
2012/01/13(金) 00:40:37.80久々に作りかけのアプリ開発再開しようと思ったが挫折しそうになったが
一カ月ほど掛かったがやっとカンを取り戻せてきた
0941デフォルトの名無しさん
2012/01/13(金) 00:42:16.91> 4,5年ぶりに昔書いたコードみたら全然読めなくなっててわろた
そんなん滅茶苦茶あたりまえ
自分のコードが他人のコードに思えるのには6ヶ月で十分
0942デフォルトの名無しさん
2012/01/13(金) 00:56:10.70読み始めたときは昔のオレすげーて思て衰えを感じたが
読めるようになってくると、なぜもっとコメント書かぬのだと憤慨する
0943デフォルトの名無しさん
2012/01/13(金) 01:00:37.36それ、ものっ凄い普通
つまり、ものっ凄い普通
30歳台かの?
0944デフォルトの名無しさん
2012/01/13(金) 01:06:11.49はい
ただやっぱり色々考えるようになったが、開発スピードは落ちたのは実感する
悲しいことに部品作ってるときが今一番しあわせかも
0945デフォルトの名無しさん
2012/01/13(金) 01:16:32.73スピード落ちたような気がするのは色々なことに気が回るからじゃ
総合的にかかる時間つまりスピードは向上しておる
部品作りは楽しいものじゃ
外的要因が少なく理想に近付けるから
午前の4時間は20歳台のアホを育成することに努力し
何れはあ自分が好きなことをできるように
午後の4時間は(午前の部が完璧にこなせれば)好きなことに努力
これが理想だがのう。
0946デフォルトの名無しさん
2012/01/13(金) 01:25:38.99>読み始めたときは昔のオレすげーて思て衰えを感じたが
あるあるw
俺も久々にWTLさわったら昔ながらのハンガリアン記法にうっ!となったわ。
0947デフォルトの名無しさん
2012/01/13(金) 01:25:50.86なるほど
勇気が湧いてきた
0948デフォルトの名無しさん
2012/01/13(金) 01:33:43.30仕事でやる開発は何故こんなにもツマラナイものなのか
外部要因が多すぎて、調整と説明説得で精神が削り取られるだけ
昔は自分が作ったものを使ってもらえる喜びがあったが
今じゃ、そんなこと手でやれよと思うぐらいつまらない
0949デフォルトの名無しさん
2012/01/13(金) 01:41:18.800950デフォルトの名無しさん
2012/01/13(金) 06:38:05.040951デフォルトの名無しさん
2012/01/13(金) 08:05:24.420952デフォルトの名無しさん
2012/02/05(日) 23:22:42.02表示させたいのですがそういう方法ってあるのでしょうか?
それとも一度ローカルにファイル保存しないとだめでしょうか
0953デフォルトの名無しさん
2012/02/05(日) 23:29:06.65IWebBrowser2からget_DocumentでIHTMLDocument2を取得して
IHTMLDocument2.writeでhtmlを流し込む
0954デフォルトの名無しさん
2012/02/05(日) 23:47:58.490955デフォルトの名無しさん
2012/02/07(火) 06:58:13.53get_DocumentでIHTMLDocument2を取得する際に必ず失敗します
なにか手順とかあるんでしょうか
0956デフォルトの名無しさん
2012/02/07(火) 08:15:16.82IWebBrowser2->get_Document(&pDisp);
CComQIPtr<IHTMLDocument2> spDocument(pDisp);
0957デフォルトの名無しさん
2012/02/07(火) 18:45:08.09なんどもすみません
そのコードだとget_DocumentがS_FAILEになってしまいます。
書いたコードは以下のとおりです
INT_PTR CAddToMyListWindow::OnCreate(LPCREATESTRUCT lpCreateStruct){
LRESULT lRet = DefWindowProc();
HRESULT hRet = QueryControl(&m_pWB2);
if(SUCCEEDED(hRet)){
DispEventAdvise(m_pWB2, &DIID_DWebBrowserEvents2);
}
CComPtr<IDispatch> pDisp;
HRESULT dRet = m_pWB2->get_Document(&pDisp); //<-S_FAILEになる
CComQIPtr<IHTMLDocument2> spDocument(pDisp);
return lRet;
}
0958デフォルトの名無しさん
2012/02/07(火) 18:50:22.71IEコントロールが作成された時点ではまだドキュメントは作られてないんだから当たり前
DocumentCompleteまで待たないと
0959デフォルトの名無しさん
2012/02/07(火) 19:02:14.07標準の状態だと、コマンドバー(ReBar付きのメニューバー)のトップレベルアイテムがフラットな色で描画されてますが
これをfoobar2000のコマンドバーみたいにシステム標準の雰囲気にしたいです。方法を教えて下さい。よろしくお願いします。
ttp://i42.tinypic.com/x2rk0m.png
ttp://i43.tinypic.com/x4rsja.png
0960デフォルトの名無しさん
2012/02/07(火) 19:07:26.19どこにもアクセスしていない状態でやるなら
一度ダミーのURLかhtmlファイルにアクセスしないといけないということでしょうか。
なんとなく無駄な処理をしているような気がして腑に落ちない気もしますが・・・
0961デフォルトの名無しさん
2012/02/07(火) 19:27:42.03簡単な方法はない
自分ででコマンドバー弄れ
>>960
about:blank開けばいい
0962デフォルトの名無しさん
2012/02/07(火) 19:29:39.64ダミーURLとかabout:blankアクセスしたときもDocumentCompleteまたないとダメ
面倒だけどそういうもんだと思って割り切らないとIEはいじれない
0964デフォルトの名無しさん
2012/02/07(火) 22:50:02.08開きたいのですが、出来ますでしょうか?
厄介なのはIEコンポーネントが元から持っているCookieの値を消して新たに独自で定義したCookieを指定してあげたいのですが、
どうもNavigateやOnBeforeNavigateのリファレンスを見てもヘッダーをいじれるのは自分でついかしたもののみみたいなんです。
コンポーネントが元から持ってきたヘッダ情報をいじるのは無理なんでしょうか。
0965デフォルトの名無しさん
2012/02/07(火) 22:55:13.350967デフォルトの名無しさん
2012/02/07(火) 23:30:41.76なんだ見てる人いたのか
0968デフォルトの名無しさん
2012/02/07(火) 23:39:03.94CCommandBarCtrlImplを継承したクラスを作成して
DrawItemをオーバーライドする
0970デフォルトの名無しさん
2012/02/08(水) 00:21:02.63ごめんDrawItemじゃ無理だった
直接CCommandBarCtrlImplのOnParentCustomDrawを書き換えればいける
それか
NOTIFY_CODE_HANDLER(NM_CUSTOMDRAW, OnParentCustomDraw)
をコメントアウトするだけでも大丈夫かも
0971959
2012/02/08(水) 00:58:41.67レスありがとうです
CustomDrawに入り込む寸前でヘッダとにらめっこしてみた所、
m_bFlatMeusという怪しい変数を見つけまして
m_CmdBar.Create(....)の次の行に
m_CmdBar.m_bFlatMenus = false;
と追加した所、すんなりと目的を達成することができました。
良かったら>>970さんも試してみて下さい。
一緒に奮闘してくれてありがとうございました。
0972デフォルトの名無しさん
2012/02/21(火) 20:11:34.81見た目をかっこ良くしろと言われた。
なんか簡単にかっこ良くする方法ない?
0973デフォルトの名無しさん
2012/02/21(火) 20:27:35.55たまにこういうこといい出すやついるよな。ご愁傷さま。
がんばってオーナードローしてもやればやるほどダサくなるしwww
0974デフォルトの名無しさん
2012/02/21(火) 20:33:41.51マジで困ってる。
結構巨大なプログラムなんで全部オーナードローは厳しい。
最初はXPスタイルも適用されてなかったから適用して見せたんだが
「エクセルみたいにならない?」
0975デフォルトの名無しさん
2012/02/21(火) 20:38:09.510976デフォルトの名無しさん
2012/02/21(火) 20:46:16.53面倒だが・・・
どうしてかっこ良くする必要が生じたのかわからないが、気分的に見た目がーっていうなら、作業する
ことで新たなバグを生み出す危険性を言って諦めてもらうのがいいと思うな
0977デフォルトの名無しさん
2012/02/21(火) 20:54:30.33それですむならまだマシじゃね?
0978デフォルトの名無しさん
2012/02/21(火) 21:12:32.75エクセルがかっこ良いってのも凄い感性だw
0979デフォルトの名無しさん
2012/02/21(火) 21:13:12.17とりあえずリボンにしてみるわ。
サンクス。
0980デフォルトの名無しさん
2012/02/21(火) 21:13:16.080981デフォルトの名無しさん
2012/02/21(火) 21:14:42.020982デフォルトの名無しさん
2012/02/21(火) 21:28:15.59OfficeはXPでもリボンだよな?
0983デフォルトの名無しさん
2012/02/21(火) 21:42:22.110984デフォルトの名無しさん
2012/02/21(火) 21:56:45.380985デフォルトの名無しさん
2012/02/21(火) 22:24:13.40ATL/WTL Part7
http://toro.2ch.net/test/read.cgi/tech/1329830536/
0986デフォルトの名無しさん
2012/02/21(火) 22:29:34.100987デフォルトの名無しさん
2012/02/22(水) 00:46:40.50MFCのリボンは、Office Fluent UI ライセンスだった気がする
0988デフォルトの名無しさん
2012/02/22(水) 19:36:39.99>>987
別ライセンスってことは
自社開発じゃなくてどっかから買ってるのかな。
0989デフォルトの名無しさん
2012/02/23(木) 13:07:24.300990デフォルトの名無しさん
2012/02/23(木) 14:12:06.430991デフォルトの名無しさん
2012/02/23(木) 16:53:52.090992デフォルトの名無しさん
2012/02/23(木) 17:36:41.280993デフォルトの名無しさん
2012/02/23(木) 18:30:08.570994デフォルトの名無しさん
2012/02/23(木) 19:01:16.48多段タブにしたいと思い、(CTabView)m_viewのCreate時にTCS_MULTILINEを指定したのですが、何の変化もありませんでした。
ちなみに、指定したフラグです→ TCS_MULTILINE | TCS_RIGHTJUSTIFY | TCS_TABS | WS_CHILD | WS_CLIPSIBLINGS | WS_OVERLAPPED | WS_VISIBLE
次の行にm_view.ModifyStyle(0, TCS_MULTILINE);とかやっても変わりませんでした。
CTabViewを多段にする方法を教えてください。
0995デフォルトの名無しさん
2012/02/23(木) 19:16:06.57m_view.m_tabが実際のタブコントロールだからそっちにスタイル指定しなきゃだめ。
2段になるとビューサイズ位置の調整とかが必要になる?からCTabView派生のクラス作ってやらないと
うまく動かないと思う。
0996デフォルトの名無しさん
2012/02/23(木) 19:37:26.35ありがとうございます。
m_view.m_tabに指定したら多段になりました。
しかし、Viewの領域が多段に対応してないようなので、もう少し粘ってみます。
つまづいたらまたよろしくです。
0997デフォルトの名無しさん
2012/02/23(木) 19:41:25.14atlctrlx.h見てみたけど、m_tab.Create が呼ばれてるのは CreateTabControl() で、
これは OnCreate から pT->CreateTabControl() と呼ばれているから派生クラスで再定義できる
あとクライアントの位置調整は CalcTabHeight() で実装されていて
これも再定義できるみたいだから上手くやればいけるかも知れない
0998デフォルトの名無しさん
2012/02/23(木) 19:50:03.00動的な変化には対応してないっぽい
UpdateLayout() あたりを再定義すればやれるかも知れないけど
ある程度ロジックの追加が必要になりそう
0999デフォルトの名無しさん
2012/02/23(木) 21:04:28.82本当に凄いんですね…
1000デフォルトの名無しさん
2012/02/23(木) 21:24:24.82,、____| |____,、 |
〈 _________ ヽ, | / ヽ
| | | |. |、 .り l
ヽ' 〈^ー―――^ 〉 |/ dく\ しl ノ
,、二二二二二_、 | \ン⌒⌒⌒i
〈__ _ __〉 r-、/ l
| | | |. (⌒ ,.イ l
/ / | | |\. ~|~ ノ l
___/ / | |___| ヽ. | ̄ノ l
\__/ ヽ_____) | ( l
| (______)
───────────────-┘ l ヾ ,イ ̄
l ヾ〜/)\
,,〜ー、 l ハ `l\
10011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。