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

道。道。道

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

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

常用鏈接

搜索

  •  

最新評論

??? 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 獨孤九劍 閱讀(1350) 評論(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>
            亚洲精品一区在线| 亚洲最黄网站| 欧美福利视频一区| 一本到12不卡视频在线dvd| 国产日韩欧美综合精品| 国产精品视频大全| 国产欧美一区二区白浆黑人| 国产偷国产偷精品高清尤物| 国产日产欧产精品推荐色| 国产精品一区二区黑丝| 国产女主播一区| 国产有码在线一区二区视频| 国产一区二区三区在线免费观看| 激情久久婷婷| 亚洲免费观看在线视频| 亚洲一级电影| 久久久精品动漫| 欧美成人黄色小视频| 亚洲国产精品视频一区| 欧美成人情趣视频| 夜色激情一区二区| 午夜在线精品| 麻豆免费精品视频| 国产精品青草久久| 亚洲国产一区二区三区a毛片| 亚洲——在线| 快射av在线播放一区| 亚洲国产精品小视频| 亚洲欧美日韩精品在线| 免费在线视频一区| 国产欧美日本一区视频| 亚洲国产一区二区视频| 亚洲男人影院| 欧美成人亚洲成人| 亚洲午夜伦理| 欧美精品久久久久久| 国产在线成人| 亚洲视频在线二区| 欧美激情精品久久久久久久变态 | 午夜精品久久久久久久白皮肤 | 久久久人人人| 欧美性大战久久久久久久| 国产精品三级视频| 久久久久女教师免费一区| 亚洲在线中文字幕| 国产精品久久久久毛片大屁完整版| 亚洲精品免费观看| 亚洲精品欧美日韩| 国产精品日日做人人爱| 女仆av观看一区| 欧美xx视频| 亚洲伊人一本大道中文字幕| 亚洲一区二区视频在线| 一区二区在线观看视频在线观看| 久久精品亚洲精品| 香蕉久久国产| 欧美激情一区二区| 一本色道久久综合亚洲精品小说| 欧美~级网站不卡| 亚洲国产黄色| 麻豆精品国产91久久久久久| 欧美在线电影| 最新国产成人av网站网址麻豆| 欧美一区二区三区视频免费| 亚洲国产精品成人| 久久亚洲精品中文字幕冲田杏梨| 亚洲一区综合| 国产精品萝li| 午夜精品福利一区二区三区av | 久久九九免费| 午夜精品久久久久久久久久久久 | 亚洲国产精品第一区二区| 欧美一区永久视频免费观看| 国产情侣一区| 久久久久久久91| 欧美专区中文字幕| 一区视频在线看| 香港成人在线视频| 欧美精品九九| 亚洲一区二区视频| 亚洲欧美韩国| 激情欧美日韩一区| 欧美v亚洲v综合ⅴ国产v| 蜜臀av国产精品久久久久| 亚洲人成网站在线播| 亚洲每日在线| 国产无一区二区| 欧美成人dvd在线视频| 欧美久久久久久| 午夜精品久久久久久久久久久久久| 亚洲男人的天堂在线| 一区二区三区无毛| 亚洲人成久久| 国产欧美精品日韩精品| 牛人盗摄一区二区三区视频| 欧美日韩国产欧| 久久久噜噜噜久久人人看| 欧美成人高清| 欧美日韩亚洲一区三区| 欧美一级电影久久| 噜噜噜噜噜久久久久久91| 一区二区免费在线播放| 欧美一区视频| 在线中文字幕不卡| 欧美一区二区在线看| 亚洲精品一区二区三区四区高清| 亚洲午夜电影网| 亚洲黄色小视频| 亚洲一区在线观看视频| 亚洲茄子视频| 久久福利毛片| 亚洲一区二区四区| 噜噜噜躁狠狠躁狠狠精品视频| 99riav1国产精品视频| 欧美一区在线看| 亚洲欧美日韩精品久久久| 男女激情视频一区| 久久久福利视频| 国产精品国产三级国产普通话99 | 免费日韩av| 国产精品网站在线观看| 亚洲国产精品ⅴa在线观看| 国产日韩欧美综合精品| 亚洲视频欧美在线| 99视频有精品| 欧美成人综合一区| 麻豆国产精品777777在线| 国产女人水真多18毛片18精品视频| 亚洲人体偷拍| 亚洲伦理在线观看| 美女黄毛**国产精品啪啪| 久久午夜精品一区二区| 国产日韩精品一区二区三区在线 | 国产精品揄拍500视频| 亚洲精品免费电影| 久久成人一区| 欧美视频一区二区三区在线观看| 中文av一区二区| 欧美极品影院| 最新国产乱人伦偷精品免费网站| 黄色精品网站| 久久精品亚洲一区二区| 久久午夜影视| 精品1区2区3区4区| 久久久精品一区| 久久这里只有精品视频首页| 好男人免费精品视频| 久久久精品久久久久| 久久一区二区三区国产精品 | 在线欧美不卡| 另类国产ts人妖高潮视频| 女人天堂亚洲aⅴ在线观看| 亚洲国产成人久久综合一区| 女人色偷偷aa久久天堂| 91久久夜色精品国产九色| 久久综合影视| 欧美不卡一区| 99re6这里只有精品| 欧美日韩在线播放| 亚洲一区二区三区四区五区黄| 香蕉国产精品偷在线观看不卡| 国产午夜精品全部视频在线播放| 久久久精品2019中文字幕神马| 欧美成人国产va精品日本一级| 最新日韩中文字幕| 欧美日韩一区二区国产| 亚洲五月婷婷| 欧美成人黑人xx视频免费观看| av成人福利| 国产一区日韩欧美| 欧美不卡一卡二卡免费版| 一本色道久久综合亚洲精品不| 久久国产日韩欧美| 亚洲精品婷婷| 国产啪精品视频| 欧美美女日韩| 久久国产欧美精品| 99re6这里只有精品视频在线观看| 欧美一区二区三区在线观看| 亚洲福利视频网| 国产精品欧美久久久久无广告| 久久久xxx| 亚洲日本成人女熟在线观看| 校园激情久久| 99国产精品久久久| 韩国成人精品a∨在线观看| 欧美日韩美女在线| 久久免费国产| 亚洲一区二区三区高清不卡| 欧美成人午夜激情视频| 欧美一级在线播放| 在线亚洲伦理| 最新日韩中文字幕| 狠狠色噜噜狠狠狠狠色吗综合| 欧美色综合天天久久综合精品| 久久免费国产精品| 欧美一区二区三区免费在线看| 日韩午夜三级在线| 亚洲韩国精品一区| 你懂的视频一区二区|