ATL/WTL Part4
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん
2005/12/12(月) 21:02:31(Part1)ATL/WTL
http://piza.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/
その後合流
ATL/WTL Part3
http://pc8.2ch.net/test/read.cgi/tech/1095442366/l50
WTLの最新版↓
http://sourceforge.net/projects/wtl/
0002デフォルトの名無しさん
2005/12/12(月) 21:06:08The So-Software Studio
ttp://home.att.ne.jp/banana/akatsuki/
WTL研究所
ttp://homepage1.nifty.com/Roy_/Software/WTL/WTL.htm
Windows Template Libraryの概要
ttp://www.mars.dti.ne.jp/~kattoshi/Program/
WTL support list
ttp://groups.yahoo.com/group/wtl/
The Code Project - WTL
ttp://www.codeproject.com/wtl/
viksoe
ttp://www.viksoe.dk/code/
MSDNのATLウィンドウクラス概要
ttp://www.microsoft.com/japan/msdn/library/ja/vccore/html/_atl_ATL_Window_Classes.asp
Virtual Truth Lab.
ttp://lamoo.s53.xrea.com/
0003デフォルトの名無しさん
2005/12/13(火) 01:17:22つ
0004デフォルトの名無しさん
2005/12/13(火) 21:40:050005デフォルトの名無しさん
2005/12/13(火) 22:47:28テンプレのサイトで見つけたと思ったらリンク切れだし。
自分でやってみたけど、メニューだけでも結構大変だな。
0006デフォルトの名無しさん
2005/12/13(火) 22:55:03あとSOに載ってたMS内WTL7.5
ttp://www.microsoft.com/downloads/details.aspx?FamilyID=48cb01d7-112e-46c2-bb6e-5bb2fe20e626&DisplayLang=en
0007デフォルトの名無しさん
2005/12/13(火) 23:24:29落とせたよ?
0008デフォルトの名無しさん
2005/12/13(火) 23:42:05メニューとかStringTableとかも日本語になってる奴ってあります?
あ、リンク切れはテンプレじゃなくてここの奴だった。
ttp://hp.vector.co.jp/authors/VA022575/c/index.html
0009デフォルトの名無しさん
2005/12/14(水) 01:15:44詳しく
0010前スレ892依頼者
2005/12/14(水) 03:34:54正常にタブが表示されるようになっていました。
多分、WTL7.5Finalに更新した辺りからだと思います…
因みに8.0.5347でも大丈夫でした。
皆様、どうもありがとうございました
0012デフォルトの名無しさん
2005/12/14(水) 23:01:520013デフォルトの名無しさん
2005/12/14(水) 23:17:410014デフォルトの名無しさん
2005/12/15(木) 01:24:49あるいはATL/WTL使っている製品て知りませぬか。
MFC→ATL/WTLの乗換えを検討してるんですが、
採用実績はどーなのかと聞かれて答えられず。
0015デフォルトの名無しさん
2005/12/15(木) 01:33:10RADなしならMFCより簡単だな。
ACCESSのMDBとApacheのCGIを繋ぐデーモンプロセスみたいなの書いてる。
0016デフォルトの名無しさん
2005/12/15(木) 01:54:38WTLの実績=Win32APIの実績とでも答えておけばいい。
0017デフォルトの名無しさん
2005/12/15(木) 01:59:53ADOでは何かまずいの?
>>16
「ただのラッパ」でもバグはありえる(事実あった)ので、
そういう回答は企業では通用しないでしょう
0018デフォルトの名無しさん
2005/12/15(木) 02:07:420019デフォルトの名無しさん
2005/12/15(木) 02:29:17MFCの場合は少なくともMSの製品なので、責任の所在(となすりつけ先)は
はっきりしとるわな。
AS ISで提供されてるオープンソースのライブラリではその辺が不安視される。
0020デフォルトの名無しさん
2005/12/15(木) 04:34:420021デフォルトの名無しさん
2005/12/15(木) 07:05:110022デフォルトの名無しさん
2005/12/15(木) 14:09:56具体例は知らないww
0023デフォルトの名無しさん
2005/12/15(木) 19:17:10ATL is not WTL
ATLは製品だから何もモンダイは無い。
0024デフォルトの名無しさん
2005/12/15(木) 22:30:53デフォルトのリソースが日本語じゃないのだけでも士気が下がる
0025デフォルトの名無しさん
2005/12/16(金) 00:08:410026デフォルトの名無しさん
2005/12/16(金) 00:17:50仕事で使う場合、「コレはMFCのバグだから」で許してもらえるほど世の中は甘くない。
0027デフォルトの名無しさん
2005/12/16(金) 00:44:38相手の感情を静めるのには結構有効。
「マイクロソフトが提供するライブラリにバグがありまして・・・滅多に無いことなんですが」
とでも言っておけば、修正が遅れても怒られないかもしれない。
通用しない人には全く通用しないが。
002814
2005/12/16(金) 00:51:29・問題あった時、責任とるのは嫌
・ATL/WTLを使える奴が他に居ない
・MFCでも何とかなるじゃん
で押し切られそう。
最後の「MFCでも何とかなる」を覆せれば、
説得できそうなんだけど…何かネタは無いですか。
0029デフォルトの名無しさん
2005/12/16(金) 00:54:00仕事に使おうとしているのですか?
0030デフォルトの名無しさん
2005/12/16(金) 01:48:47最大の問題点だなw
0031デフォルトの名無しさん
2005/12/16(金) 08:18:210032デフォルトの名無しさん
2005/12/16(金) 09:11:440033デフォルトの名無しさん
2005/12/16(金) 17:51:26たぶん、「>>14が」責任取るのが嫌、なんじゃないのか?w
ATL/WTLにしたおかげでプロジェクトがコケて、お前その責任取れんのかコラ、とか
脅されていると見たw
0034デフォルトの名無しさん
2005/12/16(金) 20:19:470035デフォルトの名無しさん
2005/12/16(金) 22:00:50頑丈さでも効率でも上になるかと思う。
メッセージのルーティングとかMFCは複雑だし。
0036デフォルトの名無しさん
2005/12/16(金) 22:20:330037デフォルトの名無しさん
2005/12/16(金) 22:23:100038デフォルトの名無しさん
2005/12/16(金) 22:29:340039デフォルトの名無しさん
2005/12/16(金) 23:14:10ttp://msdn2.microsoft.com/ja-jp/library/t9adwcde(ja-jp,VS.80).aspx
0040デフォルトの名無しさん
2005/12/17(土) 00:02:370041デフォルトの名無しさん
2005/12/17(土) 09:52:540042デフォルトの名無しさん
2005/12/17(土) 10:11:58スプリッターが
0043デフォルトの名無しさん
2005/12/18(日) 18:37:33WTLにてMSG_WM_CREATE(OnCreate)で、
OnCreate内でGetWindowRect(lpRect);
こんな事しようとすると、atlwin.hの
ATLASSERT(::IsWindow(m_hWnd));
で引っかかる・・・・m_hWndにはちゃんと値入ってるのになんでだ・・
0044デフォルトの名無しさん
2005/12/18(日) 19:30:38CREATESTRUCTのメンバでは駄目か?
0045デフォルトの名無しさん
2005/12/18(日) 19:38:15その中には親のhwndを示すhwndparentしかないからむりぽ・・・
というか、
ttp://home.att.ne.jp/banana/akatsuki/doc/atlwtl/
ここのツールバーやリバーのサンプルソースが同じ様に
実行時にひっかかりまくるのは俺の環境がおかしいのかなぁ
0046デフォルトの名無しさん
2005/12/18(日) 19:46:210047デフォルトの名無しさん
2005/12/18(日) 20:10:310048デフォルトの名無しさん
2005/12/18(日) 20:16:35ツールバー のサンプルソース丸写しでコンパイルし
ReleaseではなくDebugで実行、ってだけです
ちなみに環境は WTLFinal7.5、VC++.NET2002
0049デフォルトの名無しさん
2005/12/18(日) 20:49:170051 ◆Pu/ODYSSEY
2005/12/18(日) 21:32:09初動だけ取りたいなら、OnCreateの中でフラグでも立てて、
OnSizeでフラグ値を判定して実行し、フラグを解除する。
0052デフォルトの名無しさん
2005/12/18(日) 21:46:16そこでも一瞬ウィンドウが現れて、m_hWndは当たり前ですが0では無いのに
ATLASSERT(::IsWindow(m_hWnd));に引っかかります・・・
ウィンドウが表示されてから、数秒後にOnSize()を実行させると
何事も無かったかのように動く・・・
IsWindow(m_hWnd)をうまく通過できるタイミングが全くわかりません。。。
0053 ◆Pu/ODYSSEY
2005/12/18(日) 21:50:19MESSAGE_HANDLER( (foo_flag? WM_SIZE : WM_NULL), OnSizeAfterWindowCreate)
とか
0054デフォルトの名無しさん
2005/12/18(日) 21:53:51GetWindowRectのほかに、というかm_hWndを使うWTLの関数を
OnCreateで呼び出そうとすると上記のようにエラーが起こるのが謎なわけです
0055 ◆Pu/ODYSSEY
2005/12/18(日) 21:54:36デフォの処理を明示的に呼び出してから処理してみては。
0056デフォルトの名無しさん
2005/12/18(日) 22:05:25m_hWndの問題は、うまくいかないぞと思い
CreateExの所を変に書き換えたせいで
実際の問題はATLASSERTに引っかかっていたわけでなく
次の行の::GetWindowRectで、LPRECTをそのまま渡そうとしてたという
間抜けな話です、、、すいませんでした。
0057デフォルトの名無しさん
2005/12/18(日) 22:12:16切腹オススメ
0058デフォルトの名無しさん
2005/12/18(日) 23:59:22しかし二度とやるなこのやろう。
0059デフォルトの名無しさん
2005/12/19(月) 00:38:31部屋の真ん中で1時間全裸で土下座。暖房は切れ。
0060デフォルトの名無しさん
2005/12/19(月) 23:13:430061デフォルトの名無しさん
2005/12/20(火) 02:28:24罰として、雪の積もった学校の校庭にそのコードを書け。
全裸で。
0062デフォルトの名無しさん
2005/12/21(水) 23:37:17デバッグ版だとビルドエラー。リリース版だとエラーなし。
マニフェストの生成方法がVS2005は、変わったみたいだね。
0063デフォルトの名無しさん
2005/12/23(金) 23:16:01「error C2872: 'CString' : あいまいなシンボルです。」の嵐に見舞われます。
WTL::をつける以外に良い方法はないでしょうか?
0064デフォルトの名無しさん
2005/12/24(土) 01:00:02}
でくくる、じゃだめですか?
0065デフォルトの名無しさん
2005/12/24(土) 01:29:05#define _CSTRING_NS ATL
006763
2005/12/24(土) 01:35:31あら、タイミングが。
試してみたんですが atlmisc のせいなのかなんなのか駄目っぽいです。
とりあえず>64氏案でいこうと思います、ありがとうございました。
0068デフォルトの名無しさん
2005/12/24(土) 02:14:030069前スレ853
2005/12/24(土) 07:32:40今、IDataObjectをやっているのですが・・・
OleGetClipboard()でクリップボードの内容を取得することはできるのですが、クリップボードにデータを書き込む事ができません。
OleGetClipboard()で取得したIDataObjectをOleSetClipboard()すること自体はできるわけですが、そのIDataObjectにはSetData()ができないのです。
単にテキストデータをクリップボードに書き込むだけでもIDataObjectを自前で実装しなければいけないのでしょうか?
私は前スレ853なのでSDKレベルでお願いします。
0070デフォルトの名無しさん
2005/12/24(土) 10:43:32defineする場所とインクルードする順番に問題アリな気がする。
0071デフォルトの名無しさん
2005/12/25(日) 18:32:17コントロールをCreateする度にフォントを設定しなおすの面倒・・・
0072デフォルトの名無しさん
2005/12/25(日) 18:49:090073デフォルトの名無しさん
2005/12/25(日) 18:49:55ダイアログベースではなく普通のウィンドウです、リソース無しの。
0074デフォルトの名無しさん
2005/12/29(木) 00:18:490075デフォルトの名無しさん
2005/12/30(金) 05:30:14今、WTLを使用してインターフェイスを構築しているのですが、うまく動作しない箇所があり、困っています。
フレームウィンドウにタブビューを貼り付け、そのタブビューにスプリッタウィンドウを貼り付けているのですが、そのスプリッタウィンドウに
貼り付けているビューが、通知コードやコマンドコード(今回は下位のタブ切替)等を認識してくれません。
tree風にすればこんな感じ
ROOT
└─FrameWindow
└─TabView
└─FrameWindow
├─SplitterWindow
├─PaneContainer
| └TabView
| └TreeView
└─EditView
スプリッタウィンドウの区切り設定のSetSplitterPosもうまく働いていないようです(いつも最左端になる)。ただ、初期位置を指定できないだけで、
区切りの移動等は普通に出来ます
(REFLECTED_)NOTIFY_CODE_HANDLER_EX(NM_CLICK,省略)を2つ目のFrameWindowにセットすると、うまく働き、それ以降のビューで同様にセットすると、
うまく働きません。
以上の事から、2つ目のフレームウィンドウ関連がおかしいと睨んだのですが、対処法がわからないのです。
皆様、力をお貸し下さい…
0076デフォルトの名無しさん
2005/12/30(金) 13:27:050077デフォルトの名無しさん
2005/12/30(金) 18:25:01タブビューの内部をSplitter で区切ってPaneとEdit にしたいなら
2つ目のFrameWindow がいらないんじゃないの?
TabView の子にSplitterWindow を指定したら?
007875
2005/12/31(土) 06:44:09それだと、どうもうまくいかなかったので、FrameWindowをあえて使っています。
それにタブビューはちょっとしたテンプレートを使っているので、タブビュー内の
子は一つにしたかったという、理由もあります…
通知コードの問題は凄い初歩的でした。親(二つ目のFrameWindow)に
DEFAULT_REFLECTION_HANDLERをつけていたみたいです…
絶対なるわけね〜
ただ、それでもSetSplitterPosはうまくいきませんでした。どうも、一度正しい値で
呼び出されてから、xyPos=0,bUpdate=falseでもう一度関数が呼ばれているみたいです
0079デフォルトの名無しさん
2005/12/31(土) 11:57:33008075
2005/12/31(土) 18:11:290081デフォルトの名無しさん
2005/12/31(土) 18:14:37自家製メッセージを PostMessage しといて、その中でやってるけど。
ちみのケースでうまくいくかどうかは知らんがね。
0082デフォルトの名無しさん
2005/12/31(土) 20:42:37なんでFrameの中にFrame入れたいの?
Paneで十分じゃねぇのか
0083デフォルトの名無しさん
2005/12/31(土) 22:43:48そんなもん、俺の勝手だろ
0084デフォルトの名無しさん
2006/01/08(日) 04:47:500085デフォルトの名無しさん
2006/01/08(日) 05:36:160086デフォルトの名無しさん
2006/01/08(日) 12:41:23いや、ネタがないだけ。人はいるよ。
0087デフォルトの名無しさん
2006/01/08(日) 16:56:49ぽっくん悲しい
0088デフォルトの名無しさん
2006/01/08(日) 16:59:360089デフォルトの名無しさん
2006/01/08(日) 21:06:290090デフォルトの名無しさん
2006/01/08(日) 23:46:21年代がわかるな。
>>89
使えないだろ。普通に考えたら。
0091デフォルトの名無しさん
2006/01/09(月) 00:28:57ナイスガイRoger氏のようにやってもツールバーのアイコンを動的に変更できません。
・ツールバーのアイコンは16x16(小)と20x20(大)
・小→大だと、アイコンが全部消えてバンドサイズ変更なし。
・大→小だと、アイコンは小さくなるけどバンドサイズが変更されず、シェブロンが大アイコン時の場所に表示される。
環境:win2ksp4, VC++.NET2003
以下のようにやってみました、プリーズご助言お願いします。
-----------------------------------------
// 大小のイメージリストはクリエイト時に初期化。
// リバーバンドにツールバーを表示
switch (m_nIcon){
case 0: // 小さいアイコン
SetImageList(m_ImageList16);
break;
case 1: // 大きいアイコン
SetImageList(m_ImageList20);
break;
}
CReBarCtrl rebar = GetParent();
int index = rebar.IdToIndex(IDC_TOOLBAR);
int nCount = GetButtonCount();
CRect rc;
GetItemRect(nCount - 1, &rc);
REBARBANDINFO rbbi;
rbbi.fMask = RBBIM_CHILDSIZE;
rbbi.cyChild = rbbi.cyMinChild = rc.bottom;
rebar.SetBandInfo(index, &rbbi);
0092デフォルトの名無しさん
2006/01/09(月) 01:35:030093・∀・)っ-○●◎- ◆Pu/ODYSSEY
2006/01/09(月) 01:40:20ATL Serverってやっぱ魅力的?
0094デフォルトの名無しさん
2006/01/09(月) 01:50:51ttp://www.microsoft.com/japan/msdn/vstudio/express/visualc/usingpsdk/
Microsoft Visual C++ 2005 Express Edition
Microsoft Platform SDK for Windows Server 2003 SP1
2.VS2003から抜いたatlmfcフォルダをVCフォルダ内に置く
atlmfc\ のinclude、lib、srcパスを設定
3.WTL8.0を…(略
0095・∀・)っ-○●◎- ◆Pu/ODYSSEY
2006/01/09(月) 01:56:400096デフォルトの名無しさん
2006/01/09(月) 02:08:54もうすぐ体験版が
0097デフォルトの名無しさん
2006/01/09(月) 03:36:280098本田
2006/01/09(月) 07:59:39> ATL/WTL って、MingW とか gcc とか Borland でもつかえるんですか?
BCB5には、ATL付いてるよ。
Borland Developer Studio 2006には、WTLも付いてるらしい。
0099・∀・)っ-○●◎- ◆Pu/ODYSSEY
2006/01/09(月) 08:19:350100デフォルトの名無しさん
2006/01/09(月) 08:51:07MSDNによればRB_SETBANDINFOするときは
rbbi.cbSize = sizeof(REBARBANDINFO);が必要。
(構造体がver4.71以降拡張されている)
あと、cxMinChild,cxIdealも埋めとく必要がある
REBARBANDINFO rbbi = {0}; // 一応0埋め
rbbi.cbSize = sizeof(REBARBANDINFO); // 追加
rbbi.fMask = RBBIM_CHILDSIZE | RBBIM_IDEALSIZE; // 変更
rbbi.cyChild = rbbi.cyMinChild = rc.bottom;
rbbi.cxMinChild = 0 または 最初のボタンの右端の座標; // 追加(※
rbbi.cxIdeal = rc.right; // 追加
rebar.SetBandInfo(index, &rbbi);
※cxMinChild
詳しくはAddSimpleReBarBandCtrlのソースを参照
0101デフォルトの名無しさん
2006/01/09(月) 14:46:492003のはATL8.0じゃないよ
010291
2006/01/09(月) 16:35:10お答えありがとうございますが、残念ながら無理でございます。
どうにもうまくいかんですなこりゃ。
Donutも同じようなことしてると思うんだけども…うーむ。
0103デフォルトの名無しさん
2006/01/09(月) 16:43:02>>94のどこにATL8.0の話が書いてあるんだ?
0104デフォルトの名無しさん
2006/01/09(月) 18:39:11無理?
実際やって確かめたんだがなぁ・・・
RECTやREBARBANDINFOのメンバーの値はどうなってる?
あと、91のコードってどこに書いてんの?
コードから推測するにツールバーのサブクラスの中だとは思うけど。
0105デフォルトの名無しさん
2006/01/09(月) 19:43:016.0より7.1なだけ。
010691
2006/01/09(月) 22:34:11RECTやREBARBANDINFOもちゃんと高さは変更されてるし、
コードはご推察の通り、ツールバーのサブクラスの中。
と、思ったところで重大なミスが発覚しました。
IDC_TOOLBARじゃなくてATL_IDW_TOOLBARだと成功しました。
つまるところSetDlgCtrlID(IDC_TOOLBAR);し忘れてたわけで…
長々と申し訳ございませんでした、トイレの水がぶ飲みしてきます。
0107デフォルトの名無しさん
2006/01/10(火) 01:34:55本来X86用のブツではないから地雷だろ。
0108・∀・)っ-○●◎- ◆Pu/ODYSSEY
2006/01/10(火) 01:37:40> atlmfc\ のinclude、lib、srcパスを設定
ぶっちゃけ「抜いてくる」ならTeamSuiteのDVDなら8.0のヘッダ群が入手できることになるが。。。さて。。。。
0109デフォルトの名無しさん
2006/01/10(火) 11:13:220110デフォルトの名無しさん
2006/01/10(火) 15:57:040111デフォルトの名無しさん
2006/01/10(火) 21:48:160112デフォルトの名無しさん
2006/01/11(水) 16:04:56C#のstring[]をSOAP経由でATL ServerのIDLで受け取る方法がどうも
分かりまへんintの配列は渡してエラーにならないのだけどなぜBSTR配列は
だめなのです。->soap Exception発生。ちなみに配列でないBSTRの受け渡し
は問題ありません。
インターネットに転がっている情報も配列ではないBSTRの操作ばかりで
まいってます。VS.NET 2003 C# + ATL Server(SOAP)
0113デフォルトの名無しさん
2006/01/12(木) 01:24:46SAFEARRAY?
0114デフォルトの名無しさん
2006/01/12(木) 09:35:59レスサンクス
SAFEARRAYでIDL定義してもエラーになってしまうのです
VARIANTのポインタもだめでした
ピンポイントなMSDNのサンプルもなしでお手上げ状態です
0115デフォルトの名無しさん
2006/01/13(金) 00:12:48_18935_RTL_x86_jpn_ATLMFC_Redist_Debug.cab
0116デフォルトの名無しさん
2006/01/13(金) 14:11:100117デフォルトの名無しさん
2006/01/15(日) 16:34:34http://www.codeproject.com/wtl/WTLExpress.asp
一応な、一応。
0118デフォルトの名無しさん
2006/01/15(日) 19:53:02リソースエディタもない
0119デフォルトの名無しさん
2006/01/15(日) 20:41:55詳しく。
0120デフォルトの名無しさん
2006/01/15(日) 20:56:540121デフォルトの名無しさん
2006/01/16(月) 01:31:12使って・・・
0122デフォルトの名無しさん
2006/01/16(月) 01:35:130123デフォルトの名無しさん
2006/01/16(月) 02:23:57WTLはインテリセンスが効かないことが多くて困るね
0124デフォルトの名無しさん
2006/01/18(水) 01:01:55MESSAGE_HANDLER
NOTIFY_HANDLER
COMMAND_HANDLER
はなにがちがうのですか?
0125デフォルトの名無しさん
2006/01/18(水) 01:06:04http://home.att.ne.jp/banana/akatsuki/doc/atlwtl/atlwtl03-01/index.html
0126デフォルトの名無しさん
2006/01/18(水) 11:01:50?と:を書くやつを教えてください
0127デフォルトの名無しさん
2006/01/18(水) 11:12:370128デフォルトの名無しさん
2006/01/18(水) 21:07:25三項演算子 でググれ。
それとスレ違いだから適したスレに行け。
0129デフォルトの名無しさん
2006/01/18(水) 22:27:46正確にいうとあれは条件演算子。
三項演算子というと単項、二項に対する分類になるが、
まあ三項演算子といえばこれしかないから通じるだけ。
0130デフォルトの名無しさん
2006/01/18(水) 22:27:480131・∀・)っ-○●◎- ◆Pu/ODYSSEY
2006/01/18(水) 23:00:13MFCの同名のクラスやAPI関数のマヌアル見つつ、WTLそのもののソースを読む。
たいした量は無い。斜め読みすれば何をやってるかくらいは把握できる。
0132デフォルトの名無しさん
2006/01/19(木) 00:04:29絶対売れねえだろうけど。
0133デフォルトの名無しさん
2006/01/19(木) 08:46:51きっとほんの2〜3人があちこちに書いてるだけなんだろうな・・・
0134デフォルトの名無しさん
2006/01/19(木) 09:28:190135デフォルトの名無しさん
2006/01/19(木) 11:46:23世間的には大昔に終了
げはははは
0136デフォルトの名無しさん
2006/01/19(木) 11:54:49ATLの開発チームが暇をもてあまして内部用に作ったGUIクラスライブラリだからな
オプソになった時点でat the own risk
どっか別の会社に有償サポートお願いするしかないです><
0138デフォルトの名無しさん
2006/01/19(木) 12:10:090140デフォルトの名無しさん
2006/01/19(木) 12:13:380141デフォルトの名無しさん
2006/01/19(木) 12:19:290143デフォルトの名無しさん
2006/01/19(木) 12:24:08他人がメンテする時のこと考えるとやっぱりメジャーなもの使う。
WTLを使うなら自分だけの小物か自分しかメンテしないものか
または社内でWTL教育するか
0144デフォルトの名無しさん
2006/01/19(木) 13:13:260145デフォルトの名無しさん
2006/01/19(木) 13:19:060146デフォルトの名無しさん
2006/01/19(木) 13:46:52関の山だろ?ドキュメント・ビューを理解して使っている椰子
なんて見たことない。今からだったら.NET Frameworkかもな。
いったん.NET Frameworkで楽すると、もうMFCみたいなポンコツで
使いにくいクラスライブラリなんて使いたくないし、だいいち
VC++でしか使えないという致命的な欠点があるしな。
0148デフォルトの名無しさん
2006/01/19(木) 14:01:58>ドキュメント・ビューを理解して使っている椰子なんて見たことない。
あなたの周りはレベルの低い方ばかりなんですね。
0149デフォルトの名無しさん
2006/01/19(木) 14:07:21WTLでも自前でObserver/Subjectとかやっとる。
つうか自前の方がMFCより柔軟でいい。
0150デフォルトの名無しさん
2006/01/19(木) 14:32:090151デフォルトの名無しさん
2006/01/19(木) 14:52:41ウィンドウクラス決めうちなんで、普通にFindWindowでやったらウィンドウタイトルをユニークにするくらいしかないんですが。
1. サイズ固定フレームウィンドウ(クラス名をユニークにする)+フォーム
→MFCだとこれが多い希ガス。ステータスバーとかも付けられる。
ただ、ダイアログリソースのサイズに親フレームをジャストフィットさせる関数がWTLには無いので('A`)マンドクセ
2. 起動時にテンポラリファイルを作り中身にインスタンスハンドルを書いておく。
→強制終了時に確実に消す方法がない
3. レジストリを使う
→根本的な解決になりません('A`)
4. EnumWindowのコールバック関数でSendMessageで照合
→(゚∀゚)ktkr!!!
最初に起動したインスタンスをサーバ、2回目以降をクライアントとして使うとか色々応用はできそう。
今はこれを使ってる。
でもなんか落とし穴もある?
このへんATLとか使ってスマートにやる方法ってあるんかな。
0152デフォルトの名無しさん
2006/01/19(木) 16:04:550153デフォルトの名無しさん
2006/01/19(木) 16:07:20イメージ的には
1. アプリの初期化時にRegisterWindowMessageでユニークな文字列を登録、これを多重起動チェック用のMessageIDとして使う
2. wParam/lParamはUUIDのポインタとして、送信用UUIDをセットしてSendMessage
3. メッセージ 受信側はwParamのUUID値をチェックし、lParamの表すアドレスに返信用のUUIDを書き込んで返す。
これで、メッセージの送受信に行儀の悪いアプリが割り込む危険性はある程度は回避できるんじゃないかな。
0155デフォルトの名無しさん
2006/01/19(木) 23:20:360156>∀<)っ-○●◎- ◆Pu/ODYSSEY
2006/01/19(木) 23:31:37自分の書いたアプリの別インスタンス相手なら十分アリでしょ。
引数と返り値にユニーク値って手もあるけど十分かどうか不安じゃね?
0157デフォルトの名無しさん
2006/01/19(木) 23:36:49そうすればグローバルアトムが使えてウマー。
0158>∀<)っ-○●◎- ◆Pu/ODYSSEY
2006/01/19(木) 23:37:09ユニーク値として32bitしか使えないのは不安だけど。
0159デフォルトの名無しさん
2006/01/22(日) 08:58:55俺はMFCもWTLも使わずにAPIだけで組んだときは、
不可視のウィンドウ作って、その手の処理はその
ウィンドウ経由でやってた。
0160デフォルトの名無しさん
2006/01/22(日) 10:18:07そういう話でもないのか
0161>∀<)っ-○●◎- ◆Pu/ODYSSEY
2006/01/22(日) 11:13:172重起動の検出までならそれでOK。
「既に起動済みのウィンドウを前面に持ってくる」という動作はMutexだけじゃ無理ス。
この方法のポイントは、別にクラスネームが決めうちであってもなくても使えて、
しかも方法をアレンジすれば3重起動まではOKとか、インスタンス毎に別の動作をさせる
とかの応用がきくこと。
まぁ現実的には二重起動禁止&アクティベートだけなら FindWindow(ClassName, NULL) で検索するのが楽だわな。
ウィンドウフレーム&フォームで作って、若干のダイアログリソースの位置・サイズのズレをCDialogResize<>で補正、
てのもアリかな、と(俺の習作はそーやってる)。
この方法を使うと、ステータスバーも扱えて何かと便利。
0162デフォルトの名無しさん
2006/01/22(日) 12:19:540163>∀<)っ-○●◎- ◆Pu/ODYSSEY
2006/01/22(日) 12:35:37MFCとは違ってエントリポイント(WinMain)直接叩けるから、そこで起動チェックすれば吉。
0164>∀<)っ-○●◎- ◆Pu/ODYSSEY
2006/01/22(日) 12:44:123つ立ち上がった。
ヤバイこれバグだwwwwwwwwwwww
0165デフォルトの名無しさん
2006/01/22(日) 13:01:10共有メモリでウィンドウハンドル保持・閲覧や引数渡し。
0166デフォルトの名無しさん
2006/01/22(日) 15:01:470167デフォルトの名無しさん
2006/01/22(日) 15:23:22なんで同時にいくつも起動するんだ?
だからうちは「二重起動しないでください」で済ませてる
0168デフォルトの名無しさん
2006/01/22(日) 15:26:36既に動いてるインスタンス内で開きたかったりするじゃん。
0169デフォルトの名無しさん
2006/01/22(日) 15:32:09ターミナルサービスもあるし
0170>∀<)っ-○●◎- ◆Pu/ODYSSEY
2006/01/22(日) 15:32:440171デフォルトの名無しさん
2006/01/22(日) 15:36:560172デフォルトの名無しさん
2006/01/22(日) 15:47:42無差別に色んなスレに出現しては荒らしまわる基地外
0173デフォルトの名無しさん
2006/01/22(日) 15:51:40MUTEXは、ユーザコンテキスト別に独立管理されている。
今さらお前が心配をしなくても、MSははるかな昔に手を打っている。
0174デフォルトの名無しさん
2006/01/22(日) 16:26:45「あ〜、それ二重起動しちゃだめなんだよとか言ってたよ。」
「誰だよ、こんなソフト作った奴は…。>>167 か、じゃ、しょうがないな。
あいつ、二重起動禁止の方法とか知らんだろうし、バグは多いし、包茎だし。」
0175デフォルトの名無しさん
2006/01/22(日) 16:36:35カミングアウトしなくてもいいよw
0176デフォルトの名無しさん
2006/01/22(日) 18:05:02図星ついちゃったのかな? (w
0177デフォルトの名無しさん
2006/01/22(日) 18:22:440178デフォルトの名無しさん
2006/01/22(日) 18:23:200179デフォルトの名無しさん
2006/01/22(日) 18:30:300180デフォルトの名無しさん
2006/01/22(日) 18:37:530181デフォルトの名無しさん
2006/01/22(日) 19:00:170182>∀<)っ-○●◎- ◆Pu/ODYSSEY
2006/01/22(日) 19:09:56どっちのCString?
http://www.microsoft.com/japan/developer/library/jpwinpf/_win32_formatmessage.htm
のラッパー関数だよね。
GetLastError()の返値をdwMassageIdに指定すればいいお。
0183デフォルトの名無しさん
2006/01/22(日) 22:44:11既に起動しているインスタンスがあればそちらで開きたい
という場合に、ダイアログベースのアプリケーションでは
FindWindowで一意に絞り込めないという話。
Captionが固定ならそれで検索という手もあるが、大抵は
開いているファイルの名前等を表示していて動的に
変化するからクラス名で検索したいのだが、ダイアログは
全て同じクラス名だから駄目。
0184デフォルトの名無しさん
2006/01/22(日) 23:16:51たいていは FindWindow で事足りているので調べたことはないけどね。
0185デフォルトの名無しさん
2006/01/22(日) 23:25:01このスレは初心者スレではない。Win32APIでやってくれ。邪魔なんだよ。
0186デフォルトの名無しさん
2006/01/22(日) 23:59:280187>∀<)っ-○●◎- ◆Pu/ODYSSEY
2006/01/23(月) 00:32:350188デフォルトの名無しさん
2006/01/23(月) 01:33:230189デフォルトの名無しさん
2006/01/23(月) 18:22:38でもアホ全開のBDS2006の評判を聞いて
これからはVC/WTLで生きることにしました
みなさんよろしくおねがいしました
0190デフォルトの名無しさん
2006/01/23(月) 19:55:52今のところRADツールでは一番バランスがよい。
0191デフォルトの名無しさん
2006/01/23(月) 19:58:48星の数ほどコンポーネントがあるし張っていくだけでできるんだもの
0192デフォルトの名無しさん
2006/01/23(月) 21:21:200193デフォルトの名無しさん
2006/01/23(月) 21:29:040194デフォルトの名無しさん
2006/01/23(月) 22:01:14今の某のヘタレ具合から、使えない奴にこれから教育して使わせる気にはなれない。
まあスレ違いだな。
0195デフォルトの名無しさん
2006/01/23(月) 23:20:49ATL/WTLはおまいが書いたのけ?
0196501
2006/01/23(月) 23:46:500197デフォルトの名無しさん
2006/01/24(火) 00:09:06誰?
0198デフォルトの名無しさん
2006/01/24(火) 00:15:140199デフォルトの名無しさん
2006/01/24(火) 01:51:03↓サンプル
ttp://www.kumei.ne.jp/c_lang/sdk2/sdk_159.htm
0200デフォルトの名無しさん
2006/01/24(火) 02:32:07> さて、このプログラムはちょっと困ったことがおこります。プログラムが起動してから、何らかのエラーで
> 強制的に終了されてしまった場合グローバル・アトム・テーブルに文字列が格納されたままになりますので
> 再度起動することができません。こうなったらコンピュータをリセットするしかありません。
だめじゃん。
0201デフォルトの名無しさん
2006/01/24(火) 06:57:54文字列と最終書き込み時間を書き込んでおいて、
動作中は時々上書き更新するようにしておけば、
一定時間以上前のものは無効とみなしてしまうことで
タイムアウト処理が可能。
0202デフォルトの名無しさん
2006/01/24(火) 07:15:160203デフォルトの名無しさん
2006/01/24(火) 07:38:11if (GlobalFindAtom(MYATOMSTR) == NULL) {
MessageBox(NULL, "初回起動です", "初回起動", MB_OK);
aMyAtom = GlobalAddAtom(MYATOMSTR);
・・・
アトムの存在チェックと作成が別APIだからその間に2重起動
してしまう可能性があるな。
0204デフォルトの名無しさん
2006/01/24(火) 08:11:380205デフォルトの名無しさん
2006/01/24(火) 08:55:480206デフォルトの名無しさん
2006/01/24(火) 09:37:380207デフォルトの名無しさん
2006/01/24(火) 09:50:470208デフォルトの名無しさん
2006/01/24(火) 10:38:520209デフォルトの名無しさん
2006/01/24(火) 11:18:520210デフォルトの名無しさん
2006/01/24(火) 11:56:08生でWin32APIが叩けるのが旨みじゃないのか?
ATL/WTLで用意されてる方法を使ってうまい手段は無いかってのが趣旨なわけだし。
無きゃ無いで、意見が纏まったら多重継承に便利なテンプレート書いて本家にコミットって手もあるわけで。
0211デフォルトの名無しさん
2006/01/24(火) 12:06:36今までそんな趣旨で多重起動云々の話してたやついるか。
0212デフォルトの名無しさん
2006/01/24(火) 12:15:06MFCを使い続けるべきなのか、ATLを使うべきなのか
お前ら教えろ。
0213デフォルトの名無しさん
2006/01/24(火) 12:20:040214デフォルトの名無しさん
2006/01/24(火) 12:23:39最後の行読んでな。何のためのオープンソースだよ。
そもそもMFCなんかと比べて無いものづくめなんだから、そこをベースになってるWin32 APIで
どうにかせざるを得ないわけで、たまにAPIの話題になるのは已む無しだろ。
それがスレ違いならスレそのものが成立し得ない。
VC6.0+WTL3.1の頃から使ってるが、7.5にはあの頃と比べてずいぶんお前の言う「スレ違い」な
機能が取り込まれてるが、それをいったい誰がコミットしたか。ユーザーだよ。
機能を一纏めにしたCTaskTrayAppImpl<>的なものならオレのPCの中にあったと思う。
0216デフォルトの名無しさん
2006/01/24(火) 13:12:180217デフォルトの名無しさん
2006/01/24(火) 19:40:39正常に終わるとき消すだけでは
0218>∀<)っ-○●◎- ◆Pu/ODYSSEY
2006/01/24(火) 21:50:21ぶっちゃけ同じことやったらIrfanViewの多重起動防止モードでも複数起動しますが。
連続クリックとか通常行う操作の範疇では実用に耐えうるし、Mutex併用すれば更に問題茄子。
>>217
ファイルハンドル開いてるときはたしかにロックがかかるが、
暗黙にMutexが使われてるからで、それなら最初からMutex直接使えばいいって話。
EnumWindow使う方法だと、単純に2重起動防止だけじゃなくて3つまで、4つまでならOKとか
いろいろ応用がきくんだな。
オーナーデータ使ったリストビューコントロール拡張クラスが合ってもよさそうなのに
無い件もだけど、そもそも汎用化し辛いとこなのかね。
CWindowWithReflectorImpl<>はどうみてもウンコです。
0219デフォルトの名無しさん
2006/01/24(火) 21:54:57正常に終わらん時があるから悩むわけで。
0220デフォルトの名無しさん
2006/01/25(水) 01:44:18MutexのハンドルをCHandleに放り込んでいますが、何か?
0221>∀<)っ-○●◎- ◆Pu/ODYSSEY
2006/01/25(水) 01:49:45ATL::CWindow wndPrev = ::FindWindow(fooClass, NULL);
if (wndPrev.IsWindow()) {
wndPrev.SendMessage(.ほげほげ...) ;
}
0222デフォルトの名無しさん
2006/01/25(水) 02:17:51HRESULT CMainFrame::GraphInitialize(void)
{
HRESULT hr;
hr = m_pGraphBuilder.CoCreateInstance(CLSID_FilterGraph, NULL, CLSCTX_INPROC);
DEFAULT_ERROR_HANDLER(hr)
#ifdef _DEBUG
hr = m_hLogFile.Create(TEXT(".\\DirectShow.log"), FILE_ALL_ACCESS | SYNCHRONIZE, FILE_SHARE_READ, CREATE_ALWAYS);
DEFAULT_ERROR_HANDLER(hr)
if(m_hLogFile.m_h)
{
hr = m_pGraphBuilder->SetLogFile((DWORD_PTR)m_hLogFile.m_h);
DEFAULT_ERROR_HANDLER(hr)
}
#endif
0223デフォルトの名無しさん
2006/01/25(水) 02:22:19static LPTSTR GetErrorMessage(HRESULT hResult)
{
static TCHAR szResult[MAX_ERROR_TEXT_LEN];
DWORD result = AMGetErrorText(hResult, szResult, MAX_ERROR_TEXT_LEN);
if (result == 0)
{
wsprintf(szResult, "Unknown Error: 0x%X\n", hResult);
}
return szResult;
}
0224デフォルトの名無しさん
2006/01/25(水) 02:41:17みたいなRhymer Rhymeしに登場 聞こえたろう闇に響く音
ビビって興味ない振りしようと 好奇心は日に日に上昇
ならCheckしに行こう here we here we go YO
怪し危うし魔の魑魅魍魎
多分地獄は満杯 溢れ出した連中が団体で列を成して
この世にスタンバイ 奴らの分 場所がまず足んない
道理で季節問わず暑いはず あえてヒートアップさす
いかついVerseを かまして汗かかすぞ
どうせヤケだろ 聞かせな合唱を YO
HA! こいつぁまるで火事場
すげぇ熱気溜まっちまう島国
Danger ますます上がっちまう Come on
(このジパングもうちょいでパンク)
0225デフォルトの名無しさん
2006/01/25(水) 22:00:48WM_SIZEハンドラでステータスのペインの1つにプログレスバーをくっつけようと試みています。
以下はそのWM_SIZEハンドラの中身です。
ゆっくりウィンドウを動かすと一応くっついて来るんですが、
急にグリグリ動かすと何故かズレてしまいます。きちんと追従させる方法は無いでしょうか?
RECT rc;
m_statusBar.GetPaneRect(1,&rc);
m_progressBar.MoveWindow(rc.left, rc.top, rc.right-rc.left,rc.bottom-rc.top, 1);
0226デフォルトの名無しさん
2006/01/25(水) 23:34:11プログレスバーの親ウィンドウは何?
親をステータスバーにしたらうまくいくと思う
0227デフォルトの名無しさん
2006/01/25(水) 23:39:37プログレスバーの親はm_statusBar.Createの戻り値なので
親はステータスバーになってるはずです。。
0228デフォルトの名無しさん
2006/01/26(木) 00:10:38ステータスバーもフレームウインドウに動かされているはずなので、
UpdataLayout();
を先に呼ぶとかじゃ駄目かね?
もしくはステータスバーをサブクラス化して、それのOnSizeで。
0229デフォルトの名無しさん
2006/01/26(木) 01:24:54できました!ありがとう!
CMultiPaneStatusBarCtrlImpl::UpdatePanesLayout(void)が
OnSizeで呼ばれていたので、それを自前で呼ぶようにし
先にUpdateLayout();を呼んでみたらあっさり
何時間悩んだんだ・・・
0230デフォルトの名無しさん
2006/01/28(土) 00:39:57http://www.codeproject.com/macro/wtlhelper.asp
ダイアログアプリでメッセージハンドラの簡単な雛形が
コピーできる頃しか知らなかった。
0231デフォルトの名無しさん
2006/01/28(土) 03:25:210232>∀<)っ-○●◎- ◆Pu/ODYSSEY
2006/01/28(土) 04:12:150233デフォルトの名無しさん
2006/01/28(土) 12:19:550234デフォルトの名無しさん
2006/01/28(土) 16:45:530235デフォルトの名無しさん
2006/01/28(土) 21:29:41もうMFC並だな
0236デフォルトの名無しさん
2006/01/28(土) 22:12:52Expressでは使えんのね・・・
0237デフォルトの名無しさん
2006/01/29(日) 11:06:31Windowsx.hのメッセージクラッカー版ないかなあ…
WTLも使いたくないくらい、サイズ小さくしたいアプリで使えるんだけど…
0238デフォルトの名無しさん
2006/01/29(日) 12:30:56>>230は使ってないのでわからないが、こんなのとか?
http://www.vector.co.jp/soft/win95/prog/se161043.html
0239デフォルトの名無しさん
2006/01/29(日) 19:26:33VC2005Pro で使うと起動するたびにツールバーが初期化されるんだけど
うちだけ?
0240デフォルトの名無しさん
2006/01/30(月) 10:35:54>Add-in for MS VC++.NET 2003 that helps to insert message handlers for WTL.
だからじゃない。
0241前スレ853
2006/02/04(土) 07:00:20VBScriptの「For Each .. In」構文で列挙できるコレクションオブジェクトをSDKレベルで作っています。
For Each・・・ではVBScriptエンジンからIEnumVARIANT::Next()が呼び出されるのですが、これでrgVarに返すオブジェクトについては、返す直前にAddRef()する必要があるのでしょうか?
というか、一般的にオブジェクト(のインターフェースポインタ)をクライアントに返す場合にはAddRef()することが必要なのでしょうか?
0242デフォルトの名無しさん
2006/02/04(土) 08:16:170243デフォルトの名無しさん
2006/02/04(土) 19:26:37リバーやツールバーのクリックを検知するにはどのように書けば良いのでしょうか?
普通に、WM_LBUTTONDOWNじゃダメなようで…
0244デフォルトの名無しさん
2006/02/04(土) 21:43:23そのメソッドにIDirectSound8型の引数を設定したいのですが、
IDLのコンパイル時に「そのような型は定義されていない」と怒られます。
それでdsound.hをincludeすると、
今度はULARGE_INTEGERなどの型が二重定義だと言われてしまいました。
こうなるとdsound.hをincludeする以外の方法で
定義を読み込ませることになるのでしょうか?
どなたかご存知の方いらしましたらお教えください。
0245>∀<)っ-○●◎- ◆Pu/ODYSSEY
2006/02/04(土) 21:49:57鬱だ氏のう DirectX (Part 16)
http://pc8.2ch.net/test/read.cgi/tech/1133007002/
くだすれDirectX(超初心者用)
http://pc8.2ch.net/test/read.cgi/tech/1132965206/
【C++】 DirectX初心者質問スレ Part7 【C++】
http://pc8.2ch.net/test/read.cgi/tech/1132216611/
0246デフォルトの名無しさん
2006/02/04(土) 21:53:240247>∀<)っ-○●◎- ◆Pu/ODYSSEY
2006/02/04(土) 22:02:42MSのサンプルだとATL使ってないけど、多分ATLの無い環境に配慮したのだろう。
多重定義されてるといわれるULARGE_INTEGERの定義を辿ってみるもよし。
IDirectSound8の定義を引っ張り出してきてソースに直貼りするもよし。
↑あくまで個人でプログラム書くならね。
ここでATL/WTL使ってる人はヘッダがドキュメントな人です。
0248デフォルトの名無しさん
2006/02/04(土) 22:15:36そんなにサイズが重要なら、全部Win32 APIを直接使えよ
0249デフォルトの名無しさん
2006/02/04(土) 22:31:57CComPtr<IDirectSound8>とかじゃなくて、
interface hoge : IDispatch{
[id(1), helpstring("メソッド dohoge")] HRESULT dohoge([in] IDirectSound8 *hoge);
};
みたいな話か?
0250デフォルトの名無しさん
2006/02/04(土) 22:44:06まさにそれです。
0251デフォルトの名無しさん
2006/02/05(日) 23:36:57リバーのバンドのサイズがそれに合いません
また、作成時に強制的に合わせても、複数行の表示やリサイズの際に上手く反映されません
解決方法がありましたら教えて下さい
0252>∀<)っ-○●◎- ◆Pu/ODYSSEY
2006/02/06(月) 00:12:390253デフォルトの名無しさん
2006/02/06(月) 16:30:53COMのメモリ管理は完全にルールが決まっています。
Memory Management Rules
ttp://msdn.microsoft.com/library/en-us/com/html/769127a1-1a14-4ed4-9d38-7cf3e571b661.asp
[out]ならCOMコンポーネント側で確保し、COMクライアントが解放します。
既に保持しているインタフェースポインタを返却するのであればAddRef()する必要があります。
0254デフォルトの名無しさん
2006/02/12(日) 18:29:31teamからリソースエディタも抜けた
詳しく、おねがいします。
0255デフォルトの名無しさん
2006/02/13(月) 13:56:410256デフォルトの名無しさん
2006/02/13(月) 16:36:100257256
2006/02/13(月) 16:44:47AxWindowを使用していますが、時折「GetMoniker not implemented」とログに出力されます。
そこで、GetMonikerをきちんと実装しようと考えたのですが、どのようにGetMonikerを実装してよいか分かりません
情報ありましたらよろしくお願いします。
0258デフォルトの名無しさん
2006/02/14(火) 04:43:00基底クラスへCHAIN_MSG_MAPすると、OnCharに飛ばなくなってしまうの
ですが、何故だかわかる方教えていただけませんでしょうか。
class CMainFrame : public CFrameWindowImpl<CMainFrame>
{
BEGIN_MSG_MAP(CMainFrame)
MSG_WM_CHAR(OnChar)
CHAIN_MSG_MAP(CFrameWindowImpl<CMainFrame>)
END_MSG_MAP()
void OnChar(TCHAR vkey, UINT repeats, UINT code){
...
}
}
0259デフォルトの名無しさん
2006/02/14(火) 05:26:590260デフォルトの名無しさん
2006/02/14(火) 05:51:54BEGIN_MSG_MAP_EXでもやっぱりだめでした。
CHAIN_MSG_MAPを消すとOnCharに飛ぶのですが、
CHAIN_MSG_MAP入れると、OnChar, OnKeyDown, OnLButtonUpとかも飛ばなくなります。。
何故でしょう。。
0261デフォルトの名無しさん
2006/02/14(火) 05:58:48atlcrack.hは使ってないから知らん。
0262デフォルトの名無しさん
2006/02/14(火) 06:12:12今やって見ましたが、だめでした。
MESSAGE_HANDLER(WM_CREATE, OnCreate)には行くのですが。。
0263デフォルトの名無しさん
2006/02/14(火) 06:23:430264デフォルトの名無しさん
2006/02/14(火) 07:18:280265デフォルトの名無しさん
2006/02/14(火) 07:24:480266デフォルトの名無しさん
2006/02/14(火) 07:26:240267デフォルトの名無しさん
2006/02/14(火) 07:54:08FORMAT_MESSAGE_FROM_SYSTEMはどうやって指定するの
0268デフォルトの名無しさん
2006/02/14(火) 18:47:34おそらく想定外。
0269デフォルトの名無しさん
2006/02/14(火) 19:23:18デバッガでトレースしてみればすぐに原因が分かると思うが。
まぁ、マクロだらけのソースはトレースしにくいけどね。
0270デフォルトの名無しさん
2006/02/14(火) 20:17:30そもそもWM_CHARハンドラ実装が目的に適しているかどうかも含めて。
0271デフォルトの名無しさん
2006/02/14(火) 21:22:58概ね>>263-266が書いてる通り。
ソースを追えば分ると思うけど、
CHAIN_MSG_MAP(CFrameWindowImpl<CMainFrame>)を入れた場合
最初にWM_SETFOCUSが飛んできた時点で
CFrameWindowImplBase::OnSetFocus()内でクライアントウィンドウ(View)に
フォーカスが行ってしまい、その後のWM_CHARをViewが受けてしまう。
CHAIN_MSG_MAP(CFrameWindowImpl<CMainFrame>)がない場合は
Viewにフォーカスが行かず、CMainFrameがWM_CHARを受けるので
とりあえずOnCharだけはちゃんと動く。(他の箇所で問題が出るはず)
CMainFrameでWM_CHARを捕まえたいなら
PreTranslateMessage()で処理すればいいのでは?
CMessageFilter::PreTranslateMessage()
CMessageLoop::AddMessageFilter()
あたりで
0272デフォルトの名無しさん
2006/02/15(水) 01:40:45Windows Desktop SearchとかWindows DefenderとかXP SP2とかVistaとか
0273デフォルトの名無しさん
2006/02/15(水) 01:55:530274>∀<)っ-○●◎- ◆Pu/ODYSSEY
2006/02/15(水) 02:09:51てか、ディレクトリ別に作るだけだから自分で手入れるのも容易
0275>∀<)っ-○●◎- ◆Pu/ODYSSEY
2006/02/15(水) 02:22:12ごめん、WTL製と断言するイミフ
0276デフォルトの名無しさん
2006/02/15(水) 10:52:47こういう場合あらゆる渡し方を想定してオーバーライドするのが筋だと思うんだけどね
0277デフォルトの名無しさん
2006/02/15(水) 10:53:03記述の仕方で見れるようになりますか?
0278デフォルトの名無しさん
2006/02/15(水) 14:51:23っWTL::CString
0279デフォルトの名無しさん
2006/02/17(金) 17:40:52ページの設定とかもダイアログエディタじゃ出来ないし
0280デフォルトの名無しさん
2006/02/18(土) 00:40:120281デフォルトの名無しさん
2006/02/18(土) 17:54:230282デフォルトの名無しさん
2006/02/18(土) 21:44:320283デフォルトの名無しさん
2006/02/19(日) 13:53:00具はダイアログとして下ごしらえしてタブコントーロールの皿に盛り付けるんだが。
具の下ごしらえはダイアログエディタで出来るし。
0284デフォルトの名無しさん
2006/02/20(月) 17:23:040285デフォルトの名無しさん
2006/02/20(月) 20:24:470286デフォルトの名無しさん
2006/02/20(月) 22:22:010287デフォルトの名無しさん
2006/02/20(月) 23:25:59WTLでOLEドラッグアンドドロップを
使う場合、IDropTarget等を直接使う方法しかないでしょうか?
何か使いやすくテンプレートにまとめた
ものはないのでしょうか?
よろしくお願いします。
0288デフォルトの名無しさん
2006/02/21(火) 00:51:16MFCも一緒だから
文字列で返す関数がないのは
それなりの理由があるんだろ
0289デフォルトの名無しさん
2006/02/21(火) 07:16:40ATLのCWindowの話かとおもた
0290デフォルトの名無しさん
2006/02/21(火) 07:18:570291デフォルトの名無しさん
2006/02/21(火) 11:26:42と
DDX_CONTROL
はどう違うでありますですか?
DDX_CONTROLを使うとビルドーエラーが出るであります。
0292デフォルトの名無しさん
2006/02/21(火) 11:46:270293デフォルトの名無しさん
2006/02/21(火) 16:30:09本に載ってる下のWebサイトにいって無くて困ってます。
http://www.seshop.com/detail.asp?pid=35
0294デフォルトの名無しさん
2006/02/21(火) 19:15:52翔泳社に言え と思って見たら左の関連リンクのとこにあるじゃん
0295デフォルトの名無しさん
2006/02/22(水) 09:12:06CToolBarCtrl bar;
bar.Create()
なんてやるとインテリセンスはMFCのほうのCreate()を表示するんですが、
WTLのCreate()を表示させるにはどうしたらいいんでしょうか?
0296デフォルトの名無しさん
2006/02/22(水) 09:40:05インテリセンスが賢くなるように、MS様にお願いする。
具体的にいうと、ヘッダもしっかりと読んでくれるように。
0297293
2006/02/22(水) 10:28:34ほんとだ、あった。
スマソ
0298デフォルトの名無しさん
2006/02/22(水) 10:42:50●レイヤーウインドウ用にWTLで次のようなダミーのウインドウクラスを作って
class CDummyWindow : public CWindowImpl<CDummyWindow>{}
●次のような実装で表示させてます。
m_dummyWindow = new CDummyWindow() ;
m_dummyWindow->CreateEx(parentHWnd ,&rect ,dwStyle ,dwExStyle ,NULL) ;
m_dummyWindow->ShowWindow( SW_SHOW ) ;
●で、目的は達成出来てるんですが、最後消すときにアラートが出て消すこと出来ないでいます。取りあえずこんな感じ色々試してますが、
SendMessage( m_dummyWindow->m_hWnd , WM_CLOSE , NULL , NULL ) ;
SendMessage( m_dummyWindow->m_hWnd , WM_DESTROY , NULL , NULL ) ;
m_dummyWindow->DestroyWindow() ;
delete m_dummyWindow ;
●最後のdeleteで下のCWindowImplRootのDestructorでアラートが出てしまいます。
virtual ~CWindowImplRoot()
{
#ifdef _DEBUG
if(m_hWnd != NULL)// should be cleared in WindowProc
{
ATLTRACE(atlTraceWindowing, 0, _T("ERROR - Object deleted before window was destroyed\n"));
ATLASSERT(FALSE);
}
#endif //_DEBUG
}
●m_hWndがあることが問題なのはわかるんですけど、どういう手順で殺したらいんでしょうか?よろしくお願いします。
0299デフォルトの名無しさん
2006/02/22(水) 12:16:580300298
2006/02/22(水) 13:08:47レスありがとうございます。取りあえずこんなふうにしてみましたけど、
m_dummyWindow->DestroyWindow() ;
SendMessage( m_dummyWindow->m_hWnd , WM_DESTROY , NULL , NULL ) ;
delete m_dummyWindow ;
今度は「SendMessage」でアラート出てしまいました。
引き続き何か情報ありましたらよろしくお願いします。
自分でも追いかけてみます。
0301デフォルトの名無しさん
2006/02/22(水) 13:28:12自分でWM_DESTROYを送る必要は無いよ。
0302デフォルトの名無しさん
2006/02/22(水) 14:11:30WTL::で始めてもだめか?
あとVC++の設定でインテリセンスが読み込むソースのある
フォルダを指定するところがあった気がする。
>>298
WM_CLOSEがDefWindowProcに届くとDestroyWindowが呼ばれる。
0303298
2006/02/22(水) 17:02:48まだ、可決に至ってないんですが、
そもそも、標準的なウインドウを閉じる処理はどういうふうに実装するべきなんでしょうか
サンプルなど示していただける助かります、よろしくお願いします。
0304デフォルトの名無しさん
2006/02/22(水) 18:46:44ソリューションのヘッダファイルにWTLってホルダ作って登録すれ
0305デフォルトの名無しさん
2006/02/22(水) 20:18:16まさかWTLのウィザードも使ったことないとか?
0306デフォルトの名無しさん
2006/02/23(木) 14:27:38.NET 2003であれば、
ツール→オプション→project
でソースディレクトリを設定すればOK
0307298
2006/02/23(木) 15:50:15とりあえず、WM_CLOSEから順々にWM_DESTROY、WM_NCDESTROYと処理出来るようになり、Windowsを閉じることが出来たんですが、
今度は、その閉じたWindowにメッセージが送られてしまい0xfeeefeeeのアドレス実行しようとして例外が発生してしまいました。
具体的には、
CWindowImplBase::WindowProcから自前で実装したWindowクラスのBEGIN_MSG_MAPに処理が移ろうとしてるんですが、その実体は既に削除されているためにエラーしているようです。
メッセージの発信元を辿ると親のメッセージループのTranslateMessage(&m_msg);からメッセージが送られてるようでした。
WM_NCDESTROYのタイミングでメッセージループから送られないように実装すれば解決出来るかと思うんですが。。。
何方か情報ありましたらよろしくお願いします。
0308デフォルトの名無しさん
2006/02/23(木) 16:37:300309デフォルトの名無しさん
2006/02/23(木) 18:50:16SendMessage(m_dummyWindow->m_hWnd, WM_CLOSE, NULL, NULL);
SendMessage(m_dummyWindow->m_hWnd, WM_DESTROY, NULL, NULL);
m_dummyWindow->DestroyWindow();
delete m_dummyWindow;
元のコードで上に相当する部分が今はどうなっているか書いてみろ。
0310デフォルトの名無しさん
2006/02/23(木) 19:55:320311デフォルトの名無しさん
2006/02/23(木) 23:21:47そんなもん人の勝手じゃないですか
0312デフォルトの名無しさん
2006/02/24(金) 00:07:210313デフォルトの名無しさん
2006/02/24(金) 03:33:56newやdeleteは内部でmallocやfreeを使っていて、
mallocやfreeは内部でGlobalAlloc,GlobalFreeといったAPIを使っていると理解していたのですが違うのでしょうか?
0314デフォルトの名無しさん
2006/02/24(金) 07:12:01ちゅうか、BEGIN_MSG_MAP〜END_MSG_MAPを使ってるのなら、
WM_CLOSE以降のメッセージを、いちいちハンドルしなくていいから。
0315デフォルトの名無しさん
2006/02/24(金) 07:17:410316デフォルトの名無しさん
2006/02/24(金) 19:29:06自前のデータクラスを簡単にスマートポインター化するにはどうしたらいんですか?
出来ればclsidとか考えないで、newとdeleteだけをサクッと置き換えたいだけなんですけど、
良い方法ありますか?
0317デフォルトの名無しさん
2006/02/24(金) 20:09:350318デフォルトの名無しさん
2006/02/24(金) 20:24:350319デフォルトの名無しさん
2006/02/24(金) 20:43:37COMとは無関係ならboost::scoped_ptrやboost::shared_ptr類が一般的。
0320316
2006/02/24(金) 20:53:47CAutoPtr、boost::scoped_ptr、boost::shared_ptr
参考になりました。
とりあえず、CAutoPtr使ってみます。
0321デフォルトの名無しさん
2006/02/25(土) 00:29:340322デフォルトの名無しさん
2006/02/27(月) 02:01:080323デフォルトの名無しさん
2006/02/28(火) 10:59:07VBの場合、
Set fso = CreateObject("Scripting.FileSystemObject")
JScriptの場合、
fso = new ActiveXObject("Scripting.FileSystemObject");
方法ご存じでしたらよろしくお願いします。
0324デフォルトの名無しさん
2006/02/28(火) 17:54:04スレ違い、APIスレイケ。
0325323
2006/02/28(火) 19:54:02そうですか、逝ってきますぅ。
0326デフォルトの名無しさん
2006/02/28(火) 22:00:090327sage
2006/03/01(水) 15:50:09ものすごく亀レスだけど
自分で”autoexp.dat”を書き換えれば見られる。
0328デフォルトの名無しさん
2006/03/02(木) 00:27:200329デフォルトの名無しさん
2006/03/02(木) 00:28:010330デフォルトの名無しさん
2006/03/02(木) 09:15:590331デフォルトの名無しさん
2006/03/02(木) 11:43:400332デフォルトの名無しさん
2006/03/02(木) 12:40:24ATLを使って出来るなら教えてやればいいじゃないか
0333デフォルトの名無しさん
2006/03/02(木) 17:45:590334デフォルトの名無しさん
2006/03/02(木) 22:28:510335デフォルトの名無しさん
2006/03/02(木) 22:40:07ATL的にはCComObject::CreateInstance()だな
0336デフォルトの名無しさん
2006/03/03(金) 13:11:300337デフォルトの名無しさん
2006/03/03(金) 16:29:040338デフォルトの名無しさん
2006/03/03(金) 20:43:380339デフォルトの名無しさん
2006/03/03(金) 23:55:130340デフォルトの名無しさん
2006/03/05(日) 16:22:20CTheme とつられてみる
0341デフォルトの名無しさん
2006/03/05(日) 19:32:15バイナリから、JScriptの関数を呼びだすコードを書いております。
関数の呼び出しはできるのですが、JScript上の関数に引数を渡さなければいけない
場合に、どのように渡せばよいかわからないことがあります。
現在はまっているのは、JscriptのArray型です。
SAFEARRAY で CComVariantに渡してみましたが、
JScript上の関数内で、Arrayのlengthプロパティを使用できませんと
言われてしまいます。
この場合は、どのように渡せばよいのでしょうか?
また、 参考になるようなページはありませんでしょうか?
JScriptの関数呼び出しには、Invokeを使用しています。
よろしくおねがいします。
0342デフォルトの名無しさん
2006/03/05(日) 21:06:24俺はJScriptの配列を直接作る方法を知らない。
JScriptを変更できるなら、引数をVBArrayとして受けて、そこからtoArrayで変換するようにすればよいようだ。
http://msdn.microsoft.com/library/ja/jpdnvid/htm/VintrDev/videv6/vbnjscrpt.asp
(ここのVBScriptからJScriptへの配列の受け渡しの項)
0344デフォルトの名無しさん
2006/03/06(月) 08:13:340345デフォルトの名無しさん
2006/03/08(水) 19:54:48CreateInstance なんかで Array を作ってやればいけると思う。
ただ、GUID も ProgID も知らないから、そこら辺は自分で調べて。
ちょっと前まで、SAFEARRAY と、Array オブジェクトの相互変換を行う
JSafeArray つー ActiveX があったけど、今はどうなっているやら。
0346デフォルトの名無しさん
2006/03/08(水) 23:39:420347デフォルトの名無しさん
2006/03/10(金) 00:34:422003でマネージドC++触ってみたけど、.NET Frameworkよさげだね。
必要なところだけネイティブコードにできるし、ATL/WTLいらなくなりそう。
0348デフォルトの名無しさん
2006/03/10(金) 07:39:42.NETもまた完璧ではない
0349デフォルトの名無しさん
2006/03/10(金) 07:56:05ないものは作る
それでいいじゃないの
0350デフォルトの名無しさん
2006/03/10(金) 08:08:59になるわな
0351デフォルトの名無しさん
2006/03/10(金) 08:18:430352デフォルトの名無しさん
2006/03/10(金) 08:45:312005のC++/CLIは見た目にも良くなっている。
0353デフォルトの名無しさん
2006/03/10(金) 09:15:00API呼んでもunmanagedにならないんだ
0354デフォルトの名無しさん
2006/03/10(金) 09:18:11生意気言ってすみませんでした。
0355デフォルトの名無しさん
2006/03/10(金) 13:40:50ATL/WTLはそれまでの命
0356デフォルトの名無しさん
2006/03/10(金) 18:30:28.net framework 2.0 という組み合わせはいけると感じた
0357デフォルトの名無しさん
2006/03/10(金) 20:39:29な り ま せ ん が な に か ?
0358デフォルトの名無しさん
2006/03/10(金) 21:30:09ずっと進歩的な感じがするが。
0359デフォルトの名無しさん
2006/03/11(土) 00:04:50ダイアログリソースからクラス作成したら固まった(´・ω・`)
0360デフォルトの名無しさん
2006/03/11(土) 00:30:37まあ結局は、WTLの作者様達がどこまでがんばってくれるか
それ次第ってところだな
開発停止になったらそこで終わりだ。
WTLは好きだが、将来確実に消えそうな気がする。
0361・∀・)っ-○●◎- ◆Pu/ODYSSEY
2006/03/11(土) 00:52:430362デフォルトの名無しさん
2006/03/11(土) 00:55:460363デフォルトの名無しさん
2006/03/11(土) 00:57:550364・∀・)っ-○●◎- ◆Pu/ODYSSEY
2006/03/11(土) 00:59:36Win32 API並かそれ以上なら普通に乗り換えてそうな気もする。
0365デフォルトの名無しさん
2006/03/11(土) 08:16:310366デフォルトの名無しさん
2006/03/11(土) 09:34:19やっぱ全部それにしちゃうのは無理あるとオモタ。
0367デフォルトの名無しさん
2006/03/12(日) 00:08:47移れない場合は WTLを使い続ければ良いんじゃね?
0368デフォルトの名無しさん
2006/03/12(日) 01:21:21.netは失敗してWindowsDNA同様死語になって欲しいところ
0369デフォルトの名無しさん
2006/03/12(日) 01:57:150370デフォルトの名無しさん
2006/03/12(日) 17:15:360371デフォルトの名無しさん
2006/03/12(日) 18:53:57開発者が32ビット用アプリと64ビット用アプリとを、別々に
ビルドしなきゃならんような事態を回避したかったんだろう。
ところが.NET Frameworkのチューンナップも普及も、今ひとつ
進まんうちに64ビットOS時代が来そうなので、右往左往していると。
0372デフォルトの名無しさん
2006/03/13(月) 04:59:50スバリ、あなたの言う通りの予感。
0373デフォルトの名無しさん
2006/03/13(月) 08:41:38残るItaniumとPPCはもともと特注前提だしバイナリ互換不要
0374デフォルトの名無しさん
2006/03/13(月) 12:41:59MSはハードウェアアーキに依存しないシステムを用意したかったらしい。
つーかMSの中の人はPPCやAlphaも視野に随分前から入れてた。
x86に縛られるのが嫌だったみたいだな。
まぁ、カトラーがx86嫌いだしw
0375デフォルトの名無しさん
2006/03/13(月) 13:31:46ま、そういううわさ話が一人歩きしてるくせに、次のMSのOSではソケットもカーネルに押し込むようになっちまってたり。
イマイチ、出てる話は本当に思えないモノばかり。
0376デフォルトの名無しさん
2006/03/15(水) 16:23:110377デフォルトの名無しさん
2006/03/15(水) 22:46:49????.idl
????.rgs
あと、ソース中のCLSIDはuuidgen.exeで生成して、それぞれ整合性を合わせてみたんですけど、
実行するとコンポーネントをCoCreateInstanceさせようとしたとこで、エラーが出てしまいます。
どっかやり忘れてるとこありますか?
0378デフォルトの名無しさん
2006/03/15(水) 23:17:490379デフォルトの名無しさん
2006/03/16(木) 00:55:42の状態を保存する機構は提供されてないのでしょうか?
自分でシコシコ書くしかない?
0380デフォルトの名無しさん
2006/03/16(木) 13:35:09CoCreateInstanceのHRESULTは何か?
0381デフォルトの名無しさん
2006/03/16(木) 13:48:03早速戻り値調べてみました。
CComPtr<IUnknown> spUnknown;
HRESULT result = spUnknown.CoCreateInstance(__uuidof(COMPONENT_NAME) ) ;
ATLTRACE( "%lx\n" , result ) ;
結果はヘキサーで「80040154」でした。
普段戻り値をFAILEDマクロでエラーを判断してました。
何か情報ありましたらよろしくお願いします。
0382381
2006/03/16(木) 14:19:19一応「regsvr32」で登録するも結果は変わらずでした。(エラー無いようでした)
0383デフォルトの名無しさん
2006/03/16(木) 16:20:25全部変える。インタフェイスIDは変えなくてもいいけどわからないんなら変えとけ。
0384デフォルトの名無しさん
2006/03/17(金) 22:43:59CreateSimpleToolBarCtrl()でツールバーを作ってリバーに乗せようと思ったんだけど
↑は第二引数にツールバーのリソースIDを指定しなくちゃならない
いろいろ試したけど、このリソースは16色、16*15サイズに限られるみたいで、それが嫌で
主導でCToolBarCtrl::Create()を使ってツールバー構築して、フルカラーのアイコンにして、
リバーに乗せて、ここまでは良かったのだけど、
親ウィンドウの大きさを変えると透過ツールバーだったのが透過しなくなったり、
ボタンが表示されなくなったり、良く分からないバグに悩まされて散々な目にあいました
CreateSimpleToolBarCtrl()のコードを見て真似したつもりなのだけど…
どこかで間違ってると思うんですがどこで間違ってるのかずっと分からないんです
CreateSimpleToolBarCtrl()を使わないで24bitのアイコン使ったり
自由自在にツールバーを操作してるようなコード例ってどこかに無いでしょうか?
最後まで読んでくれた方ありがとう、長文すいませでしたorz
0385デフォルトの名無しさん
2006/03/17(金) 22:58:01>CreateSimpleToolBarCtrl()のコードを見て真似したつもりなのだけど…
俺も昔これを真似して::Create()からこつこつ書いたものをコピペします。参考になれば幸いです。
下記のコードで使用しているアイコンのbmpは8bitで、黒の背景が勝手に透過されました。わけわからん。
m_navbar.Create(m_hWnd, 0, 0,
WS_CHILD|WS_VISIBLE|WS_CLIPCHILDREN|WS_CLIPSIBLINGS|
CCS_NODIVIDER|CCS_NORESIZE|CCS_NOPARENTALIGN|
TBSTYLE_TOOLTIPS);
m_navbar.ModifyStyle(0, TBSTYLE_FLAT);
m_navbar.SetButtonStructSize(); // AddButtonsの前に必ず呼び出す
m_navbar.SetButtonSize(CSize(19, 19)); // 数字は今のところ適当
m_navbar.SetBitmapSize(CSize(16, 16)); // 同上
HBITMAP bm = AtlLoadBitmapImage(
L"default.bmp", LR_LOADFROMFILE | LR_CREATEDIBSECTION);
m_navbar.AddBitmap(/* アイコンの個数 */, (HBITMAP)bm);
// ここからやっとAddButtons等でボタンを追加
AddSimpleReBarBand(m_navbar, 0, 1);
UIAddToolBar(m_navbar);
0386デフォルトの名無しさん
2006/03/17(金) 23:20:08ありがとうございます。
自分の手元にあるコードと同じ感じです
SetButtonStructSizeを呼び出さないと駄目って辺りが、
MSDNのMFCの方のCToolBarCtrlの使い方には書いてなくて、嫌らしい感じです。
そこで数時間ハマりました。
BitMapの黒い背景はCImageListで抜き色をMask指定してやればいいと思うのですが、どんな方法があるのでしょうね。
MSDN見てもMFCとATLは微妙に違ったりして分かりにくいし、Windowsのプログラミングは難しいです
十数時間格闘して未だにツールバーが使いこなせません…orz
0387デフォルトの名無しさん
2006/03/17(金) 23:45:27うーむ、難しいですね。
「ボタンが表示されない」という現象については、TBSTYLE_FLATスタイルの付け忘れではないでしょうか?
ただし、ModifyStyleによって後から付け足さないと.manifestによるxpスタイルを適用した時に
リバーの背景が真っ黒(真っ白?)になった経験があります。
「親ウィンドウの大きさを変えると〜」は起きた事がないですね・・・
>>384でAtlLoadBitmapImageに指定するLR_CREATEDIBSECTIONは
24bit bmpだと真っ黒にされてしまうようでした。
8bit bmpで指定した場合は運良く黒が透過されていたようで、もう何がなんだかorz
0388デフォルトの名無しさん
2006/03/17(金) 23:53:54>ModifyStyleによって後から付け足さないと
あー、それかもしれません。いつか聞いたことがあるような無いような…
私は最初からFLATスタイル付けてました。それだと駄目なんですね。
自宅に帰ったら試してみます。ありがとうございました。
ちなみにそれ、MSDNかどこかに書いてましたか…?
Bitmap周りの操作は本当に複雑で難しいですよね
私も現在進行形で苦労してて的確なアドバイスが出来ないです。すいません。
皆悩むところは同じですね…
0389デフォルトの名無しさん
2006/03/18(土) 00:25:52ググって偶然出てきた感じでMSDNには書いてなかったような気もします。
xpスタイルを適用しない場合は、最初からでもTBSTYLE_FLATが付いていれば
こちらでは、ボタンは表示されてました。
それ以外には原因は思い当たらないです・・・
0390デフォルトの名無しさん
2006/03/18(土) 00:34:570391デフォルトの名無しさん
2006/03/18(土) 09:22:50コンストラクタで処理するようになったのでInitは要らなくなった。
http://msdn.microsoft.com/library/ja/vccore/html/vcgrfATLModuleClasses.asp
0392デフォルトの名無しさん
2006/03/18(土) 11:38:33なんか気持ち悪いですな
0393デフォルトの名無しさん
2006/03/18(土) 12:07:010394デフォルトの名無しさん
2006/03/18(土) 13:12:57コンストラクタで必ず初期化する仕様だと、初期化するタイミングを選べなくなる。
0395デフォルトの名無しさん
2006/03/18(土) 13:20:180396デフォルトの名無しさん
2006/03/18(土) 13:28:230397デフォルトの名無しさん
2006/03/18(土) 13:29:54あとはコンストラクタだと良くない事が起こった時に例外を使わざるをえなくなるのが、
昔はけっこうつらかったんじゃないかねえ。
0398http://www.vector.co.jp/soft/win95/util/se072729.html
2006/03/18(土) 18:57:55もしくは64bitにネイティブ対応した置換ソフトないですか?
0399デフォルトの名無しさん
2006/03/18(土) 19:30:17今はちゃんと規約化されてコンパイラに実装されてるから、安心して使えようになったと。
0400デフォルトの名無しさん
2006/03/20(月) 18:36:16atlsync.hにCEvent等の同期オブジェクトクラスがあるのですが
ATLの名前空間にあるのに、MSDNにはMFCのCEventしか載ってません。
これらは使っていいのでしょうか?
0401デフォルトの名無しさん
2006/03/20(月) 18:39:020402デフォルトの名無しさん
2006/03/21(火) 01:02:24回答に誠意が感じられないわけだが
はい次の回答者どうぞ
0403デフォルトの名無しさん
2006/03/21(火) 10:45:110404デフォルトの名無しさん
2006/03/21(火) 13:59:21長期間保守・拡張するつもりなら使うべきではないだろうな。
0405デフォルトの名無しさん
2006/03/21(火) 16:48:370406デフォルトの名無しさん
2006/03/25(土) 13:03:270407デフォルトの名無しさん
2006/03/25(土) 14:29:180408前スレ853
2006/03/32(土) 21:40:07CreateFileMoniker()で作成されるIMonikerオブジェクトは、BindToObjectでファイル内にあるOLE情報を読み取って対応するサーバを起動するようなのですが、このような情報を含むファイルを作成するにはどうしたらよいのでしょうか?
というか、これってどういう仕組みなんですか?
0409デフォルトの名無しさん
2006/04/02(日) 19:57:51CWindowImplだと、クラス名(WC_LISTVIEW)を受け付けてくれなくて参っちまってます。上手い手ないっすかね。
0410デフォルトの名無しさん
2006/04/02(日) 21:14:10CSortListViewCtrlを参考にしてみれば?
0411デフォルトの名無しさん
2006/04/02(日) 22:13:03サンクスです、真似してCListViewCtrl::GetWndClassName()で上手く行きました。
…というか、うにこーど考慮してたのが駄目だったみたいっす、すんません
0412デフォルトの名無しさん
2006/04/02(日) 22:15:57こんな感じでどうや?
class CMyListViewCtrl : public CWindowImpl<CMyListViewCtrl, CListViewCtrl>
{
DECLARE_WND_SUPERCLASS(NULL, CListViewCtrl::GetWndClassName())
public:
BEGIN_MSG_MAP(CMyListViewCtrl)
CHAIN_MSG_MAP(__super)
END_MSG_MAP()
}
0413412
2006/04/02(日) 22:18:590414デフォルトの名無しさん
2006/04/03(月) 19:13:01おお、すまんw
ありがとう
0415デフォルトの名無しさん
2006/04/05(水) 00:25:13IDD〜のIDから直接ダイアログを召還する方法はありますか?
0416デフォルトの名無しさん
2006/04/05(水) 00:32:11WinAPIのDialogBoxやCreateDialogなどではだめですか?
0417デフォルトの名無しさん
2006/04/05(水) 01:38:06CSimpleDialogは?
0418デフォルトの名無しさん
2006/04/05(水) 13:40:49XPだとタブの背景が白色ですが、FORMVIEWは灰色です。
WM_CTLCOLORDLGで白に塗ると2000で起動した場合
タブの背景が灰色なので浮くです。
0419デフォルトの名無しさん
2006/04/05(水) 16:17:180420デフォルトの名無しさん
2006/04/05(水) 19:29:550421デフォルトの名無しさん
2006/04/05(水) 21:24:520422デフォルトの名無しさん
2006/04/05(水) 22:03:120423デフォルトの名無しさん
2006/04/05(水) 23:45:582000ならスキップ
0424デフォルトの名無しさん
2006/04/08(土) 16:21:04VisualStyle適用時にうまく描画されない現象で困っています。
atlsplit.hを直接編集し、WM_ERASEBKGNDをハンドルしないようにして
背景ブラシをCOLOR_WINDOWからCOLOR_3DFACEに変更することで
一応問題は解決するのですが、ソースコードを直接いじるのは少し抵抗があります。
ほかに解決策などご存知の方はいっしゃいませんか?(WTL 7.5build 5333)
0425デフォルトの名無しさん
2006/04/08(土) 16:58:060426デフォルトの名無しさん
2006/04/08(土) 17:31:320427デフォルトの名無しさん
2006/04/08(土) 21:45:39_Moduleじゃないといけないんですか?
0428デフォルトの名無しさん
2006/04/08(土) 22:23:570429デフォルトの名無しさん
2006/04/08(土) 23:41:260430デフォルトの名無しさん
2006/04/10(月) 21:38:090431デフォルトの名無しさん
2006/04/13(木) 21:47:51C++側からJavascriptのファンクションを叩くのは、IHTMLWindow2のexecScriptで出来たんですが、
JavascriptからC++のメソッドを叩く事が出来ずに困っています。
何方か情報ありましたら、よろしくお願いします。
0432デフォルトの名無しさん
2006/04/13(木) 22:04:500433デフォルトの名無しさん
2006/04/13(木) 23:34:200434デフォルトの名無しさん
2006/04/16(日) 11:40:01VisualC++6.0で、MFCダイアログベースでプロジェクトを作成しています。
「挿入」→「ATLオブジェクトの新規作成」を選び、
「MFCプロジェクトにATLのサポートを追加してもよろしいですか?」→「はい」を選び、
stdafx.h に 以下の記述が追加されました。
#define _ATL_APARTMENT_THREADED
#include <atlbase.h>
class CSample001Module : public CComModule
{
//略
};
extern CSample001Module _Module;
#include <atlcom.h>
この時点でビルドはできます。次に、stdafx.h に
#include <atlapp.h>
を追加したのですが、以下のコンパイルエラーがでます。
C:\Sample001\Sample001Dlg.cpp(101) : error C2872: 'CMenu' : あいまいなシンボルです。
C:\Sample001\Sample001Dlg.cpp(144) : error C2872: 'CPaintDC' : あいまいなシンボルです。
これを解決するにはどうすればいいんでしょうか?
0435デフォルトの名無しさん
2006/04/16(日) 12:21:31ATLのヘッダをインクルードする前に#define _ATL_NO_AUTOMATIC_NAMESPACEとしておくとどう?
0436434
2006/04/16(日) 12:36:45おおおおありがとうです!
MFCと同じ名前のクラスだから、おそらくそういう問題だろうなと思ってはいました。
#define _WTL_NO_AUTOMATIC_NAMESPACE
の方でうまくいきましたが、ググるヒント戴いたので発見できました。感謝です!
0437434
2006/04/16(日) 15:26:17解説サイトが少ないし、コンパイルエラーがたくさんです・・・
0438デフォルトの名無しさん
2006/04/16(日) 15:43:10あまり一般的でないような気もします。
0439デフォルトの名無しさん
2006/04/16(日) 16:23:500440434
2006/04/16(日) 17:35:04たった1個所、とある機能の実装でWTLであればすぐできるものがあって、
上からWTL使ってやってねと言われていました。しかしもうこれはMFCで
やることを提案して押し通します。
0441デフォルトの名無しさん
2006/04/16(日) 18:18:170442デフォルトの名無しさん
2006/04/17(月) 11:09:570443デフォルトの名無しさん
2006/04/17(月) 20:04:090444441
2006/04/17(月) 22:31:15そういえば、以前勤めていた会社でダイアログを表示するCOM(ATLベース)を
組んだ際に、WTLのダイアログリサイズにお世話になりました。
ちなみに、VMWare Wokstationでは、どうもWTLを使わずに、
ATLでCPaneContainer、CCommandBar相当のものが
実装されてるっぽいんですが(Spy++で確認する限り)、
どなたか詳細か方法をご存知ないですか?
0445デフォルトの名無しさん
2006/04/17(月) 22:49:430446・∀・)っ-○●◎ ◆Pu/ODYSSEY
2006/04/17(月) 23:26:58WTLのソース読めばいいじゃんwww
ウィンドウクラスネームなら派生先で好き勝手変えられるし
0447デフォルトの名無しさん
2006/04/17(月) 23:46:470448・∀・)っ-○●◎ ◆Pu/ODYSSEY
2006/04/17(月) 23:55:160449デフォルトの名無しさん
2006/04/18(火) 03:33:510450デフォルトの名無しさん
2006/04/18(火) 04:00:11大雑把にいってCとC++の違い。
API呼び出しを包んだライブラリは色々あるけど、
WTLはMFCの次にメジャーで共通点も多い。
0451441,444
2006/04/18(火) 06:31:14まぁ確かにそのとおりですね。VMWareも案外、ウィンドウクラス名を
"WTL_〜"⇒"ATL:〜"に置換しているだけなのかもしれません。
WTLをフルに使ったソフトが以外と少ないのも、企業/商用では
WTLのソースの一部しか利用しないからなのかもしれませんね。
http://hp.vector.co.jp/authors/VA022575/c/bywtl.html
0452デフォルトの名無しさん
NGNG基底になってるATLに関してはMSの保障の範囲内。
どのみち「ATLから派生したクラス群」なのは間違いないし、
ウィンドウクラス名を書き換えてWTL使ってることをわからなくして
利用するだけの理由はないともいえない罠。
同じコミュニティベースのライブラリでもBoostプロジェクトには金出して
人材送り込み、宣伝文句にも使われてるのに、WTLはMS公式に
大々的に取り上げられるされることもなくコミュニティに
丸投げ状態になったからな。
WTLがMFCの次にメジャーってのはちと疑問符。
でも、MSが投げ気味な技術・ライブラリでここまでユーザーに
支持されてるものはほかに無いかもwww
0453デフォルトの名無しさん
2006/04/18(火) 11:35:01Microsoft が「保障」するのって、Windows OS の特許関係の問題に
ついてだけであって、ATL に酷いバグがあって損害が発生したりした
ときには何もしてくれないんじゃない?
実際一頃ATLのバグのせいで2バイト文字を含むパスのディレクトリに
はインストールできないアプリとかあったけど、MSが何か保障したり
補償したりという話は聞かないし。
WTL があまりメジャーになっていないように見えるのは、MFCに比べて
敷居が高いのとドキュメントが少ないからだと思うな。
0454デフォルトの名無しさん
2006/04/18(火) 11:37:210455デフォルトの名無しさん
2006/04/18(火) 20:18:34あたりが境目じゃね?>サポート
0456・∀・)っ-○●◎ ◆Pu/ODYSSEY
2006/04/18(火) 21:15:12WTLは「ATL Power Toys」
0457451
2006/04/18(火) 21:52:51ATL Server >> MFC > ATL >> WTL なような気がします。
(VS2005の各エディションで、ATL Serverのみ差別化を図っているようなんで…)
WTLは、ATLを使っていた人が戸惑わないように作ってあるとのことなんで、
一時でてた、WTLのATL非依存化の話も、ないんだろうなぁ〜と。
http://decster.blog.edu.cn/user1/3191/archives/2005/239691.shtml
ところで、話し変わって質問なんですが、Donutの元ソース(CodeProject内のもの)の
WTL拡張部分って商用に使っても問題ないんでしょうか?
あと、DonutP系列のソース公開サイトの場所をどなたかご存知ないでしょうか?
0458・∀・)っ-○●◎ ◆Pu/ODYSSEY
2006/04/18(火) 22:06:17Donut系オープンソースブラウザはunDonutが最新じゃないかなと。
0459457
2006/04/18(火) 22:57:30ありがとうございます。よくよく調べてみると、ありました。
---
DonutP
http://www.donutp.com/source/donut_source_5_0_beta3.zip
unDonut
http://undonut.sakura.ne.jp/file/unDonutsrc_r13test.zip
---
unDonutの掲示板を見てたら、作者さんがスクラップからの再作成を
試みてるようですね(WTL7.5ベース?)。少しわくわくします。
0460デフォルトの名無しさん
2006/04/19(水) 13:55:110461459
2006/04/19(水) 17:14:19スクラッチの間違いでした…orz
0462デフォルトの名無しさん
2006/04/19(水) 17:16:49正直、少しわくわくします><
0463461
2006/04/19(水) 20:58:24いやん
0464デフォルトの名無しさん
2006/04/20(木) 00:51:210465デフォルトの名無しさん
2006/04/20(木) 07:15:14http://marine.nureyev.net/toolbar/index.php?PopupMenuPlugin
スレ違いだったらm(__)m
0466デフォルトの名無しさん
2006/04/20(木) 08:19:040467デフォルトの名無しさん
2006/04/22(土) 18:48:59Visual C++ 2005 では atlapp.h が無いということでコンパイルできません。
移植するにはどこから手を付ければよいでしょうか?
0468467
2006/04/22(土) 18:54:11それでも atlapp.h は無いようです。
0469デフォルトの名無しさん
2006/04/22(土) 18:56:32atlapp.h は WTL の一部。
0470467
2006/04/22(土) 19:54:08WTL 7.5 で行けそうなフインキ(←なぜか変換できない)なんですが、
atlres.h がみつかりません。WTL のバージョン違いでしょうか?
0471デフォルトの名無しさん
2006/04/22(土) 19:56:430472デフォルトの名無しさん
2006/04/22(土) 19:58:37それも WTL の一部。7.5にも入ってるよ。
0473デフォルトの名無しさん
2006/04/22(土) 20:14:08>雰囲気(フンイキ)
パスが通ってないというオチじゃないよね
0474467
2006/04/22(土) 20:56:24//Microsoft Developer Studio generated resource script.
#include "resource.h"
#define APSTUDIO_READONLY_SYMBOLS
// Generated from the TEXTINCLUDE 2 resource.
#include "atlres.h"
となってまして、ここでインクルードできません。
リソースエディタで開こうとしてもこれがインクルードできず
怒られてしまいます。元々は VC++6 で作られていたコードを
VC++8 で開いています。
0475467
2006/04/22(土) 20:59:46リソースコンパイラのインクルードパスは
コンパイラとは別でした・・・orz
0476デフォルトの名無しさん
2006/04/22(土) 21:52:39ふんいき だろ。
0477デフォルトの名無しさん
2006/04/23(日) 01:22:030478デフォルトの名無しさん
2006/04/27(木) 08:46:540479デフォルトの名無しさん
2006/04/27(木) 17:13:00OnInitDialogみたいに自分自身の中でサイズとか見た目を改造するには
どのメッセージ、又は関数を使いますか?
0480デフォルトの名無しさん
2006/04/27(木) 17:16:16皆ウィンドウハンドルのm_hWndを保持しているから、それに対してAPIを呼ぶか
SetClassLongやSetWindowPosでどうですか
0481デフォルトの名無しさん
2006/04/27(木) 17:19:170482デフォルトの名無しさん
2006/04/27(木) 17:22:530483デフォルトの名無しさん
2006/04/27(木) 17:25:160484・∀・)っ-○●◎ ◆Pu/ODYSSEY
2006/04/27(木) 17:25:59初期化ならWM_CREATEイベントつかまえてOnCreateなりのメンバ関数
作ればいいと思うよ。
あと、CDialogResizeは実はダイアログ以外にも利用可能だから便利。
てかダイアログリソースなしでダイアログ窓作る場合もWM_CREATEな。
0485デフォルトの名無しさん
2006/04/27(木) 17:26:200486・∀・)っ-○●◎ ◆Pu/ODYSSEY
2006/04/27(木) 17:27:110487デフォルトの名無しさん
2006/04/27(木) 17:27:29{
HWND hWnd = CWindowImpl::Create(〜);
いろいろ
return hWnd;
}
0488デフォルトの名無しさん
2006/04/27(木) 17:34:21て、質問の意味がよく分からん。
0489479
2006/04/27(木) 17:38:46どうも
0490・∀・)っ-○●◎ ◆Pu/ODYSSEY
2006/04/27(木) 17:44:38俺そんなの使ってな(ry
AppWizardの吐いたATLスタイルのメッセージクラッカ使ってるし。
0491デフォルトの名無しさん
2006/04/27(木) 17:47:34てか、AppWizardでWTL用のメッセージマクロ(DDXも含む)を出せないもんかね。
0492デフォルトの名無しさん
2006/04/27(木) 19:53:360493491
2006/04/27(木) 20:00:28http://www.codeproject.com/macro/WTLHelper.asp
頻繁なアップデートも好感が持てますな…。
早速使ってみまつ。
0494・∀・)っ-○●◎ ◆Pu/ODYSSEY
2006/04/27(木) 20:06:270495デフォルトの名無しさん
2006/04/27(木) 20:11:34時たま落ちるけどorz
0496デフォルトの名無しさん
2006/04/27(木) 23:12:40Exp版で出来んかったんだが…
0497・∀・)っ-○●◎ ◆Pu/ODYSSEY
2006/04/27(木) 23:29:40最低Standard
0498デフォルトの名無しさん
2006/04/27(木) 23:44:48サンクス
0499デフォルトの名無しさん
2006/04/28(金) 15:08:15下記の実装で作られたウインドを閉じないと他のウインドの処理が進まなくなって困ってます。
class CMyWindow :
public CComPtr<CMyWindow> ,
public CComObjectRootEx<CComSingleThreadModel>,
public CWindowImpl<CMyWindow,CWindow>
{
色々実装
}
ところが、これを、
class CMyWindow :
public CComPtr<CMyWindow> ,
public CComObjectRootEx<CComSingleThreadModel>,
public CWindowImpl<CMyWindow,CAxWindow>//CWindowからCAxWindowに変えた
{
色々実装
}
とすると、正しく処理される事は分かったんですが、このウインドではActiveXを
使用するわけではないのでCAxWindowは使いたく無いんですが、どうするのが正解なんでしょうか?
以上です、情報ありましたらよろしくお願いします。
0500デフォルトの名無しさん
2006/04/28(金) 15:12:55メッセージループを回しているとかでは?
0501499
2006/04/28(金) 16:45:40レスありがとうございます。
>呼び出し元でCreateの引数にParentのウィンドウハンドルを指定してるか、
>メッセージループを回しているとかでは?
早速親ウインドウハンドルをNULLにしてみましたが状況は変わりありませんでした、
また、メッセージ処理については、BEGIN_MSG_MAPでマクロで処理していますが、実装はありません。
以上です、また何か情報ありましたらよろしくお願いします。
0502デフォルトの名無しさん
2006/04/28(金) 17:06:34すなおに6.0使えってことか
0503500
2006/04/28(金) 17:37:15てか、良く見ると public CComPtr<CMyWindow>がおかしひ気が…。
普通にAppWizardでシンプルオブジェクト追加してから、CWindowImplを
追加した方が良いのではないかと…。
---
class ATL_NO_VTABLE CMyWindow :
public CComObjectRootEx<CComSingleThreadModel>,
public CComCoClass<CMyWindow, &CLSID_MyWindow>,
public IDispatchImpl<IMyWindow, &IID_IMyWindow, &LIBID_XXXLib>,
public CWindowImpl<CMyWindow, CWindow>
---
0504デフォルトの名無しさん
2006/04/28(金) 19:33:37{略}
で
CMainWindow wndMain;
if(wndMain.Create(NULL) == NULL)
return -1;
だと失敗します。
CMainWindow wndMain;
if(wndMain.Create(NULL, CWindow::rcDefault, TEXT("そふと"), WS_CAPTION) == NULL)
return -1;
だと成功します。
どうやら
dwStyleにWS_CAPTIONが無いとウインドウは作れないみたいです。
どうすればいいですか?
0505デフォルトの名無しさん
2006/04/28(金) 21:35:25その返した配列をまたCOMへ渡したときに
if(data->pvarVal->vt != (VT_VARIANT | VT_BYREF | VT_ARRAY)){
return -1;
}
ここで引っかかってしまいます。
返ってきた配列を他の配列にコピーし、
それをCOMに渡すと
正常に動作します。
SAFEARRAYの作り方が間違ってるのでしょうか?
コードは以下に載せます。
0506デフォルトの名無しさん
2006/04/28(金) 21:47:01その配列を、ASPのVBscript内ならば、普通にアクセスできるのです。
再度COMへ渡すとダメになりました。
それとも、帰ってくる配列もそれなりにサイズを確保しておかないといけないのでしょうか。
0507デフォルトの名無しさん
2006/04/28(金) 22:07:46[out,retval] SAFEARRAY ** pvaVal
で返さないといけないんですかね。
[out,retval] VARIANT * pvaVal
ってしてたのが問題みたいです。
0508デフォルトの名無しさん
2006/04/28(金) 22:29:59完全ハマりました。
コピーして回避することにします。それでは。
0509デフォルトの名無しさん
2006/04/29(土) 00:32:45VBscriptがSAFEARRAYを使えない無いぞ。
pparrayの中にデータが渡っているぞ。
0510デフォルトの名無しさん
2006/04/29(土) 00:39:22false VBscriptがSAFEARRAYを使えない無いぞ。
true VBscriptもSAFEARRAYを使っているそ゜。
0511デフォルトの名無しさん
2006/04/29(土) 00:44:57pparrayの中にデータが渡っているぞ。 ->VBscriptからSAFEARRAYつーかバリアントでデータ貰う時。
pparrayの中にデータを突っ込め。 ->>VBscriptにデータを渡す時。
0512デフォルトの名無しさん
2006/04/29(土) 06:55:16>>117
0513デフォルトの名無しさん
2006/04/29(土) 08:49:510514デフォルトの名無しさん
2006/04/29(土) 11:45:56JScriptではイベント捕捉(x::OnClick)できて、VBScriptでは認識(x_OnClick)できません。
なぜでしょうか?
0515514
2006/04/29(土) 21:05:53複数回呼び出してしまったのが間違いだったようです…orz
0516デフォルトの名無しさん
2006/04/30(日) 01:15:12同名のプロジェクトをつくって、差分をプロジェクトにコピペだけでokですか?
それとも、新しくつくったプロジェクトに新たにくっつけた方が楽なのでしょうか?
0517デフォルトの名無しさん
2006/04/30(日) 19:26:280518デフォルトの名無しさん
2006/05/01(月) 11:14:52VS2005のドッキング機能を実現したいんですが…。
0519デフォルトの名無しさん
2006/05/01(月) 14:28:30――えっ、まだしてないの?あんた、SOS団の一員としての自覚あるの?
――何、「曲のほうは?」って?それなら心配いらないわ!
なんったって、団長のあたしが保証するんだから間違いないわ!
一度聴いたら、ぜ〜〜ったい踊りたくなるんだから!
涼宮ハルヒの憂鬱ED「ハレ晴レユカイ」5月10日発売!
絶対買いなさい!!
0520デフォルトの名無しさん
2006/05/01(月) 15:32:55こんなの?
ttp://www.viksoe.dk/code/xpui.htm
0521デフォルトの名無しさん
2006/05/01(月) 15:41:14ありがとうございます。
でもダメでした。BASP21の作者さんのコード
使ってるんですが、やっぱりCOM再突入でエラーです。
きっと、WinCEだからです。
そう解釈することにします。
0522518
2006/05/01(月) 15:53:31ttp://www.atmarkit.co.jp/fdotnet/vb2005/vb2005_13/vb2005_13_01.html
0523デフォルトの名無しさん
2006/05/01(月) 18:51:240524522
2006/05/01(月) 22:25:45ttp://www.componentsource.com/relevance/index.html?q=Dock%2A+window%2A
0525デフォルトの名無しさん
2006/05/09(火) 18:04:20WTLだとどうなりますか?
1つのダイアログがプロジェクト情報と独立してて、
複数プロジェクトでダイアログを使える、VC++6用のライブラリを探してます。
ただ、ダイアログクラスをコード派生するのじゃなく、
リソースエディタみたいなもので編集したいです。
0526デフォルトの名無しさん
2006/05/09(火) 22:58:27> ただ、ダイアログクラスをコード派生するのじゃなく、
> リソースエディタみたいなもので編集したいです
できねえよ
MFCにはやられたなw
0527デフォルトの名無しさん
2006/05/10(水) 08:51:40ソース書いて実行させて、みたいな?
効率悪そう。
0528デフォルトの名無しさん
2006/05/10(水) 08:59:050529デフォルトの名無しさん
2006/05/10(水) 09:13:14VC++のIDEがリソースファイルをイジルんじゃなくて、
自分でリソースファイル構成も自由に出来るから、
ダイアログ1つに1リソースファイルってのも出来る?
0530デフォルトの名無しさん
2006/05/10(水) 09:30:06MFCとかWTLとかのフレームワークはリソースを利用することができるけど、
リソースの仕組み自体はそれらとは独立してるよね?
0531デフォルトの名無しさん
2006/05/10(水) 09:35:34>リソースの仕組み自体はそれらとは独立してるよね?
ここまで逝っちゃうと、ウソつけ、となっちゃうよ。
MFCでポトペタすると、固定ファイル名のresource.hと1つのrcファイルを無条件に編集される。
プロジェクトからダイアログが全く独立してない。
0532デフォルトの名無しさん
2006/05/10(水) 09:46:34それはWizardがそういう使い方をしてるってだけじゃないの?
別にWizard使わなくてもMFCは使えるじゃん。
つか、ある程度の規模になったらWizardなんかうざったくて使えないだろ。
とか言いつつ、漏れはWindows専門というわけではないんで、
もしかしたら使い方が間違ってるのかもしれない。
0533デフォルトの名無しさん
2006/05/10(水) 10:00:12http://pc8.2ch.net/test/read.cgi/tech/1059196520/l50
の472あたりが参考になるかも…。
WTL自体がMFCのATLコンパチブル版のような感じなので、さして違いはないかと。
0534デフォルトの名無しさん
2006/05/10(水) 12:20:23その中に該当ダイアログリソースを追加し、
プロジェクトごとにそのリソースファイルからダイアログリソースをコピーして使えば?
これだとMFCとかWTLとか関係ないでしょ。
0535デフォルトの名無しさん
2006/05/10(水) 12:56:360536デフォルトの名無しさん
2006/05/10(水) 13:47:210537デフォルトの名無しさん
2006/05/10(水) 15:53:090538デフォルトの名無しさん
2006/05/10(水) 16:01:51コモンコントロールにしたいなら、コードごとDLLにするべきだと思うが。
0539デフォルトの名無しさん
2006/05/10(水) 22:08:51525は放置しておくほうが良いよ
533のスレで同じことをやってたヤツだから
0540525
2006/05/11(木) 08:39:17うるせー、回答が得られないから放置したのはこっちだ。
こっちは明確にやりたい事があってMFCとWTLでは無理なのが明確になっただけ。
他のウィンドウライブラリ探すだけさ。
0541デフォルトの名無しさん
2006/05/11(木) 08:57:42VCのIDEの中だけでやってる分にはどんなライブラリ使っても一緒だと思うけど。
>>533のリンク先は読んだの?
別個のリソースファイルに書いといて、インクルードして使ったらダメなの?
0542デフォルトの名無しさん
2006/05/11(木) 23:10:38キエロよ
> こっちは明確にやりたい事があって
オマエの脳内だけで明確なんだよ、無知でバカなだけなんだからキエロ
0543デフォルトの名無しさん
2006/05/12(金) 01:10:26キエロよ
> こっちは明確にやりたい事があって
オマエの脳内だけで明確なんだよ、無知でバカなだけなんだからキエロ
0544デフォルトの名無しさん
2006/05/14(日) 03:28:34ListViewを使用するための一番賢い方法はなんでしょうか?
0545デフォルトの名無しさん
2006/05/14(日) 08:42:540546デフォルトの名無しさん
2006/05/14(日) 09:00:080547544
2006/05/14(日) 13:02:14そう思ってCCheckListViewCtrlを継承したクラスの中に
CSortCheckListViewImplの中身をコピーペーストしたらうまく動いています。
これってライセンス的にはどうなるんですかね?
0548デフォルトの名無しさん
2006/05/14(日) 13:10:57CPLの中をちゃんと読んだことないんで断言はできんが…。
0549・∀・)っ-○◎● ◆toBASh....
2006/05/14(日) 20:46:23てか、ライセンス問題発生せんだろ。そのクラスで金取るわけでもあるまいし。
むしろ、オーナーデータにしてもちゃんとチェックボックスの描画されるCCheckListViewCtrlを
0550デフォルトの名無しさん
2006/05/14(日) 22:10:40能登かわいいよ能登(;´Д`) 能登かわいいよ能登(;´Д`) 能登かわいいよ能登(;´Д`)
能登かわいいよ能登(;´Д`) 能登かわいいよ能登(;´Д`) 能登かわいいよ能登(;´Д`)
能登かわいいよ能登(;´Д`) 能登かわいいよ能登(;´Д`) 能登かわいいよ能登(;´Д`)
能登かわいいよ能登(;´Д`) 能登かわいいよ能登(;´Д`) 能登かわいいよ能登(;´Д`)
能登かわいいよ能登(;´Д`) 能登かわいいよ能登(;´Д`) 能登かわいいよ能登(;´Д`)
能登かわいいよ能登(;´Д`) 能登かわいいよ能登(;´Д`) 能登かわいいよ能登(;´Д`)
能登かわいいよ能登(;´Д`) 能登かわいいよ能登(;´Д`) 能登かわいいよ能登(;´Д`)
能登かわいいよ能登(;´Д`) 能登かわいいよ能登(;´Д`) 能登かわいいよ能登(;´Д`)
能登かわいいよ能登(;´Д`) 能登かわいいよ能登(;´Д`) 能登かわいいよ能登(;´Д`)
能登かわいいよ能登(;´Д`) 能登かわいいよ能登(;´Д`) 能登かわいいよ能登(;´Д`)
能登かわいいよ能登(;´Д`) 能登かわいいよ能登(;´Д`) 能登かわいいよ能登(;´Д`)
能登かわいいよ能登(;´Д`) 能登かわいいよ能登(;´Д`) 能登かわいいよ能登(;´Д`)
能登かわいいよ能登(;´Д`) 能登かわいいよ能登(;´Д`) 能登かわいいよ能登(;´Д`)
能登かわいいよ能登(;´Д`) 能登かわいいよ能登(;´Д`) 能登かわいいよ能登(;´Д`)
能登かわいいよ能登(;´Д`) 能登かわいいよ能登(;´Д`) 能登かわいいよ能登(;´Д`)
能登かわいいよ能登(;´Д`) 能登かわいいよ能登(;´Д`) 能登かわいいよ能登(;´Д`)
能登かわいいよ能登(;´Д`) 能登かわいいよ能登(;´Д`) 能登かわいいよ能登(;´Д`)
能登かわいいよ能登(;´Д`) 能登かわいいよ能登(;´Д`) 能登かわいいよ能登(;´Д`)
能登かわいいよ能登(;´Д`) 能登かわいいよ能登(;´Д`) 能登かわいいよ能登(;´Д`)
能登かわいいよ能登(;´Д`) 能登かわいいよ能登(;´Д`) 能登かわいいよ能登(;´Д`)
能登かわいいよ能登(;´Д`) 能登かわいいよ能登(;´Д`) 能登かわいいよ能登(;´Д`)
0551デフォルトの名無しさん
2006/05/14(日) 22:56:56両方から継承したら駄目?
それとも頓珍漢なことを言っている?<俺
0552デフォルトの名無しさん
2006/05/16(火) 08:42:470553デフォルトの名無しさん
2006/05/16(火) 10:13:18それは、いわゆるダイアモンド継承(多重継承)というやつでは…。
0554デフォルトの名無しさん
2006/05/16(火) 13:45:21他の言語(C#等)の相互運用性(Interop)の観点からアドバイス頂けますと幸いです。
0555デフォルトの名無しさん
2006/05/16(火) 20:17:23-127〜+127の範囲の数値型がほしいわけ?
0557デフォルトの名無しさん
2006/05/16(火) 20:50:38によれば、8bitのデータ型は、
byte, char, small
が存在する
0558556
2006/05/16(火) 21:43:10よくよく見てみるとMSDNにあったのですね。
smallで対応したいと思います。どうもありがとうございました。
ttp://msdn.microsoft.com/library/default.asp?url=/library/en-us/midl/midl/midl_predefined_and_base_types.asp
0559デフォルトの名無しさん
2006/05/17(水) 06:04:20JavascriptONにしないといけないのかい
0560デフォルトの名無しさん
2006/05/17(水) 08:03:11VS2005だとウィザードで警告が出る問題だけでも、対応してほしいのに。
0561デフォルトの名無しさん
2006/05/17(水) 16:37:35俺ならこうする
template<class T1, class T2>
struct MyWinTraitsOR : T1, T2
{
static DWORD GetWndStyle(DWORD dwStyle) {
return T1::GetWndStyle(dwStyle) | T2::GetWndStyle(dwStyle);
}
static DWORD GetWndExStyle(DWORD dwStyle) {
return T1::GetWndExStyle(dwStyle) | T2::GetWndExStyle(dwStyle);
}
};
template<class T, class TBase = WTL::CListViewCtrl, class TWinTraits = MyWinTraitsOR<WTL::CSortListViewCtrlTraits, WTL::CCheckListViewCtrlTraits> >
class ATL_NO_VTABLE CSortCheckListViewImpl : public WTL::CCheckListViewCtrlImpl<T, TBase, TWinTraits>, public WTL::CSortListViewImpl<T>
{
typedef CSortCheckListViewImpl<T, TBase, TWinTraits> thisClass;
typedef WTL::CCheckListViewCtrlImpl<T, TBase, TWinTraits> baseClass;
public:
DECLARE_WND_SUPERCLASS(NULL, TBase::GetWndClassName())
bool SortItems(int iCol, bool bDescending = false)
{
return WTL::CSortListViewImpl<T>::DoSortItems(iCol, bDescending);
}
BEGIN_MSG_MAP(thisClass)
CHAIN_MSG_MAP(baseClass)
CHAIN_MSG_MAP(CSortListViewImpl<T>)
END_MSG_MAP()
};
0562デフォルトの名無しさん
2006/05/17(水) 19:16:21データモデルにはSTLのvector使ってソートはstable_sortで実装するのが好み。
0563デフォルトの名無しさん
2006/05/18(木) 09:41:12Expressでのウィザードのインストールがラクになった
0564デフォルトの名無しさん
2006/05/18(木) 10:03:10Changes: Bug fixes and App Wizard setup for VS2005 Express
0565デフォルトの名無しさん
2006/05/18(木) 10:11:160566デフォルトの名無しさん
2006/05/18(木) 12:10:33杏マナー杏マナー杏マナー杏マナー杏マナー杏マナー杏マナー杏マナー
ーナマ杏ーナマ杏ーナマ杏ーナマ杏ーナマ杏ーナマ杏ーナマ杏ーナマ杏
ーナマ杏ーナマ杏ーナマ杏ーナマ杏ーナマ杏ーナマ杏ーナマ杏ーナマ杏
杏マナー杏マナー杏マナー杏マナー杏マナー杏マナー杏マナー杏マナー
杏マナー杏マナー杏マナー杏マナー杏マナー杏マナー杏マナー杏マナー
ーナマ杏ーナマ杏ーナマ杏ーナマ杏ーナマ杏ーナマ杏ーナマ杏ーナマ杏
ーナマ杏ーナマ杏ーナマ杏ーナマ杏ーナマ杏ーナマ杏ーナマ杏ーナマ杏
杏マナー杏マナー杏マナー杏マナー杏マナー杏マナー杏マナー杏マナー
杏マナー杏マナー杏マナー杏マナー杏マナー杏マナー杏マナー杏マナー
ーナマ杏ーナマ杏ーナマ杏ーナマ杏ーナマ杏ーナマ杏ーナマ杏ーナマ杏
ーナマ杏ーナマ杏ーナマ杏ーナマ杏ーナマ杏ーナマ杏ーナマ杏ーナマ杏
杏マナー杏マナー杏マナー杏マナー杏マナー杏マナー杏マナー杏マナー
杏マナー杏マナー杏マナー杏マナー杏マナー杏マナー杏マナー杏マナー
ーナマ杏ーナマ杏ーナマ杏ーナマ杏ーナマ杏ーナマ杏ーナマ杏ーナマ杏
ーナマ杏ーナマ杏ーナマ杏ーナマ杏ーナマ杏ーナマ杏ーナマ杏ーナマ杏
杏マナー杏マナー杏マナー杏マナー杏マナー杏マナー杏マナー杏マナー
杏マナー杏マナー杏マナー杏マナー杏マナー杏マナー杏マナー杏マナー
ーナマ杏ーナマ杏ーナマ杏ーナマ杏ーナマ杏ーナマ杏ーナマ杏ーナマ杏
ーナマ杏ーナマ杏ーナマ杏ーナマ杏ーナマ杏ーナマ杏ーナマ杏ーナマ杏
杏マナー杏マナー杏マナー杏マナー杏マナー杏マナー杏マナー杏マナー
杏マナー杏マナー杏マナー杏マナー杏マナー杏マナー杏マナー杏マナー
ーナマ杏ーナマ杏ーナマ杏ーナマ杏ーナマ杏ーナマ杏ーナマ杏ーナマ杏
ーナマ杏ーナマ杏ーナマ杏ーナマ杏ーナマ杏ーナマ杏ーナマ杏ーナマ杏
杏マナー杏マナー杏マナー杏マナー杏マナー杏マナー杏マナー杏マナー
杏マナー杏マナー杏マナー杏マナー杏マナー杏マナー杏マナー杏マナー
ーナマ杏ーナマ杏ーナマ杏ーナマ杏ーナマ杏ーナマ杏ーナマ杏ーナマ杏
ーナマ杏ーナマ杏ーナマ杏ーナマ杏ーナマ杏ーナマ杏ーナマ杏ーナマ杏
0567デフォルトの名無しさん
2006/05/18(木) 16:11:520568デフォルトの名無しさん
2006/05/19(金) 00:29:170569デフォルトの名無しさん
2006/05/19(金) 00:31:220570デフォルトの名無しさん
2006/05/19(金) 23:38:01隣家にGdi32.lib 指定しないとコンパイルできなかったよ。(Exp)
0571・∀・)っ-○◎● ◆toBASh....
2006/05/19(金) 23:42:44リソースエディタがないのが難点だが
0572デフォルトの名無しさん
2006/05/20(土) 22:06:190573デフォルトの名無しさん
2006/05/21(日) 06:54:42アドイン使えないしね。外部ツールなら使えるが...
0574デフォルトの名無しさん
2006/05/24(水) 09:20:20Wizadもリソースエディタも使わんなぁ・・・
0575デフォルトの名無しさん
2006/05/29(月) 23:01:330576デフォルトの名無しさん
2006/05/30(火) 00:50:280577デフォルトの名無しさん
2006/05/30(火) 06:36:280578デフォルトの名無しさん
2006/05/31(水) 00:49:42ATLASSERT()で蹴られるんだけどなんとかならないでしょうか?
WTL Version 7.5 (build 5333)
0579デフォルトの名無しさん
2006/05/31(水) 00:56:06先にちゃんとCTrackBarCtrlはCreateされてるの?
ほかならわかんない
0580578
2006/05/31(水) 00:56:15AddSimpleReBarBand()の前にSetLineSize(0)を
呼べばいいみたいです。お騒がせしました。
0581・∀・)っ-○◎● ◆toBASh....
2006/06/05(月) 22:54:47もしくは代替手段茄子?
VS2003で書いてたプログラムを2005Express+WTLでもビルドできるように書き換えやってるんだけど
0582デフォルトの名無しさん
2006/06/05(月) 23:12:41面白いもの見つけたよw
432 名前:玉様 ◆Epl6xC/3s2 [] 投稿日:2006/06/05(月) 23:04:01.66 ID:2PEp7UdI0
カオ
http://kjm.kir.jp/mailbbs2.php?pt=21455
カラダ
http://kjm.kir.jp/mailbbs2.php?pt=21498
マムコ
http://kjm.kir.jp/mailbbs2.php?pt=21461
おいらは↓ここにいます。虐めてねwww
玉様〜君がくれた春〜
http://tmp6.2ch.net/test/read.cgi/tubo/1140841526/
0583デフォルトの名無しさん
2006/06/05(月) 23:18:06意外に使える奴。
0584583
2006/06/05(月) 23:19:02orz..
0585デフォルトの名無しさん
2006/06/05(月) 23:23:17http://pc8.2ch.net/test/read.cgi/tech/1148402614/
こちらへどうぞ
0586デフォルトの名無しさん
2006/06/05(月) 23:30:10CString目当てならWTLの<atlmisc.h>にWTL::CStringがある。
0587・∀・)っ-○◎● ◆toBASh....
2006/06/05(月) 23:42:59とりあえずアレはGetWindowTextやSetWindowTextで使えないんで個人的に×
ATL::CString(A/W)のいいところはUNICODE⇔ANSIの変換が簡単にできることなんだな
0588デフォルトの名無しさん
2006/06/06(火) 00:12:03意味不明
0589デフォルトの名無しさん
2006/06/06(火) 00:14:11. /////_ハ ヽ< 釣れた!> ハ
レ//j け ,fjlリ / ∨∨V ヽ h. ゚l;
ハイイト、"ヮノハ // |::: j 。
/⌒ヽヾ'リ、 // ヾ、≦ '
. { j`ー' ハ // ヽ∧∧∧∧∧∧∨/
k〜'l レヘ. ,r'ス < 初めてなのに >
| ヽ \ ト、 ヽ-kヾソ < 釣れちゃった!>
. l \ `ー‐ゝ-〈/´ / ∨∨∨∨∨∨ヽ
l 生団子 `ー-、___ノ
ハ ´ ̄` 〈/‐-、
0590・∀・)っ-○◎● ◆toBASh....
2006/06/06(火) 00:14:16コンパイルエラー出るはずだけど?
ためしにCWindow::GetWindowTextの引数に指定してみて
ATL::CStringならOK。WTL::CStringだとアウト
0591デフォルトの名無しさん
2006/06/06(火) 00:35:140592デフォルトの名無しさん
2006/06/06(火) 00:42:25みんな釣られすぎ
0593・∀・)っ-○◎● ◆toBASh....
2006/06/06(火) 00:42:270594デフォルトの名無しさん
2006/06/06(火) 00:42:540595・∀・)っ-○◎● ◆toBASh....
2006/06/06(火) 00:49:42WTL使うなら面倒でもStandard以上はないと不便ですな。
というかATL::CStringが便利すぎるんですよ。ATL Serverも無いと寂しいし。
0596デフォルトの名無しさん
2006/06/06(火) 00:58:410597デフォルトの名無しさん
2006/06/06(火) 00:59:390598デフォルトの名無しさん
2006/06/06(火) 02:30:030599デフォルトの名無しさん
2006/06/06(火) 02:32:06atlmisc.c(740):CString(LPCWSTR lpsz);
0600・∀・)っ-○◎● ◆toBASh....
2006/06/06(火) 02:42:430601デフォルトの名無しさん
2006/06/06(火) 03:04:310602デフォルトの名無しさん
2006/06/06(火) 16:53:43/ \
|====ミx,、、_ \
、__>ァ¬一ァ―r¬ミi、 \ オヤシロさまはスレの守り神さま。
 ̄7'/'/ //// ,ハヘ.,ニヽ、 } …板のルールを守らずに糞スレを立てる人を
// / /:,'/,' ' i┴`≠| i }`T''トrイ 絶対に許さない。 レナはちゃんと良スレを立てた!
//i , ; !:!:| !:i | | |,ハ. l. l. }::| でも>>1は糞スレしか立てなかった。 だから!
| i {. { l | トi;、l_ト、 | _,. ィく!ノi. }:| :! l :| オヤシロさまの祟りにあってしまったに違いないのッ!!
N.\ヽ.ヽ.ヽi!.{::::ji!ヽ!.'{_:::::} ji. |,リノ ' , |
>ト、_トトr`´ ,______  ̄´イ/',.イ/ :/
/:イ ハトゞゝ Y¨ ̄} ≦,イィ1 イ /| オヤシロさまの祟りは信じようと信じまいと、
_. --- 、 /〃 ,'// /:/_> `二 イ //ノ ,ハ{ノ! 確かにッ、
, ‐',.- \. ,'./.| /!|:|レ'|:{r一 ''  ̄iスニム.ム!_ル'
l | /⌒ | V | | ||/_ヽ-〉 _,イ/ , -- \
l__,/| :| | /.N / } |__,///>/ !
ー1 ,ノ ,:'1 ,Kニ.ヽ| \__, イ { 〈 '
丁 /´ ヽ. ヽ} '⌒ヽニ=ヘ. イ /
`iー.′ l /! /l ヾニ゙イ
! }/_,ノ 〃 ` ̄´/
ヽ __/フ'´ 〈{ /
_/ / / 、____ ,.! ,/ \
/ ' / | ヽ . _ ー '´
0603デフォルトの名無しさん
2006/06/06(火) 17:45:040604デフォルトの名無しさん
2006/06/17(土) 22:15:230605デフォルトの名無しさん
2006/06/17(土) 22:33:22__,,/ _, ----`ヽ :.
:. / _ ___ 、\
/ / i \ \\ :.
:. ,'./ i ヽ:. ヽ:.:.. ヽ.ヽ
,'/ / .ハ ヽ ヽ:.:.:.:. ヽ::.. ヽヽ :.
:. |i .i i .i / ヽ ト 、 \、:.:.:. ',:.',:.:.lヽ}
|i .i l :N_, -弋 \弌弋ナ:}:.:}
:. |i∧ ', :{ ,ィjモト \ イjミトイイV :. な…
.| :メヽ.', `ozZ} izN。ハ::{ なんなんですか?
:. | :ヾ_! ゝ "゙゙ ' `゙ ハ.:', :. ここ、どこですか?
| :.:_イ .:.ヽ. (二フ , イ :.:.:!:.ヽ なんで壁にお尻付けると
:. / rィイ | :.:.ヽ: >r/`<ノ .:.::.}ヽ、\:. 前屈出来なくなるんですか?
/ ∧l;l ! :.:.:.://{二 ̄ .} ..:..::リ//ハ.:\
:. / .{. ',ヾ、ヽi .:.:.{ /(^` |.:.:.:.//: : :.}: . ヽ.:.
/ / ) ヽ ヾ、ヽ:.ハ ヤ{ ∧/.-‐'": : |:.:. i ',
./ .,イ .:..} : :\ヾレ'ハ ∧__ノノハヾ、 : : : l:.:.: .ハ ',
{ /| .:.:ハ : : :i Y {ヾ`Yヽニン'ノ}: : } : : : :/:.:.:/ }:.}
V | .:.:/:.:|_,ィ' ̄ ヽ三{ `ー-ノ : イ : : :/:.:i.:{ リ
ヽ:.:{、.:.V : : ヘ : : {: : :/:.::∧|
ヽ! )人 : : :人 : : : / \! :.
" ヽ : : : : :/イ{ :.ノ: : : :.\ :.
:. \__///: :\______/: : : : : : : ヽ
/ //: : :|;|: : : : : : i: : : __: : : : ',
:. / 、 {;{ |;| . : i/. : : : : : :|
/ `Y;{. . . .|;|. : : : /i: : : : : : : : :l
0606デフォルトの名無しさん
2006/06/18(日) 09:15:220607デフォルトの名無しさん
2006/06/18(日) 14:25:400608デフォルトの名無しさん
2006/06/19(月) 16:18:320609デフォルトの名無しさん
2006/06/27(火) 01:54:36WM_MEASUREITEMメッセージをつかまえることはできるでしょうか?
よろしくお願いします。
0610デフォルトの名無しさん
2006/06/27(火) 09:29:360611デフォルトの名無しさん
2006/06/27(火) 22:43:12メッセージハンドラで発生した例外はどう対処してますか?
各ハンドラをtry〜catch囲んでるのでしょうか?
0612デフォルトの名無しさん
2006/06/28(水) 02:35:29試していてはまっていたので質問しましたが、解決しました。
CFrameWindowImpl
↓子
WindowImplを派生した自前のSplitter
↓子
CWindowImpl<CMyList, CListViewCtrl>
で、WM_MEASUREITEMを捕捉しようとしてもうまくいかず、
調べていたら、自前のSplitterの
FORWARD_NOTIFICATIONS()とREFLECT_NOTIFICATIONS()
の順番だとわかりました。
REFLECT_NOTIFICATIONS()をFORWARD_NOTIFICATIONS()より前に
書くとちゃんと動きました。
WTL付属のSplitterの子でもWM_MEASUREITEMは捕捉出来ませんでした。
0613デフォルトの名無しさん
2006/07/03(月) 03:33:34どちらを使ったほうが軽快でしょうか?
0614デフォルトの名無しさん
2006/07/03(月) 04:33:310615デフォルトの名無しさん
2006/07/03(月) 05:00:500616デフォルトの名無しさん
2006/07/03(月) 11:50:450617デフォルトの名無しさん
2006/07/03(月) 14:52:32お互い内容が重複しているものは殆ど無い。
だから、比べようが無い。
0618デフォルトの名無しさん
2006/07/03(月) 14:56:15APIで ウィンドウをflashする関数があるから、呼び出してみ。ペカペカするぞ。
0619デフォルトの名無しさん
2006/07/03(月) 15:48:13レスって >>614 のことか?
少なくとも >>613 はレスじゃないよな?
0620デフォルトの名無しさん
2006/07/03(月) 16:06:51わかってるくせにw
くだらん揚げ足とってんじゃねぇよ
0621デフォルトの名無しさん
2006/07/05(水) 09:23:460622デフォルトの名無しさん
2006/07/05(水) 09:29:440623デフォルトの名無しさん
2006/07/05(水) 09:41:28どちらを使ったほうが軽快でしょうか?
0624デフォルトの名無しさん
2006/07/05(水) 10:43:000625デフォルトの名無しさん
2006/07/05(水) 11:29:160626デフォルトの名無しさん
2006/07/05(水) 11:39:310627デフォルトの名無しさん
2006/07/05(水) 11:57:48お互い内容が重複しているものは殆ど無い。
だから、比べようが無い。
0628デフォルトの名無しさん
2006/07/05(水) 14:56:250629デフォルトの名無しさん
2006/07/05(水) 21:27:18::CoInitialize(NULL)
が入ってるコードをしばしば見かけるんですが
これは具体的に何を使いたい時に入れれば良いんでしょうか
0630デフォルトの名無しさん
2006/07/05(水) 21:29:36MSDN見ろ。
COMを使いたい時だ。
0631デフォルトの名無しさん
2006/07/05(水) 21:41:07下記URL内のサンプルにも ::CoInitialize( NULL ) が含まれているのですが
http://home.att.ne.jp/banana/akatsuki/doc/atlwtl/atlwtl13-01/index.html
これのどこでCOMが使われているのかがわかりません
ためしにコメントアウトしても動いているので、もやもやが残ってます
とりあえずおまじない的に書いておけば良いというやつでしょうか…
0632デフォルトの名無しさん
2006/07/05(水) 23:20:190633デフォルトの名無しさん
2006/07/05(水) 23:53:59よくわかっとらんというオチだったりして。
0634デフォルトの名無しさん
2006/07/06(木) 00:29:34コモンコントロール(ツールバーとか Cmnctl32.dllだったか)はCOMなので
COMの初期化(CoInitialize)が必要のはず。
0635・∀・)っ-○◎● ◆toBASh....
2006/07/06(木) 00:42:40http://hp.vector.co.jp/authors/VA016117/coolbar.html
もしCOMのラッパーでもDllMain内で呼ばれてる場合はWinMainからは呼ぶ必要ないとかいうオチじゃね?
0636デフォルトの名無しさん
2006/07/06(木) 00:55:15そのコード内で、CoInitialize()は、まったく必要ないな。
削除しても問題ないよ。
0637デフォルトの名無しさん
2006/07/06(木) 01:31:49単にAppWizardが吐いたコードなだけじゃん?
0638634
2006/07/06(木) 01:34:17COMを使用する必要がなければ、CoInitializeとCoUninitializeは必要ないようです。
http://www.codeproject.com/wtl/wtl4mfc4.asp
0639デフォルトの名無しさん
2006/07/06(木) 01:49:23Cmnctl32.dllなんてDLLないから
0640デフォルトの名無しさん
2006/07/06(木) 11:51:540641デフォルトの名無しさん
2006/07/06(木) 14:18:59この追加したダイアログにinterfaceを定義するには*.idlファイルを手動で
書き換えないと定義できないのですか?
読んでいる本(ATL COMプログラミング)では「プロジェクトへの追加」-「コンポーネントおよびコントロール」で
追加できそうな記述があるのですが、「コンポーネントおよびコントロールギャラリ」ダイアログがででファイル選択するようになるのですが
どのファイルを選択してやればよいのかよく解りません。
VC6です。
0643デフォルトの名無しさん
2006/07/07(金) 23:51:300644デフォルトの名無しさん
2006/07/09(日) 06:22:54なぜこんなに閑古鳥が鳴いてるような状況なの?
もしかして、ATL/WTLよりも軽量・高速なクライアントアプリ作れる言語があるの?
皆、何故つかわん?クライアントアプリは必要とされてないの?
ホントに疑問なんだけど・・・
0645デフォルトの名無しさん
2006/07/09(日) 06:30:210646デフォルトの名無しさん
2006/07/09(日) 06:38:41Qtも軽量・高速なWinアプリつくれるの?
0647デフォルトの名無しさん
2006/07/09(日) 06:57:590648デフォルトの名無しさん
2006/07/09(日) 07:13:55なかなか最強なクラスライブラリだと思うんだが。。
みんな食わず嫌いしてない?
0649デフォルトの名無しさん
2006/07/09(日) 07:34:210650デフォルトの名無しさん
2006/07/09(日) 07:42:260651デフォルトの名無しさん
2006/07/09(日) 07:53:310652デフォルトの名無しさん
2006/07/09(日) 08:03:37使ってるの俺だけじゃないかと不安になってくる。。
0653デフォルトの名無しさん
2006/07/09(日) 08:06:330654デフォルトの名無しさん
2006/07/09(日) 08:36:310655デフォルトの名無しさん
2006/07/09(日) 08:42:560656デフォルトの名無しさん
2006/07/09(日) 09:08:22趣味以外では、ほとんどいないからだろう。
WTLって、本もないしね。
>>652
おれはIE拡張をATL + WTLで作ってるよ。
0657デフォルトの名無しさん
2006/07/09(日) 09:25:51おまけ程度にUIをつけたい時に重宝するんだけどね
そういやWTLを専門に扱った本はないなぁ…
0658656
2006/07/09(日) 11:06:590659デフォルトの名無しさん
2006/07/09(日) 11:35:220660デフォルトの名無しさん
2006/07/09(日) 11:51:150661デフォルトの名無しさん
2006/07/09(日) 12:00:00需要は創るものです
って電●のおじちゃんが言ってた
0662デフォルトの名無しさん
2006/07/09(日) 12:37:060663デフォルトの名無しさん
2006/07/09(日) 12:53:18ATLとの分離も、話だけで終わりそうだし…
0664デフォルトの名無しさん
2006/07/09(日) 12:59:59今はportableなlight-weightGUIライブラリを使っていると思われる。
0665デフォルトの名無しさん
2006/07/09(日) 14:45:03portableなlight-weightGUIライブラリって例えば?
0666デフォルトの名無しさん
2006/07/09(日) 18:07:590667デフォルトの名無しさん
2006/07/09(日) 18:15:55ATL
WTL
OTL
名前が良くないな
0668デフォルトの名無しさん
2006/07/09(日) 18:21:570669デフォルトの名無しさん
2006/07/09(日) 21:03:010670デフォルトの名無しさん
2006/07/09(日) 21:07:430671デフォルトの名無しさん
2006/07/09(日) 21:43:52SDKのは未だに3.0なのがなぁ
0672デフォルトの名無しさん
2006/07/10(月) 02:12:01ライブラリ使うのにお金がかかるの?
0673デフォルトの名無しさん
2006/07/10(月) 02:27:58VS2005Expressじゃなくて、PlatformSDKにATL付いてるっしょ
3.0だか3.1だかその辺のが
最新版は8.0だっけか
これはVS2005Standard以上を買わないと付いてこない
WTLだけオープンソースにされてもね
0674デフォルトの名無しさん
2006/07/10(月) 02:32:06実際にソースを検証してOKになったのではなくて
試してみたら使えるようだよというレベルでしょ。
0675デフォルトの名無しさん
2006/07/10(月) 02:44:10atlthunkだっけ?
あれふつうにアロケートしてるだけだから別に不具合ないよ
むしろx64のほうが怪しげ
0676デフォルトの名無しさん
2006/07/10(月) 07:19:07あと、まだ試していないが、VS 2005の評価版にはATL 8が入っているはずで、それも使えるのでは?と思う。
0677デフォルトの名無しさん
2006/07/10(月) 07:42:47それはライセンス的に問題があるんじゃないのか。
0678デフォルトの名無しさん
2006/07/10(月) 15:22:06出来たとしても犯罪だろ・・・
0679デフォルトの名無しさん
2006/07/10(月) 15:47:050680デフォルトの名無しさん
2006/07/10(月) 17:47:23簡単なアプリはMFCのダイアログベース
WTLって便利?
0681デフォルトの名無しさん
2006/07/10(月) 18:21:48シンボルに「ボタン1」だの「フォーム2」だの数字がくっつく
MFCよりはWTLの方が、ラクかもしれない。
0682デフォルトの名無しさん
2006/07/10(月) 18:59:45http://www.torjo.com/win32gui/
を最近は良く使う。boost との親和性もいい品。
0683デフォルトの名無しさん
2006/07/10(月) 19:04:120684デフォルトの名無しさん
2006/07/10(月) 22:41:080685デフォルトの名無しさん
2006/07/10(月) 22:58:420686デフォルトの名無しさん
2006/07/10(月) 23:06:420687デフォルトの名無しさん
2006/07/11(火) 00:17:59WTLだけオープンソースになってもあまりメリットが無い
完全に分離されてれば良かったんだがな
0688デフォルトの名無しさん
2006/07/11(火) 00:50:27>>682の奴がよさげだな。
問題は漢字関連か。
0689デフォルトの名無しさん
2006/07/11(火) 22:08:53俺はWTLアプリを客先にも納品してるよ。
正直な話、仕事で使ったりしてWTLを大方理解すると、もはやこのスレから
得る物はあまりないから、このスレにプロはあまりいないかもね。
0690デフォルトの名無しさん
2006/07/11(火) 22:10:12検索するほうが早いしね・・・
0691デフォルトの名無しさん
2006/07/11(火) 23:49:39相変わらずマクロが色々あってなかなか厄介だし
まぁ、ExcelVBAで使えるようなモノを作りたいのが目標だから
なんとかしてるけどみんなすごいね
#WTLはもっとドキュメントが少ないのか・・・
0692デフォルトの名無しさん
2006/07/11(火) 23:55:470693デフォルトの名無しさん
2006/07/12(水) 00:32:170694デフォルトの名無しさん
2006/07/12(水) 16:57:12散々有名。
0695デフォルトの名無しさん
2006/07/12(水) 20:49:44>>693まで含める意味がわからんね。
0696デフォルトの名無しさん
2006/07/12(水) 23:09:05分からないことがあってもソース見れば何とかなるし、
感覚を掴めばそれなりに使えちゃうから、あまり質問の機会がないんだよな。
そこが好きなんだけども。
0697デフォルトの名無しさん
2006/07/13(木) 00:59:380698デフォルトの名無しさん
2006/07/13(木) 01:28:550699デフォルトの名無しさん
2006/07/13(木) 01:54:570700デフォルトの名無しさん
2006/07/13(木) 02:01:36ならばなぜ標準も準標準も存在しないのか。
0701デフォルトの名無しさん
2006/07/13(木) 02:02:17ttp://web6.codeproject.com/wtl/wtlgrid2.asp
を使ってるなぁ。
0702デフォルトの名無しさん
2006/07/13(木) 02:02:53Exceltが売れなくなるから
0703デフォルトの名無しさん
2006/07/13(木) 02:21:28マジレスすると、WTL自体の知名度が低く、
CodeProjectを中心にいろいろなコントロールは発表されているけど
それを標準化、準標準化しようとするコミュニティが存在しないから。
0704デフォルトの名無しさん
2006/07/13(木) 03:13:26オーナードローしてるGUI部品でも、めちゃめちゃ表示が軽かった。
やっぱりAPI並に速度の速いネイティブコードを吐いてくれるクラスライブラリは
他には無いと思う。あとウィンドウの機能をtemplateに分けて実装するスタイルが好き。
CHAIN_MSG_MAPマクロに渡すチェインクラスに引数が複数ある場合でもtypedefしとけば
渡せることに最近気づいた。。
もっと流行って欲しいなぁ。。みんなもっと盛り上げようよ。。
0705デフォルトの名無しさん
2006/07/13(木) 05:41:330706デフォルトの名無しさん
2006/07/13(木) 05:56:000707デフォルトの名無しさん
2006/07/13(木) 10:25:290708デフォルトの名無しさん
2006/07/13(木) 19:55:010709デフォルトの名無しさん
2006/07/13(木) 20:01:54アカウント登録しろって言われた。なんじゃこり(゜□゜) ↑アッー!↓
0710デフォルトの名無しさん
2006/07/13(木) 20:03:33無料だし登録しておいて損はないと思うが
0711デフォルトの名無しさん
2006/07/13(木) 20:03:570712デフォルトの名無しさん
2006/07/13(木) 20:07:20ちなみに追加コントロールって標準コントロールみたいに、
リソースエディタからダイアログ上にペタペタ貼っ付けたり、プロパティ設定できます?
0713デフォルトの名無しさん
2006/07/13(木) 20:11:06ここはWTLのスレなわけだが
0714デフォルトの名無しさん
2006/07/13(木) 20:17:430715デフォルトの名無しさん
2006/07/13(木) 20:36:09www.で始まるサイトの方は登録無しで使えるよ
ttp://www.codeproject.com/wtl/wtlgrid2.asp
それ知らずに俺も登録させられてしまったことがあるけど・・・
0716デフォルトの名無しさん
2006/07/13(木) 20:43:47登録してログインしないとダウンロードできないと思うけど・・・
0717デフォルトの名無しさん
2006/07/13(木) 20:47:140719デフォルトの名無しさん
2006/07/15(土) 10:48:36だめじゃん
0720デフォルトの名無しさん
2006/07/15(土) 11:14:440721デフォルトの名無しさん
2006/07/15(土) 11:25:520722デフォルトの名無しさん
2006/07/15(土) 11:26:570723デフォルトの名無しさん
2006/07/15(土) 11:27:480724デフォルトの名無しさん
2006/07/15(土) 11:35:190725デフォルトの名無しさん
2006/07/15(土) 19:29:030726デフォルトの名無しさん
2006/07/15(土) 19:36:34ATLはSDKに含まれてるのでは?
ただ、バージョンは3.0と古いとどっかに書かれてました
0727デフォルトの名無しさん
2006/07/15(土) 19:36:450728デフォルトの名無しさん
2006/07/15(土) 19:43:470729デフォルトの名無しさん
2006/07/15(土) 20:00:25ちょっと前にVSスレでurlを見たような。
0730デフォルトの名無しさん
2006/07/16(日) 11:17:27全世界で 4000 人も使っているんだ。
0731デフォルトの名無しさん
2006/07/16(日) 12:17:080732デフォルトの名無しさん
2006/07/16(日) 14:26:18世界で4000人も使っているんだから、
日本でも100人くらい使っているかもしれないですよ?
それでも少ないと思う?
0733デフォルトの名無しさん
2006/07/16(日) 14:32:117.5 Finalは14000超えてるし。俺もまだ7.5のまま。
0734デフォルトの名無しさん
2006/07/16(日) 14:39:49VS.NET2003を使ってる漏れはわざわざアップデートするのもマンドイので7.5のまま。
0735デフォルトの名無しさん
2006/07/16(日) 14:40:22ダイアログエディタが活躍するような小型アプリ位しか使い道が無いような気がする。
0736デフォルトの名無しさん
2006/07/16(日) 14:41:410737デフォルトの名無しさん
2006/07/16(日) 14:41:490738デフォルトの名無しさん
2006/07/16(日) 14:44:06MFCのほうが軽いですよ??
もしかして、なんとなくこっちのほうが速そうとか印象で語ってません?
それに、重くてもWTLの良さは無くなりません。
WTL自体がなくなりそうで不安だけどw
0739デフォルトの名無しさん
2006/07/16(日) 14:45:310740デフォルトの名無しさん
2006/07/16(日) 14:48:19多重継承を基本としているところが魅力的なわけで、
多少重くても不満ない。
0741デフォルトの名無しさん
2006/07/16(日) 15:14:49MFCのメッセージハンドラがどういうロジックで呼ばれてるか知らないようだ。
WTLの呼び出し仕組みは、ここをみるといいよ
http://hp.vector.co.jp/authors/VA022575/c/msgmap.html
0742デフォルトの名無しさん
2006/07/16(日) 15:19:00下手に書けばいくらでも遅くなるだろうよw
0743デフォルトの名無しさん
2006/07/16(日) 15:49:26もう少し軽くならないと使いようが無い。
0744デフォルトの名無しさん
2006/07/16(日) 16:55:190745デフォルトの名無しさん
2006/07/16(日) 16:58:58ここはこうだから重い、ああすれば軽くなるのにとでも書いてみなさい。
0746デフォルトの名無しさん
2006/07/16(日) 17:28:550747デフォルトの名無しさん
2006/07/17(月) 01:45:370748・∀・)っ-○◎●新世紀ダンゴリオン ◆DanGorION6
2006/07/17(月) 02:10:44ヘッダ嫁
WindowProcを隠蔽したマクロで、各パラメータごとの処理を各関数に飛ばしてるだけ
ウィンドウメッセージを補足してパラメータの値ごとにif(mgsID == ID_HOGEHOGE) { foo_proc(...); }
みたいな感じでやってるだけ
WinでWTLほど軽いクラスライブラリ他にないと思うけど
STLとの親和性の高さならWinSTLくらいか?
0749・∀・)っ-○◎●新世紀ダンゴリオン ◆DanGorION6
2006/07/17(月) 02:22:35仮想関数テーブルのオーバーヘッドが要因として大きいかと。
WTLは多重継承を前提とするテンプレートベースのクラスライブラリなんで
仮想関数テーブルを持てない。
代替メッセージマップによる似非ポリモーフィズムはC++じゃなくて
Windows自体の機能によるものですな
0750・∀・)っ-○◎●新世紀ダンゴリオン ◆DanGorION6
2006/07/17(月) 02:26:42大嘘言ったかも
0751デフォルトの名無しさん
2006/07/17(月) 03:19:45コントロールやウインドウに対する操作がかなりインライン化されて、
SDKで書いた場合とほとんど変わらないコードに展開されるからってのも大きい気がする
0752デフォルトの名無しさん
2006/07/17(月) 03:41:351、WindowProcで、CWndクラスポインタをHWNDとCWndの対応からget
2、uMsgと対応するメッセージハンドラのメンバ関数ポインタを、MessageMapを
線形探査してget(線形探査部分はアセンブラで書いてあった気がする)
3、メンバ関数ポインタをCWndクラスポインタでcall。
というかなりの力業だったような。
WTLはWindowProcでの引数のhwndがthisで呼ばれてくるからくりを
使っているので、this->ProcessWindowMessage()しているだけ。
0753デフォルトの名無しさん
2006/07/17(月) 05:14:02テンプレート化されているおかげで、コードサイズが大きくなりすぎる。
最初にスケルトンアプリを作るとコードサイズが小さいことに感動するけど、
その後アプリとして必要な機能を追加していくとどんどんサイズが増えていく。
同じ基本クラスを使っていてもコードが別になるんだから当たり前だよね。
結局、WTLマンセーな人って、スケルトンをコンパイルして喜んでる人だけなんじゃないの?
自分は、リリースできるレベルまで作りこんでがっかりしました。
なんか夢を見すぎた感じ。
0754デフォルトの名無しさん
2006/07/17(月) 05:18:040755デフォルトの名無しさん
2006/07/17(月) 05:21:41自分が下手じゃないとは言わないけど、それにしても馬鹿でかくなりすぎだよ。
それに実行も遅くなりがち。
コマンドバーがすべてのメッセージをフックするでしょ。
ああいうのってどう思う?
ああいうつくりでも軽くなると思う?
普通に重くなって当然でしょ。
0756デフォルトの名無しさん
2006/07/17(月) 05:22:45>その後アプリとして必要な機能を追加していくとどんどんサイズが増えていく。
お前のコードじゃねえかw
0757デフォルトの名無しさん
2006/07/17(月) 05:28:48自分のコードじゃないよ?
テンプレートのマジックで、同じ基本クラスであっても
継承するたびに別のコードが生成されるみたい。
これは無駄だよね〜〜〜〜。
せっかく多重継承を使うデザインなのに、
性能を意識すると機能を分離できないじゃん。
いったいどう使えというのかな?
世界で4000人しか使っていないのはここら辺に理由があるんじゃないの?
0758デフォルトの名無しさん
2006/07/17(月) 05:33:080759デフォルトの名無しさん
2006/07/17(月) 05:35:50驚きだよね。
少なくても百万人くらいは使ってると思ってた。
日本だけでも数万人とか。
世界で四千人じゃ、そのうち無くなるよね。
0760デフォルトの名無しさん
2006/07/17(月) 05:37:104000人は確かに驚きw
0761デフォルトの名無しさん
2006/07/17(月) 05:43:55テンプレートクラスは全部じゃない?
あとね〜〜〜。
ATLってオブジェクトサイズが小さいじゃん。
WTLも同じだと思ってるなら騙されてるよ。
めっちゃくちゃ大きい。
その場で計算したらいいような値でも、メンバ変数になってたりするからね。
なんかみんなイメージに騙されてるんじゃないかなぁ〜〜〜〜??
0762デフォルトの名無しさん
2006/07/17(月) 05:46:080763デフォルトの名無しさん
2006/07/17(月) 05:48:17反論できないんだよね?
まぁ仕方ないけど。
0764デフォルトの名無しさん
2006/07/17(月) 05:50:05インラインに展開されることを前提にしたようなコードばっかだよ。
読んでみろってw
0765デフォルトの名無しさん
2006/07/17(月) 05:52:550766デフォルトの名無しさん
2006/07/17(月) 05:55:24じゃぁ使う意味ないじゃん。
ラッパーばっかりなのにあんなにくそ重いんじゃ意味ないし。
ラッパーごときがあんなにサイズ大きいんじゃね〜〜〜。
だめジャン。
0767デフォルトの名無しさん
2006/07/17(月) 05:58:160768デフォルトの名無しさん
2006/07/17(月) 05:59:11お前がSDKだけで直書きしても、もっと軽快で小さいコードにはならないよw
0769デフォルトの名無しさん
2006/07/17(月) 06:00:46MFCはスケルトンでも静的リンクなら200KiBを超えるよね。
動的なら30KiBクラス。
WTLは同じような構成なら40KiB。
もちろん構成が違えばサイズは変わるけどね。
だから、最初にWTLを使ってスケルトンをコンパイルすると感動するよ。
自分も感動した。
その後機能を加えていくと、実はMFCより効率が悪いことに気がつく。
MFCだと自分の書いたコードの分だけサイズが増えていくけど、
WTLは、基本クラスの分が何重にも増えていってすぐにMFCの場合よりサイズが大きくなる。
てわけで、マンセーしてるのはスケルトンコンパイルして喜んでる人だけなんじゃないの?
0770デフォルトの名無しさん
2006/07/17(月) 06:06:250771デフォルトの名無しさん
2006/07/17(月) 06:07:47スケルトンをコンパイルするお仕事してる人には、
WTLが良いって意味?
0772デフォルトの名無しさん
2006/07/17(月) 06:10:110773デフォルトの名無しさん
2006/07/17(月) 06:10:58とあるCAD用ソフトのUIモジュールをMFCからWTLに書き換えたことがあるが、
サイズはせいぜい50kbしか違わなかったぞ。
WTLではテンプレートの実体化で大きくなるサイズなんてタカが知れてるしな。
サイズがデカくなるんだとしたらインライン化によるものが大きいとは思うが、
それでも100KB単位で増加することはまずない。
極端にでかくなるんだとしたら、相当アフォな設計でアフォな継承関係を作ってるとしか思えないなぁ。
0774デフォルトの名無しさん
2006/07/17(月) 06:11:480775デフォルトの名無しさん
2006/07/17(月) 06:14:020776デフォルトの名無しさん
2006/07/17(月) 06:15:010777デフォルトの名無しさん
2006/07/17(月) 06:17:24UIモジュールってことはオブジェクトをホストしてるだけでしょ?
それほとんどATLじゃん。
だから50KBの増加で済んだんだよ。
WTLをたくさん使ったらもっと増えるよ。
みんな目を覚まして!
0778デフォルトの名無しさん
2006/07/17(月) 06:22:200779デフォルトの名無しさん
2006/07/17(月) 06:25:40その言い訳苦しすぎない?
ていうかみんなWTLほんとに使ってるの??
コマンドバーには誰も反応しないよね。
不思議だ〜〜〜〜。
0780デフォルトの名無しさん
2006/07/17(月) 06:27:05スケルトンコンパイルしてマンセーしてるだけで、
実はよく知らないとかじゃない??
もしかして俺が一番知ってる?
そんなことないよね?
0781デフォルトの名無しさん
2006/07/17(月) 06:33:55いや、お前が一番知ってると思うよ。
WTLウィザードといっても過言ではないね。
0782デフォルトの名無しさん
2006/07/17(月) 06:35:41そう思う。まさに天才。
確かにMFC>WTLだ。
〜完〜
0783デフォルトの名無しさん
2006/07/17(月) 06:38:07そうなの?
ってことはさ、みんなある程度WTLを知ると
限界に気がついて離れていっちゃうんだろうね。
で、使い始めの人だけ使っててマンセーしてて、
ウィザードクラスの人は育たないんじゃないの?
それに、4000人しか使っていないんじゃいつ無くなるかわかんないしね。
WTL使うことに不安は無いの??
0784デフォルトの名無しさん
2006/07/17(月) 07:13:580785デフォルトの名無しさん
2006/07/17(月) 07:26:15ごちゃごちゃ書いていくうちにコンパイルの遅さにも鳴れた
0786デフォルトの名無しさん
2006/07/17(月) 07:27:130787デフォルトの名無しさん
2006/07/17(月) 07:34:170788デフォルトの名無しさん
2006/07/17(月) 08:02:08全世界で 4000 人も使っているんだ。
日本でも100人くらい使っているらしい。
0789デフォルトの名無しさん
2006/07/17(月) 08:23:50度に再描画が走って(試したのはVistaの1個前のベータ)、こりゃデフォルトでは
使えんかもと思いました。WTLのウィンドウメッセージの流れについて
知ってる人が見れば(WTL本体を)直せるんでしょうが、知らない私にはどうもなぁ〜と。
ソース量が少なくて、無駄がないように見えて、実はMFCより実行時に
流れるウィンドウメッセージの数が桁違いに多いというようなことは
ないんでしょうか?
0790デフォルトの名無しさん
2006/07/17(月) 08:38:09特別変わったことはしてない。
0791789
2006/07/17(月) 09:08:36WindowsXP SP2とかで"デザインを優先する"にした時、
ウィンドウリサイズでRebarのグリップ部分の再描画が走り、
Vistaのデザインモード?だと確かツールボタンまでも
再描画された気が…。Vistaは今環境持ってないんでなんともですが…。
0792デフォルトの名無しさん
2006/07/17(月) 09:14:00テンプレートだから別の型で使うたびに増えていくというのは
間違いじゃないのでは?
たとえばHogeってテンプレートクラスを
Hoge<Poge>とHoge<Puge>って使ったら、
Hogeテンプレートのコードは型の部分以外、
全く同じコードが2回展開されるでしょ?
0793デフォルトの名無しさん
2006/07/17(月) 09:15:460794デフォルトの名無しさん
2006/07/17(月) 09:16:40誰も「テンプレートを使ってもサイズが増えない」とは書いてないと思うが
0795デフォルトの名無しさん
2006/07/17(月) 09:22:18ソースの字面上は同じだろうけど対象としてる型が違うじゃん。
WTLはかなり薄いラッパだから、そこでダブる程度のコードは、
代わりに手で書いてもそれほど共通化はできないんじゃないの?
0796792
2006/07/17(月) 09:26:07>>753-754 >>757 >>760あたりの話で、そう捕らえてる人がいるようにみえたのだが。
てかスレ伸びてるけど、WTLのDL数からして、数人のカキコか・・・
0797デフォルトの名無しさん
2006/07/17(月) 09:29:000798デフォルトの名無しさん
2006/07/17(月) 09:35:18実際はImplが仮想関数を使ってないから、
「使わないメンバ関数は実体化されない」ルールのおかげでかなり小さくなってるんだよな。
0799791
2006/07/17(月) 09:54:56うへー。MFC自体にコマンドバーがないんで何ともですが、
MFCウィザードで生成するRebarでも、XP SP2で再描画がかかって
しまいますね…orz。
Vistaではどうだったか良く覚えてませんが…。
0800デフォルトの名無しさん
2006/07/17(月) 10:06:13じゃあ、コモンコントロール(なの?)自体の問題だろ。
0801792
2006/07/17(月) 10:07:08あーそうだ、長いことテンプレ使ってなかったから、そのルール忘れてた。
なんで使わないコードもメモリに乗っちゃうMFCと、
プログラムのサイズは、どっこいどっこいってことかな。
0802デフォルトの名無しさん
2006/07/17(月) 10:09:310803デフォルトの名無しさん
2006/07/17(月) 10:11:250804デフォルトの名無しさん
2006/07/17(月) 10:19:290805792
2006/07/17(月) 10:25:40俺的にはC#よりメモリ食わなきゃいいよ。
そんで、MFCみたいにめんどくせーフレームワーク押しつけられず自由に組めれば。
0806デフォルトの名無しさん
2006/07/17(月) 12:53:51ム板で低LVな煽りあいとか、がっかりさせんな〜
0807デフォルトの名無しさん
2006/07/17(月) 13:51:54ねらーにも見捨てられるなんて……
0808デフォルトの名無しさん
2006/07/17(月) 14:14:180809デフォルトの名無しさん
2006/07/17(月) 14:15:59まあいいんじゃね?
0810デフォルトの名無しさん
2006/07/17(月) 14:28:160811デフォルトの名無しさん
2006/07/17(月) 14:30:580812・∀・)っ-○◎●新世紀ダンゴリオン ◆DanGorION6
2006/07/17(月) 14:33:340813デフォルトの名無しさん
2006/07/17(月) 19:18:41せっかく動作しているプログラムの動作試験をやり直さなきゃいけない。
現時点では7.5で十分。
0814デフォルトの名無しさん
2006/07/17(月) 23:06:34いやならコマンドバー使わずに、普通のメニューバーにすればいいだろwwwww
0815デフォルトの名無しさん
2006/07/17(月) 23:08:00コンパイルは糞遅いけど
0816デフォルトの名無しさん
2006/07/18(火) 09:26:020817デフォルトの名無しさん
2006/07/18(火) 09:31:26おれも4回だ
きっとまだ世界で1000人程度なんだろう
0818デフォルトの名無しさん
2006/07/18(火) 09:32:23なんだか不安になってきたぞ・・・
0819デフォルトの名無しさん
2006/07/18(火) 17:39:580820デフォルトの名無しさん
2006/07/20(木) 14:54:440821デフォルトの名無しさん
2006/07/20(木) 16:30:540822デフォルトの名無しさん
2006/07/23(日) 22:24:59窓サイズをピッポッパッと計算してくれるメソッドは無いですか
もしくは自動的に変更してくれるしろもの
0823デフォルトの名無しさん
2006/07/23(日) 22:44:520824・∀・)っ-○◎●新世紀ダンゴリオン ◆DanGorION6
2006/07/23(日) 23:23:570825デフォルトの名無しさん
2006/07/24(月) 00:52:01AdjustWindowRectというAPIがあるので、WTLのウィンドウクラスにもあるだろう。
0826デフォルトの名無しさん
2006/07/24(月) 01:26:42そいつはウィンドウハンドルを引数に取らないから、ATL::CWindowには含まれていない。
ダイアログ関係とかそっちの方は知らない。
0827デフォルトの名無しさん
2006/07/24(月) 01:53:46いままでGetWindowRect()とGetClientRect()を使って自前でやっていた。
0828デフォルトの名無しさん
2006/07/24(月) 08:41:430829デフォルトの名無しさん
2006/07/24(月) 09:46:540830デフォルトの名無しさん
2006/07/24(月) 10:08:42OSというかWin32APIがショボイんだと思う
ATL/WTLやMFCのせいじゃないけど
クライアント領域のサイズが指定出来ないって
根本的になんか間違ってるよ
0831デフォルトの名無しさん
2006/07/24(月) 18:28:47メニューが複数段になった場合の問題も3行書き加えるだけで解決。
そもそもクライアント領域をきっちり指定したいのはゲームとかマルチメディア系
くらいで、ほとんどのアプリケーションにとってはどうでもいいこと。
それにクライアント領域のサイズが重要になるのはウィンドウ作成時の1回だけで
その後のウィンドウ操作はウィンドウ全体のサイズしか使わん。
(ウィンドウの移動制限、複数のウィンドウの整列…etc)
0832デフォルトの名無しさん
2006/07/25(火) 00:13:130833デフォルトの名無しさん
2006/07/25(火) 00:39:51読みにくいし、ちらつきがち。
そのためにクライアント領域のサイズをフォントの縦サイズの倍数にしたいわけよ。
0834デフォルトの名無しさん
2006/07/25(火) 04:05:050835デフォルトの名無しさん
2006/07/25(火) 22:15:56WTK ?
そりゃ、用無いわな。(w
0836デフォルトの名無しさん
2006/07/26(水) 13:20:13ちょっと使いたくないな。
ちらつき対策のロジック入れた方が良いんじゃねーの?
0837デフォルトの名無しさん
2006/07/26(水) 15:57:37/`ヽ _ ミ
,イ,.- 、 |  ̄_ ̄丁 '' ー┬‐- -ミ
/,|.l l ! ( ) ! (´ ) ! r‐
/イ,! `ー' _L =- --┴-ニ二ト、_'ー'
|'J」-''_二 =-- ‐一 ー‐t‐-ト、 二__
レ'/´ィ 、_________ ヾミ| l
V ,、 F≡三r一tァー, | l:.:. .:: _________
|ノ^>、 '^ミ二´ | l:.:.:.:: /
V/イソ .::ヽ、二_ < ちらつき対策のロジック入れた方が良いんじゃねーの?
| / ,' _ .:.:.:.::i|,)ノ \
|.〈、 、 _〉 `丶、 ;:ィil| ノ  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
| 笊yfミミミミヾ、 '!l|il|li!fj'
ヽ |i''r ''_二二ニミ;ヽ、 ,|l||il|l|,「゚|
|,l| V´ :::::::::;;/ トi|l|i|i|l|!Ll
|i! ゞ=-‐''" ,i||i|l|l|l|!|i{
|il! ーォii|「、 ,,.,.ィi||l|i|l|l|i|l|シ'
,/i|l||livil|||l|i|l|l|lil|l|i|l|i|i|i|l|l|l|{'
{l|!|l|i|l|i|l|i|||i|i|l|i|i|i|i|l|l|!|l|l!r'
ヾ!||i|i||i|i|l||l||i|i|l|l|l|l||l|l!イ
``,ヘi|l|i|l|i|l|l|i|r''`''"´ i ,
(_~`^~"゙'ヾ ノ / ,
ト─' ノ / /i
0838デフォルトの名無しさん
2006/07/26(水) 16:46:35文字の上半分か下半分が見切れてしまって使いにくい。
そうすると、見切れの関係で=と-をうっかり見間違えたりする。
0839デフォルトの名無しさん
2006/07/26(水) 18:11:360840デフォルトの名無しさん
2006/07/27(木) 00:17:53見切れないようにするなら、ウィンドウサイズじゃなく、
文字の方を合わせるべきだろ、メモ帳みたいに。
0841・∀・)っ-○◎●新世紀ダンゴリオン ◆DanGorION6
2006/07/27(木) 00:52:020842デフォルトの名無しさん
2006/07/27(木) 03:01:02ただ、RADとか使わないでガリガリやる時はそのぐらいこだわりたいとちょっと思った。
0843デフォルトの名無しさん
2006/07/27(木) 03:47:380844・∀・)っ-○◎●新世紀ダンゴリオン ◆DanGorION6
2006/07/27(木) 03:49:460845デフォルトの名無しさん
2006/07/27(木) 05:54:540846デフォルトの名無しさん
2006/07/27(木) 09:48:150847デフォルトの名無しさん
2006/07/28(金) 23:40:16orz...
0848デフォルトの名無しさん
2006/07/28(金) 23:54:500849sage
2006/07/29(土) 03:25:10MFCの共有DLLにすればサイズは小さくなるわなぁ・・・
0850デフォルトの名無しさん
2006/07/29(土) 04:05:430851デフォルトの名無しさん
2006/07/29(土) 09:18:32MFC厨おつ
0852デフォルトの名無しさん
2006/07/29(土) 11:02:42>>847
すげえ、この人。ダイナミックリンクしといて(ry
0853デフォルトの名無しさん
2006/07/29(土) 11:09:210854デフォルトの名無しさん
2006/07/29(土) 11:10:010855デフォルトの名無しさん
2006/07/29(土) 15:46:43まじレス。
ATLは軽量コンパクトで、速くする余地がある。
設計次第。
WTLは、そうではない。
WTLのコードをちょっと見るだけでも直感的にわかるだろうけど、
その直感は全体を通して当たってる。
速くするとかコンパクトにすることには主眼を置いていないと見える。
WTLは素晴らしいという人が例に出すWTLの美点は大抵ATLのコードで、
WTLのコードを例にとって素晴らしいという人はいない。
0856デフォルトの名無しさん
2006/07/29(土) 16:05:160857デフォルトの名無しさん
2006/07/29(土) 16:06:360858デフォルトの名無しさん
2006/07/29(土) 16:07:55WTLを使うとコーディング時間が10倍に!?
0859・∀・)っ-○◎●新世紀ダンゴリオン ◆DanGorION6
2006/07/29(土) 16:10:18ただ、x64対応とか考えると結構不安要素多いんだよな
(いちおうサンプルコードはx64用のMakefile書くことでそのままビルドできた)
0860デフォルトの名無しさん
2006/07/29(土) 16:14:50x64に限らず不安定要素は多い。
枯れるまでにはまだまだ時間がかかりそうだが、
その前に消滅してるかもしれん。
自分の環境で動けばそれでいいって場合はいいかもな。
0861デフォルトの名無しさん
2006/07/29(土) 16:46:38結局WTL自体のソース読む事になる。
0862デフォルトの名無しさん
2006/07/29(土) 16:48:00普通の人はケースバイケースで使い分けてるでしょ。
頭の弱い人は○○最強!とか言い出してもう大変だけどw
0863デフォルトの名無しさん
2006/07/29(土) 17:10:080864デフォルトの名無しさん
2006/07/29(土) 17:14:37夏厨:
使えてもいないのに、WTL最強とか言い出す子。
使っている人が「WTLいまいちだね」などと言い出すと発狂しだす。
0865デフォルトの名無しさん
2006/07/29(土) 17:37:31MFCしか使えない→厨、ウィザード厨、応用力無しって感じ
0866デフォルトの名無しさん
2006/07/29(土) 17:45:29WTL使ってる子は、ATLは大体わからないね。(MFCは挫折したという人が多い)
ATL使ってる人は、「WTL使う意味ってどこに有るの?」って思ってる。
ATL+MFCの方が効率いいじゃん。
いろんな意味で。
0867デフォルトの名無しさん
2006/07/29(土) 18:02:190868デフォルトの名無しさん
2006/07/29(土) 18:08:25MFC信者はこちらへどうぞ。
■MFC相談室 mfc16d.dll■
http://pc8.2ch.net/test/read.cgi/tech/1146117893/
0869デフォルトの名無しさん
2006/07/29(土) 18:32:53ATLを好んで使う人なんだけど・・・
で、WTLは糞だなって思ってる。
0870デフォルトの名無しさん
2006/07/29(土) 18:34:440871デフォルトの名無しさん
2006/07/29(土) 18:40:090872デフォルトの名無しさん
2006/07/29(土) 18:41:41WTLはATLやMFCより糞!!!
http://pc8.2ch.net/test/read.cgi/tech/1154166059/
0873デフォルトの名無しさん
2006/07/29(土) 18:45:070874デフォルトの名無しさん
2006/07/29(土) 18:45:22WTLなんか使うわけないでしょ。
常識で考えなよ。
重くて遅いし、インテリセンスも利かないしコンパイルも遅いし。
統合的なアプリのソリューションビルドしたら3日はかかるよね。
まぁWTLでそこまで大きなアプリは作れないけど。
次スレは、「(WTLのいないクリーンな)ATL Part5」だね。
0875・∀・)っ-○◎●新世紀ダンゴリオン ◆DanGorION6
2006/07/29(土) 18:47:190876デフォルトの名無しさん
2006/07/29(土) 18:53:31http://pc8.2ch.net/test/read.cgi/tech/1134388951/
0877デフォルトの名無しさん
2006/07/29(土) 22:11:590878デフォルトの名無しさん
2006/07/29(土) 22:21:090879デフォルトの名無しさん
2006/07/29(土) 22:53:100880デフォルトの名無しさん
2006/07/29(土) 22:57:04/: : : : へ._ : : : :へ、: : : \
__,く;へ_: : :| : : : : : : : \ ̄:ヽ、\
. /:__/: : :/: : |: :l: : : : : : : : \.: :ヽ: ヽ
/_//: : :/: / :|: l: : :ヽ: ヽ: : : : ヽ: : ヽハ
//: /: : : : : |: : l: : |: : |: : ヽ: :ヽ: : ヽ: : : : : : :ヽ: : ヽハ
. /:/: /: /: l: |: :,|: : ハ: : |: : : ヽ: :ヽ: : ヽ: : : : : : :ヽ : ヽ|
//: : l: :l: ::|: :|: :|: : :| ヽ lヽ : : :\: ヽ.: :\: : : ヽ:ハ: : : |
| l: : |: :|: : |: :|: ハ__,L. ヽ \" ̄「 T ト- 、;_: : : : :|: : :.|
| |: : |: :|: : |: ;|イ「 ヽ| \´\ヽ __」__i.\ \ : : |: : :| もう・・・仕方の無いことばかり言って・・・
| |: : |: :|: : くv' _」=i ヽ /「 i::::::o「\|ヽト: |: :/|
i l: : ハ: l: : :.ト / {:::::::〉 レヘ:.::::}゚i|/|: ::| .}レ': :|
∨:| Vヘ: ::ヘヽ vヘ:ハ ..く_二iつ|: :.:レ: :| : :|
ヽヽ∨へ:ハ ヾツ ////ハ:/::|: :|: : :|
∧: :i:ヘ.l // ` /: {:::::|: :l: : ハ
/:/: ∧: \ 。 ,.イ:|: :|::i:::|: :l: ::∧
//: : :}: ヽ`i:: 、. / .|::| :|:::i::::|: i:: : ∧
://: : : ハ: ヽ::::::ノT ' ‐ ' |::|: :V::::i∧: : : : ヘ
//: : ノ二 ヽ: :\ 〈ー 、 _____,トヘ: :∨::i::∧: : : :.∧
//:/ /⌒ \ ヽト、: :ヽ\_______ハ \:∨ハ:::∧: : : :} \
0881・∀・)っ-○◎●新世紀ダンゴリオン ◆DanGorION6
2006/07/29(土) 23:52:510882デフォルトの名無しさん
2006/07/30(日) 00:01:50WTLはATLに依存してるから、ATLとWTLを別に考えるなんて出来るわけ無いんだが
WTL単体じゃロクな物作れないだろ
0883・∀・)っ-○◎●新世紀ダンゴリオン ◆DanGorION6
2006/07/30(日) 00:12:20つーか、ATLのCWindowImplをもっと便利に使おうと思って生まれたのがWTLなわけで
WTLを開発したのはATLのチーム。
ATLはバージョン更新時に一部WTLの機能を取り込んでるしね
ATL使ったWindowsアプリ書こうと思ったらWTLが一番手軽。
0884デフォルトの名無しさん
2006/07/30(日) 00:42:430885デフォルトの名無しさん
2006/07/30(日) 00:49:15AMDのモバイルCPUと一部のママンなら簡単だぜ?
電圧上げるだけでいいんだから。
0886デフォルトの名無しさん
2006/07/30(日) 09:32:160887デフォルトの名無しさん
2006/07/30(日) 09:32:490888デフォルトの名無しさん
2006/07/30(日) 14:06:04でビルド出来るようにしましたが、動作させてみるとセキュリティや
マルチメディアの制御が機能していません。
本家donutのようなatlhost.hの直接書き換えではなく、unDonutのソース
(AmbientDispatch.とDonutView.hとDonutView.cpp)
をそっくり真似して、CAmbientDispatchなるIDispachインタフェースを
実装した外部からアンビエントプロパティを変更する
クラスで制御を行うように変更しました。
ダウンロードコントロールを制御するフラグを変更しようとすると、CAmbientProperty
のput_DLControlFlagsが呼ばれ、その中で呼ばれるRefreshAmbientで
CAxHostWindowのFireAmbientPropertyChangeをInvokeを介して呼び出しています。
しかし今回変更を加えたdonut2.52では、CAxHostWindowのInvokeで
FireAmbientPropertyChangeが呼ばれません。
さらに調べたところ、CComTypeInfoHolder::GetTI内のLoadTypeLibで失敗しています。
ここが原因なのではとにらんでいるんですが、ATL/WTLは勉強し始めて日も浅く、
ここからどうすればいいのか分からず頭を悩ませています。
どうかお力を貸して頂けないでしょうか?
0889デフォルトの名無しさん
2006/07/31(月) 17:20:31unDonutにはAPIという(ひどい名前の)タイプライブラリがあって
LoadTypeLibではそれが読み込まれている。
本家Donutはそれがないのでエラーになる。
タイプライブラリを付け加えれば多分うまくいくだろうけど面倒なので、
無理やりっぽいけどRefreshAmbientを次のように書き換える。
void RefreshAmbient(DISPID dispid)
{
CAxHostWindow* pHost = static_cast<CAxHostWindow*>(m_pHost.p);
pHost->FireAmbientPropertyChange(dispid);
}
0890デフォルトの名無しさん
2006/07/31(月) 23:31:19アドバイスありがとうございます。
やはりタイプライブラリが必要だったのですか。
教えて頂いた方法を早速試したところ、なぜか動作しませんでした。
試しに、VisualStudio2005でビルド可能にしたunDonutに同様の変更を
加えてみたところ、こちらは正常に動作しました。
教えていただいた方法に間違いは無い事を確信。
(私のミスであることも確信)
よくソースを見比べてみます。
おかげさまで活路が開けました。
ありがとうございます。
0891デフォルトの名無しさん
2006/08/02(水) 20:19:22/三 ミミ、ソノノ、ヾ、} アンタ、デフラグしないと死ぬわよ。
,':,' __ `´ __ `Y:}
}::! { : :`、 ,´: : j !:!
{:| `・、 i ! ,・;' |:}
r( / しヘ、 )j
g ! ` !-=‐!´ ,ノg
\._ヽ _´_ノ ソ
__,/ ヽー ,/\___
|.:::::.《 ヽー/ 》.::.〈
_,,,,,,,...........,,,,,_
,/:::::::::::::::::::::::::::::ヽ.
/:::::::::::::::::::::::::::::::::::::::ヽ.
.|:::::::::i"""""""""""ヾ::!
|:::::::ノ ゙l;!
/`ヾ;/ -‐ 、 -‐ 、 }
| r 'i zェェ、 zェェ、 |
ヽ` ! ! |
`7 /、,, _ ,,)、 l
,....--―'"|ヽ. ´ _ / <放っておくと大変なことになりますよ
::::::::::::::::::::| \ ´ ̄ ー ̄ /ー:::
:::::::::::::::::::::|. \____,/|:::::::
0892デフォルトの名無しさん
2006/08/06(日) 20:13:490893デフォルトの名無しさん
2006/08/07(月) 00:53:42http://gamdev.org/up/img/6960.jpg
やはり、一つのバンドを複数行に渡って表示させるのは無理なのでしょうか?
0894デフォルトの名無しさん
2006/08/07(月) 08:53:340895デフォルトの名無しさん
2006/08/14(月) 15:45:490896デフォルトの名無しさん
2006/08/15(火) 10:54:28>WTLは多重継承を前提とするテンプレートベースのクラスライブラリなんで
>仮想関数テーブルを持てない。
ATLの時点ですでに仮想関数テーブル持ってるけどな。
ここの人たちは何か勘違いしているようだけど、
WTLは効率を追求した形跡なんてどこにもないぞ?
実装の継承によって手早くコードを完成させたいときにはいいかもしれない。
もちろんこれはOO的にはやっちゃいけないことの部類に入る。
便利だっていう感想は有り得るけど、速いとか小さいって言うのは有り得ないし、
設計上も本来は問題があるわけでマンセー出来るようなものじゃない。
実装も依然かなりのバグを含んでいて修正される気配もないし、
プロジェクトのアクティビティーも低い。
自分がプロジェクトを引き継ぐくらいの気概が無いと使うのは無理なんじゃないか?
まぁ、2チャンネルだから仕方ないけど。
0897デフォルトの名無しさん
2006/08/15(火) 11:08:070898デフォルトの名無しさん
2006/08/15(火) 11:17:24言い過ぎなのはわかってるよ。
ATLをデザインした人はわかった上でやってるだろうし、何しろ便利だ。
ただ、このスレの流れが気になってね。
嘘ばかり書いてマンセーしてるから。
このスレを見てWTLの使用を検討する人がいたら気の毒だ。
0899デフォルトの名無しさん
2006/08/15(火) 11:54:150900デフォルトの名無しさん
2006/08/15(火) 12:14:32このスレに限らず、そもそも2chを見るのやめた方がいい。
アンチと糞コテのレスがこのスレの流れだと思ってるのも痛いな。
ここを見るような人間の大半はMFCもWTLも使うし用途によって自分で判断する。
くだらない話に乗らないからアンチと糞コテのレスが目立つだけだ。
0901デフォルトの名無しさん
2006/08/15(火) 12:20:23自分で判断できる技量のある人ばかりなら問題はないが、
世の中そういう人ばかりではない。
そもそも、自分で判断できるならWTLを実用にすることはないだろ。
研究するならわかる。
だいたい、WTLを使う用途って何?
そのソフトウエアを使うユーザーだって気の毒だ。
0902デフォルトの名無しさん
2006/08/15(火) 12:33:450903デフォルトの名無しさん
2006/08/15(火) 12:35:27UI以外のどこにWTLを使おうと?
0904デフォルトの名無しさん
2006/08/15(火) 12:41:23豪華なUIに中身なしなんてのを作るわけじゃないだろ。
0905デフォルトの名無しさん
2006/08/15(火) 12:44:30それならなおさらWTLの使いどころなんてないだろ。
0906デフォルトの名無しさん
2006/08/15(火) 12:46:30いい加減想像力膨らまそうや。
ユーザが自分だけかもしれないし
気の毒なほどパフォーマンスに差のでるソフトを作るのかどうかもわからんし
何を誰のために作るのかも決めずに
実用にすることはないだの気の毒だの不毛もいいとこ。
0907デフォルトの名無しさん
2006/08/15(火) 12:47:390908デフォルトの名無しさん
2006/08/15(火) 12:48:19個人的には、MFCはアプリそのものの構造に口をはさんでくる傾向があるから、
UIと機能が切り分けにくくて使いにくいと感じるけどね。
0909デフォルトの名無しさん
2006/08/15(火) 12:48:520910デフォルトの名無しさん
2006/08/15(火) 12:49:57このスレに限らず言語だろうがOSだろうが。
0911デフォルトの名無しさん
2006/08/15(火) 12:59:42ユーザーが自分だけで気の毒なほどパフォーマンスが悪化してもいい場合の話を
一般化して語ってるから問題なんじゃ?
ユーザーが自分だけで気の毒なほどパフォーマンスが悪化してもいい場合のみ使える
ライブラリがWTLだって明示した上なら問題ないと思う。
0912デフォルトの名無しさん
2006/08/15(火) 13:04:46誰も一般化はしてないと思う。
みんなそれぞれが自分の想像した環境だけで話してるからこうなるんだって。
ありがちなパターンじゃん。
ちなみにこれだと意味が変わる。
>気の毒なほどパフォーマンスが悪化してもいい場合のみ使える
0914デフォルトの名無しさん
2006/08/15(火) 13:09:50>>896は何が言いたいんだよ。
>>896がプロジェクトマネージャでこのスレの住人がプロジェクトメンバーならわかるが。
そいつはいろんな板のいろんなスレで「それよりこっちが良いからそれは使うな」と言って回ってるのかね。
0915デフォルトの名無しさん
2006/08/15(火) 13:12:13いくら2CHとは言え、嘘書いてまでマンセーしちゃだめってことだろ。
0916デフォルトの名無しさん
2006/08/15(火) 13:13:16「そんなOS役に立たないからWindows使え」とか。
0917デフォルトの名無しさん
2006/08/15(火) 13:15:36SFのWTLプロジェクトの話だろ。
もうほとんどメンテナンスされなくなってるから、
誰かが引き継がないといけない。
Latest Newsが去年の11月だぞ?
0918デフォルトの名無しさん
2006/08/15(火) 13:16:00嘘を指摘するなら歓迎だが、
後半のプロジェクトのアクティビティーやら
使うのは無理やらはいらんだろ。
0919デフォルトの名無しさん
2006/08/15(火) 13:19:29前半でWTLの設計を否定してるかと思ったら
プロジェクトの存続を危惧する内容だったのか。
そういう意味で「2chだから仕方ない」と言ってるなら
それはそうだろうな。
0920デフォルトの名無しさん
2006/08/15(火) 13:19:43このスレにはそういうことが書いてないからな。
すでに消えそうなライブラリだって>>1にはっきり書いておけば良い。
0921デフォルトの名無しさん
2006/08/15(火) 13:22:11Latest Newsは実際あてにならないから、俺はファイルリストのRSSとYahooGroupを見てる。
0922デフォルトの名無しさん
2006/08/15(火) 13:22:49WTL自体が当てにならない。
0923デフォルトの名無しさん
2006/08/15(火) 13:25:40リリースは常に2〜3ヶ月ごとにされてるし
今更消えそうだとか騒ぐこた無いと思うが。
0924デフォルトの名無しさん
2006/08/15(火) 13:26:540925デフォルトの名無しさん
2006/08/15(火) 13:28:110926デフォルトの名無しさん
2006/08/15(火) 13:34:562〜3ヶ月でリリースなんてされてないはずだが。
0927デフォルトの名無しさん
2006/08/15(火) 13:39:25どこ見てるのよ。
0928デフォルトの名無しさん
2006/08/15(火) 13:40:26SF
0929デフォルトの名無しさん
2006/08/15(火) 13:42:18http://sourceforge.net/project/showfiles.php?group_id=109071&package_id=117803
ここ見てもわからんか。
0930デフォルトの名無しさん
2006/08/15(火) 13:44:01去年でとまってるな。
0931デフォルトの名無しさん
2006/08/15(火) 13:45:277.5系だからだろ。おまえはちょっと頭の弱い子っぽいな。
0932デフォルトの名無しさん
2006/08/15(火) 13:50:51そういう書き込みが嘘っぽいんだよな。
で?何で8系出さない?
やっぱり、2〜3ヶ月でリリースなんてされてない。
昔は活発に開発されていたこともあったって認識で良いだろ。
今はもうたまに気が向いた人が少しの変更を加えるってくらいだ。
来年にはプロジェクト自体削除される可能性だってある。
0933デフォルトの名無しさん
2006/08/15(火) 13:54:13ありがちだね。
0934デフォルトの名無しさん
2006/08/15(火) 13:55:460935デフォルトの名無しさん
2006/08/15(火) 13:57:49嘘っぽいって何だよ。
8系だと2リリースしかされてないから7.5出したんだろうが。
つーかその削除される可能性があることをアピールする目的がわからん。
もう削除されそう、だから使うのやめよう、と思ったら使うのやめればいいだろーが。
アピールなんていらんぞ。好きにやめれ。
0936デフォルトの名無しさん
2006/08/15(火) 13:59:50しかも、8系だとたった2回しかリリースされなかった。
今後リリースされる予定もない。
0937デフォルトの名無しさん
2006/08/15(火) 14:01:28直近の一回が5ヶ月かかっただけで嘘っぽいって子供の喧嘩かよ・・・
0938デフォルトの名無しさん
2006/08/15(火) 14:02:048系出せば2〜3ヶ月でリリースされていないってはっきりするでしょ。
だから嘘ってこと。
0939デフォルトの名無しさん
2006/08/15(火) 14:02:07気にすることは無い
どうせサンクとラッパーがほしいだけなんだから
あとはどうでもいいだろう
0940デフォルトの名無しさん
2006/08/15(火) 14:03:29それも嘘。
半年かかってる。
嘘書いてマンセーすると鵜呑みにする人がいるからやめよう。
0941デフォルトの名無しさん
2006/08/15(火) 14:05:55あ?8の1番目のリリースまで2〜3ヶ月だろ。
最後のリリースが5ヶ月だから全部嘘だと思いたいならそれでもいいが。
0942デフォルトの名無しさん
2006/08/15(火) 14:06:120943デフォルトの名無しさん
2006/08/15(火) 14:06:590944デフォルトの名無しさん
2006/08/15(火) 14:07:41すでに開発が止まってしまったのは認めねばなるまい。
0945デフォルトの名無しさん
2006/08/15(火) 14:09:355ヶ月と書くと、それを見て鵜呑みにする人がいるからやめよう。
0946デフォルトの名無しさん
2006/08/15(火) 14:10:56開発ペースが遅くなった、または止まったとして
ここで騒ぐ意味あるのか。
「WTL終わったな」と言いたいだけならム板の慣習通り専用スレ作った方がいいぞ。
0947デフォルトの名無しさん
2006/08/15(火) 14:12:30嘘書いてマンセーするのはやめようってことだ。
本気にしてWTL使う人がいたらかわいそうだろ?
0948デフォルトの名無しさん
2006/08/15(火) 14:13:100949デフォルトの名無しさん
2006/08/15(火) 14:14:14心底つまんね
0950デフォルトの名無しさん
2006/08/15(火) 14:14:53WTL v.s. 何?
0951デフォルトの名無しさん
2006/08/15(火) 14:17:090952デフォルトの名無しさん
2006/08/15(火) 14:22:54サンプルコードなりベンチマークなり用意しろな。
0953デフォルトの名無しさん
2006/08/15(火) 14:25:31開発も止まったことだしもう良いでしょ。
0954デフォルトの名無しさん
2006/08/15(火) 14:26:360955デフォルトの名無しさん
2006/08/15(火) 14:27:16もう出ないよ。
0956デフォルトの名無しさん
2006/08/15(火) 14:29:49はいはい、うざいから書き込まないでね
0957デフォルトの名無しさん
2006/08/15(火) 14:32:090958デフォルトの名無しさん
2006/08/15(火) 14:35:370959デフォルトの名無しさん
2006/08/15(火) 14:41:31工作員かと勘ぐってしまう
0960デフォルトの名無しさん
2006/08/15(火) 14:43:100961デフォルトの名無しさん
2006/08/15(火) 14:44:230962デフォルトの名無しさん
2006/08/15(火) 14:45:310963デフォルトの名無しさん
2006/08/15(火) 14:47:19君のまわりは陰謀が渦巻いてるんだよ。
俺は良い病院は知らない。ごめんな。
0964デフォルトの名無しさん
2006/08/15(火) 14:47:30WTLよりいいライブラリ作って出してくれよ。
言いだしっぺの何とやら。
0965デフォルトの名無しさん
2006/08/15(火) 14:54:14所詮WTLより優れたものを作れないクズが騒いでるだけ
0966デフォルトの名無しさん
2006/08/15(火) 14:56:190967デフォルトの名無しさん
2006/08/16(水) 19:49:150968デフォルトの名無しさん
2006/08/17(木) 00:06:59http://pc8.2ch.net/test/read.cgi/tech/1155725575/
0969・∀・)っ-○◎●新世紀ダンゴリオン ◆DanGorION6
2006/08/17(木) 00:25:13十分重宝してるし、代替手段ってパッと思い浮かばない。
更新が滞ったっていいじゃん。「枯れてきた」ってことで。
0970デフォルトの名無しさん
2006/08/17(木) 00:33:19結構、ごりごり書き始めてるんだけど・・・
0971・∀・)っ-○◎●新世紀ダンゴリオン ◆DanGorION6
2006/08/17(木) 01:06:07せいぜいあってもAPI・コントロールの仕様変更に伴う互換性の問題くらいじゃないかな。
覚えれば圧倒的に楽だから、問題箇所を自前で修正してでも使う価値はある。
0972デフォルトの名無しさん
2006/08/17(木) 01:13:56WTLクラス -> 継承して汎用的な機能を付加 -> 継承して使い回し
って使ってるから、↑ここでバグフィックスしたメソッドを入れれば大丈夫かな。
0973デフォルトの名無しさん
2006/08/17(木) 09:54:28具体的にどこがバグで、どこが実際に遅くなるの?
0974デフォルトの名無しさん
2006/08/17(木) 13:46:39ATL Serverとかだとアレだが。
0975デフォルトの名無しさん
2006/08/17(木) 16:46:54/ \
|====ミx,、、_ \
、__>ァ¬一ァ―r¬ミi、 \ オヤシロさまは開発の守り神さま。
 ̄7'/'/ //// ,ハヘ.,ニヽ、 } …プログラミングの決まりを守らずにWTLを使う人を
// / /:,'/,' ' i┴`≠| i }`T''トrイ 絶対に許さない。 私はちゃんとMFCを使った!
//i , ; !:!:| !:i | | |,ハ. l. l. }::| でも>>1はWTLしか使えなかった。 だから!
| i {. { l | トi;、l_ト、 | _,. ィく!ノi. }:| :! l :| オヤシロさまの祟りにあってしまったに違いないのッ!!
N.\ヽ.ヽ.ヽi!.{::::ji!ヽ!.'{_:::::} ji. |,リノ ' , |
>ト、_トトr`´ ,______  ̄´イ/',.イ/ :/
/:イ ハトゞゝ Y¨ ̄} ≦,イィ1 イ /| オヤシロさまの祟りは信じようと信じまいと、
_. --- 、 /〃 ,'// /:/_> `二 イ //ノ ,ハ{ノ! 確かにッ、
, ‐',.- \. ,'./.| /!|:|レ'|:{r一 ''  ̄iスニム.ム!_ル'
l | /⌒ | V | | ||/_ヽ-〉 _,イ/ , -- \
l__,/| :| | /.N / } |__,///>/ !
ー1 ,ノ ,:'1 ,Kニ.ヽ| \__, イ { 〈 '
丁 /´ ヽ. ヽ} '⌒ヽニ=ヘ. イ /
`iー.′ l /! /l ヾニ゙イ
! }/_,ノ 〃 ` ̄´/
ヽ __/フ'´ 〈{ /
_/ / / 、____ ,.! ,/ \
/ ' / | ヽ . _ ー '´
0976デフォルトの名無しさん
2006/08/17(木) 17:02:33{;;;;;;ゝ T辷iフ i f'辷jァ !i;;;;;
ヾ;;;ハ ノ .::!lリ;;r゙
`Z;i 〈.,_..,. ノ;;;;;;;;> そんなふうに考えていた時期が
,;ぇハ、 、_,.ー-、_',. ,f゙: Y;;f 俺にもありました
~''戈ヽ `二´ r'´:::. `!
0977デフォルトの名無しさん
2006/08/19(土) 05:32:55VS2005 に WTL8を入れてるんですけど
アプリケーションウイザードで生成したダイアログのOKボタンをダブルクリックで
LRESULT CMainDlg::OnBnClickedOk(WORD /*wNotifyCode*/, WORD /*wID*/, HWND /*hWndCtl*/, BOOL& /*bHandled*/)
こんなコードが自動で生成されますが、これが生成された途端コンパイル通らなくなります。
どうやら、
>error C2504: 'CUpdateUI' : 定義されていない基本クラスが宣言されています。
これが原因らしいのです。
で、マウスをCUpdateUIの上に試しに載せてみても、どうやら未定義らしいのです。
このせいで、コントロール貼り付けてもそれに対応したコードをかけなくなっています。
CUpdateUIを使いまくるみたいなんで・・。
どうすれば解決するのでしょうか?
0978デフォルトの名無しさん
2006/08/19(土) 09:27:09WTL/ATLを使うなら、ダブルクリックで作成されたコードは使えないよ。
あれはMFCを想定して生成しているから...
maindlg.cpp が自動的に生成されていると思うので、それのコンパイルでエラーが発生している
maindlg.cppには、WTL/ATLで必要なヘッダー定義が自動生成されていないためにエラーがでるんだよ。
対応方法は2通り
1.maindlg.cpp を削除して、maindlg.hに実装コードを書く
2.maindlg.cppのヘッダー定義を<プロジェクト名>.cppを見ながら、ゴリゴリ書く
おれは、1を推奨する。
WTL/ATLを使うと、どうしても .hに実装コードを書くことが多くなる
0979デフォルトの名無しさん
2006/08/19(土) 10:43:20http://pc8.2ch.net/test/read.cgi/tech/1155951708/
0980デフォルトの名無しさん
2006/08/19(土) 13:28:220981・∀・)っ-○◎●新世紀ダンゴリオン ◆DanGorION6
2006/08/19(土) 14:47:440982デフォルトの名無しさん
2006/08/19(土) 14:55:10最初に.cppを生成するかどうかは選べるでしょ。
漏れは小規模なテストプログラムみたいの以外では、
無理やりヘッダに詰め込む事はしないようにしてる。
0983・∀・)っ-○◎●新世紀ダンゴリオン ◆DanGorION6
2006/08/19(土) 15:35:12CMainFrameは巨大化しがちなので、実装(cpp)は複数ファイルに分けたりすることもある。
0984デフォルトの名無しさん
2006/08/19(土) 15:36:52テラキタナス(wwwwwwwwwwwwwww
0985デフォルトの名無しさん
2006/08/19(土) 15:44:26イベントハンドラ書きまくってたら肥大化する。
CMainFrameに貼り付けるコントロール毎にクラス化すべし。
各コントロールクラスはCMainFrameのポインタもってね。
0986・∀・)っ-○◎●新世紀ダンゴリオン ◆DanGorION6
2006/08/19(土) 15:47:05メニューの項目が膨大になると・・・ね。
0987デフォルトの名無しさん
2006/08/19(土) 15:51:490989デフォルトの名無しさん
2006/08/20(日) 06:47:280990デフォルトの名無しさん
2006/08/20(日) 13:43:060991デフォルトの名無しさん
2006/08/20(日) 17:21:550992デフォルトの名無しさん
2006/08/20(日) 17:28:210993デフォルトの名無しさん
2006/08/20(日) 17:44:02埋め
0994デフォルトの名無しさん
2006/08/20(日) 19:24:220995デフォルトの名無しさん
2006/08/21(月) 00:53:590996デフォルトの名無しさん
2006/08/21(月) 05:20:080997デフォルトの名無しさん
2006/08/21(月) 11:47:000998デフォルトの名無しさん
2006/08/21(月) 13:07:050999デフォルトの名無しさん
2006/08/21(月) 13:07:481000デフォルトの名無しさん
2006/08/21(月) 13:08:3410011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。