青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

道。道。道

安全特性不等于安全的特性

   :: 首頁 :: 聯系 :: 聚合  :: 管理

常用鏈接

搜索

  •  

最新評論

??? When using WTL 7.0 with ActiveX controls under ATL 7.1, the framework will ASSERT inside atlcom.h on the following line:
??? ATLASSERT(!InlineIsEqualGUID(*m_plibid,GUID_NULL) && "Did you forget to pass the LIBID to CComModule::Init?");

??? This can be solved one of two ways:
??? 1) Change your "Use of ATL" setting to "Dynamic Link to ATL" in your project properties.
??? 2) Change your "Use of ATL" setting to "Static Link to ATL" and instead of using
??? ??
hRes = _Module.Init(NULL, hInstance);
??? ?? line in your _tWinMain, use this instead:
???? GUID guid;
??? ?? hRes = _Module.Init(NULL, hInstance, &guid);

??? The ATLASSERT is apparently a bug in ATL 7.0/7.1 because everything works right if you pass a non-null GUID to _Module.Init(). Note that some people prefer to pass the actual LIBID instead of a garbage GUID, but this has no effect on whether the framework works correctly or not.



??? I was unsure whether to post this under GDI or WTL, but WTL won out since I was using CScrollImpl when I encountered this problem. On one of the views in my WTL program, I was creating controls dynamically on the output screen. This worked fine until the controls I was creating extended beyond the range of the viewport. When I kept using the same RECT coordinates for the created controls in the scrolled view, I started having all sorts of positioning and resizing problems.

??? Turns out that Create assumes that the RECT coordinates you specify in the call are from the top of the viewport, not the top of the window. This was not at all intuitive to me. Consequently, if you want to keep a common coordinate system when creating controls on a scrolling view, you must either 1) factor in the scroll bar offset yourself, or 2) scroll back to the top left of the window (without updating), place your controls and then scroll back to the proper position.

??? By default, the COM Server code that the WTL AppWizard adds does not have the _Module.RegisterServer function set to TRUE by default. As a result, the type library information never showed up in the registry. A message in the ATL Archives relayed the answer to this problem.

??? After trying to use extended combo boxes within a WTL app and not getting them to load, I knew I must be doing something wrong. I was initializing them with ::InitCommonControlsEx() in OnInitDialog(), which was a little too late. I moved them to DllMain, and that solved the problem. (The Microsoft ATL mailing list archives saved the day ...)

??? I was trying to modify a WTL frame window by using ModifyStyle in OnCreate(). WTL doesn't like this very well. Instead I discovered that I got the results I was looking for by modifying CFrameWindowImpl to take a customized version of CWinTraits by adding it to the template definition. By the way, this also works for CWindowImpl, which is where I found this trick in the MSDN docs and ATL Internals. Also, this link shows another tricky portion of the whole process.

??? Steps to use CDialogResize (from WTL 3.1):
??? 1) #include <atlframe.h> in your view/dialog class
??? 2) derive your view/dialog from CDialogResize:
??????? class CMyClass: public CDialogImpl<CMyClass>, ....
????????????????????????????? public CDialogResize<CMyClass>
??? 3) Add a DLGRESIZE_MAP to your view as follows:
???????? BEGIN_DLGRESIZE_MAP(CMyClass)
????????????? DLGRESIZE_CONTROL(IDOK, DLSZ_MOVE_X | DLSZ_SIZE_Y)
??????? END_DLGRESIZE_MAP()
??????? The first parameter in the DLGRESIZE_CONTROL macro is the resource ID of your control. The second parameter(s) is the way that you want that control to be resized; valid values are DLSZ_MOVE_X, DLSZ_MOVE_Y, DLSZ_SIZE_X, DLSZ_SIZE_Y. (Note that you can OR these together with a |). You can also resize controls as a group by enclosing a number of DLGRESIZE_CONTROL macros with BEGIN_DLGRESIZE_GROUP() and END_DLGRESIZE_GROUP(). More on grouping in the next tip.
??? 4) Chain your message map to CDialogResize, i.e.
??????????? BEGIN_MSG_MAP(CMyClass)
??????????????? ....
??????????????? CHAIN_MSG_MAP(CDialogResize<CMyClass>)
??????????? END_MSG_MAP()
??? 5) Initialize the resizing for your view with DlgResize_Init(false, true, WS_CLIPCHILDREN) in OnInitDialog. Normally (for standard dialogs) you would just use DlgResize_Init() and accept the default parameters, but for a view you have to supply the extra settings since the view doesn't need a gripper or a frame like a dialog would.

? Some things I've noticed about grouping controls with CDialogResize:
?? 1) You can group controls in one direction and leave them ungrouped in another direction to achieve good effects.
??????? For instance, if you had Save, Print and Close buttons running along the bottom of your dialog, centered and spaced evenly apart, you'd probably want to do this grouping:
?????? BEGIN_DLGRESIZE_MAP(CMyClass)
??????????? BEGIN_DLGRESIZE_GROUP()
??????????????? DLGRESIZE_CONTROL(IDC_BTN_SAVE, DLSZ_MOVE_X )
??????????????? DLGRESIZE_CONTROL(IDC_BTN_PRINT, DLSZ_MOVE_X )
??????????????? DLGRESIZE_CONTROL(IDC_BTN_CLOSE, DLSZ_MOVE_X)
??????????? END_DLGRESIZE_GROUP()
??????????? DLGRESIZE_CONTROL(IDC_BTN_SAVE, DLSZ_MOVE_Y)
??????????? DLGRESIZE_CONTROL(IDC_BTN_PRINT, DLSZ_MOVE_Y)
??????????? DLGRESIZE_CONTROL(IDC_BTN_CLOSE, DLSZ_MOVE_Y)
?????? END_DLGRESIZE_MAP()

?????? This would keep all of them centered and spaced evenly as you moved them, while also moving them up and down independently.

??? 2) As soon as you noticed this little trick, however, you might start to take notice that your buttons don't exactly line up with the other controls on screen. You'd see this as the dialog was sized larger and larger. What's happening is that the leftmost button in the resource (this doesn't mean the top one in the DLGRESIZE_GROUP -- it's unrelated) is acting as an anchor for all the other buttons in the group. So when you resize the dialog, the leftmost button isn't moving ... it's just staying in place.
??? There may be better ways to solve this problem, but what I did is insert a new invisible button on the resource in the leftmost position to act as the anchor. I then included the button in the DLGRESIZE_GROUP with a DLSZ_MOVE_X command as well so it would make all the other three buttons move together correctly. Like I said -- it works. If you stumble on something better

posted on 2007-01-18 16:23 獨孤九劍 閱讀(1353) 評論(0)  編輯 收藏 引用 所屬分類: C/C++/STL/ATL/WTL
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            久久aⅴ国产欧美74aaa| 欧美色道久久88综合亚洲精品| 亚洲在线成人| 亚洲永久免费精品| 国产精品国产三级国产专播品爱网 | 亚洲愉拍自拍另类高清精品| 亚洲女人小视频在线观看| 久久成人精品视频| 欧美gay视频激情| 亚洲精品欧美在线| 亚洲天堂av图片| 巨胸喷奶水www久久久免费动漫| 欧美精品导航| 国产一区二区三区四区在线观看 | 伊人蜜桃色噜噜激情综合| 亚洲国产三级在线| 亚洲先锋成人| 欧美国产一区视频在线观看| 99天天综合性| 久久国产成人| 国产精品美女主播在线观看纯欲| 影音欧美亚洲| 亚洲精品国产精品国自产观看| 亚洲精品孕妇| 欧美在线一二三| 久久视频国产精品免费视频在线| 国产精品美腿一区在线看| 久久久久久欧美| 正在播放欧美视频| 欧美日韩在线大尺度| 亚洲国产日韩一区| 中文欧美在线视频| 影音先锋中文字幕一区| 妖精视频成人观看www| 好吊妞**欧美| 久久国产精品网站| 亚洲综合视频一区| 国产精品久久久久久久浪潮网站| 久久综合久久久久88| 性欧美精品高清| 国产一区久久久| 久久频这里精品99香蕉| 欧美日韩亚洲一区二区| 免费观看成人网| 麻豆成人精品| 亚洲国产小视频在线观看| 亚洲桃色在线一区| 日韩一区二区精品葵司在线| 亚洲激情视频在线观看| 欧美国产在线电影| 亚洲美女毛片| 久久性天堂网| 麻豆91精品91久久久的内涵| 久久综合狠狠综合久久综合88| 午夜久久一区| 欧美在线播放| 久久精品欧美| 国产伦精品一区二区三区免费 | 在线成人激情| 欧美影院久久久| 午夜精品美女自拍福到在线| 欧美日韩在线播放一区| 亚洲另类在线一区| 中国日韩欧美久久久久久久久| 亚洲国内自拍| 国产精品久久久久久久浪潮网站| 亚洲精品护士| 一本久久综合| 欧美一区二区视频在线| 亚洲日韩成人| 亚洲欧美国产精品专区久久| 亚洲一区二区在线| 国产精品一区二区久久久| 亚洲一区二区欧美日韩| 亚洲欧美偷拍卡通变态| 国产欧美日韩免费看aⅴ视频| 欧美国产日韩xxxxx| 亚洲国产精品成人久久综合一区| 日韩小视频在线观看| 国产一区二区三区奇米久涩| 欧美一区二区高清| 麻豆国产精品777777在线 | 国产精品久久中文| 亚洲免费视频网站| 久久久久久午夜| 1204国产成人精品视频| 在线午夜精品| 欧美主播一区二区三区| 精品999在线观看| 亚洲网站视频| 久久精品国产精品亚洲精品| 影音先锋欧美精品| 欧美激情在线播放| 亚洲欧美另类综合偷拍| 狼人社综合社区| 一区二区三区免费看| 久久国产精品高清| 亚洲国产日韩综合一区| 亚洲欧美国产另类| 激情欧美一区| 欧美日韩中文在线| 久久精品国语| 久久精品国产亚洲aⅴ| 亚洲国产一区二区三区高清| 欧美日韩国产精品成人| 91久久精品国产91性色| 亚洲一区免费网站| 在线日本成人| 国产精品黄页免费高清在线观看| 欧美亚洲网站| 日韩午夜三级在线| 免费看精品久久片| 性高湖久久久久久久久| 欧美无乱码久久久免费午夜一区| 亚洲破处大片| 鲁大师影院一区二区三区| 亚洲视频精选| 亚洲激情第一区| 国产亚洲a∨片在线观看| 香港久久久电影| 亚洲老板91色精品久久| 久久一区二区视频| 亚洲免费伊人电影在线观看av| 亚洲国产精品999| 国产欧美日本在线| 欧美性猛片xxxx免费看久爱| 欧美freesex8一10精品| 亚洲精品黄网在线观看| 麻豆精品视频在线| 久久激情五月婷婷| 午夜一区二区三视频在线观看| 亚洲精品久久嫩草网站秘色| 精品二区视频| 国产啪精品视频| 国产精品视频yy9099| 欧美影院一区| 性刺激综合网| 亚洲一区二区三区777| 日韩亚洲欧美精品| 99精品视频一区二区三区| 亚洲国产精品嫩草影院| 欧美成年人在线观看| 老巨人导航500精品| 鲁大师成人一区二区三区| 久久久欧美一区二区| 欧美一级在线视频| 国产精品一区二区三区成人| 欧美性猛片xxxx免费看久爱| 欧美日韩一二三区| 欧美日韩中字| 国产精品久久久久久模特| 国产精品久久久一区二区| 国产精品视频一二三| 国产精品羞羞答答xxdd| 国产精品久久久久久福利一牛影视| 欧美色综合网| 国产精品一区二区在线| 国产一区二区精品久久99| 黄色成人av网站| 91久久精品国产| 国产日韩欧美另类| 韩国一区二区三区美女美女秀| 怡红院精品视频在线观看极品| 在线精品观看| 亚洲免费电影在线观看| 亚洲已满18点击进入久久| 欧美在线观看视频| 美女尤物久久精品| 最近中文字幕日韩精品 | 久久精品中文字幕一区| 一区二区三区成人精品| 亚洲永久免费精品| 久久精品国产免费观看| 牛人盗摄一区二区三区视频| 亚洲日本中文字幕| 亚洲午夜精品网| 久久精品国产一区二区三区| 久久亚洲私人国产精品va| 欧美精品麻豆| 国产自产精品| 一区二区三区国产在线| 久久久久久高潮国产精品视| 欧美高清视频一区二区三区在线观看| 小辣椒精品导航| 免费亚洲电影| 亚洲一区二区视频在线| 农村妇女精品| 国产一区二区三区观看| 99精品久久久| 免费在线观看成人av| 亚洲天堂成人在线观看| 久久综合久久综合久久| 国产精品一区二区久久精品| 亚洲日本欧美日韩高观看| 欧美专区在线观看一区| 亚洲精品国产视频| 久久亚洲欧洲| 国产一区二区三区无遮挡| 一本一本久久a久久精品牛牛影视| 久久亚洲图片|