亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? wtl for mfc programmers, part v.mht

?? 大家知道wtl是window UI庫
?? MHT
?? 第 1 頁 / 共 5 頁
字號:
      <P><CODE>SubclassWindow()</CODE> is overridden to perform the =
subclassing=20
      and initialize internal data that the class keeps.</P>
      <H5>Bitmap button extended styles</H5><PRE>DWORD =
GetBitmapButtonExtendedStyle()
DWORD SetBitmapButtonExtendedStyle(DWORD dwExtendedStyle,=20
                                   DWORD dwMask =3D <SPAN =
class=3Dcpp-literal>0</SPAN>)</PRE>
      <P><CODE>CBitmapButton</CODE> supports some extended styles that =
affect=20
      the appearance or operation of the button:</P>
      <DL>
        <DT><CODE>BMPBTN_HOVER</CODE>=20
        <DD>Enables hot-tracking. When the cursor is over the button, it =
will be=20
        drawn in the focused state.=20
        <DT><CODE>BMPBTN_AUTO3D_SINGLE</CODE>, =
<CODE>BMPBTN_AUTO3D_DOUBLE</CODE>=20

        <DD>Automatically generates a 3D border around the image, as =
well as a=20
        focus rectangle when the button has the focus. In addition, if =
you do=20
        not provide an image for the pressed state, one is generated for =
you.=20
        <CODE>BMPBTN_AUTO3D_DOUBLE</CODE> produces a slightly thicker =
border.=20
        <DT><CODE>BMPBTN_AUTOSIZE</CODE>=20
        <DD>Makes the button resize itself to match the size of the =
image. This=20
        style is the default.=20
        <DT><CODE>BMPBTN_SHAREIMAGELISTS</CODE>=20
        <DD>If set, the button object does not destroy the image list =
used to=20
        hold the button images. If not set, the image list is destroyed =
by the=20
        <CODE>CBitmapButton</CODE> destructor.=20
        <DT><CODE>BMPBTN_AUTOFIRE</CODE>=20
        <DD>If set, clicking the button and holding down the mouse =
button=20
        generates repeated <CODE>WM_COMMAND</CODE> messages. </DD></DL>
      <P>When calling <CODE>SetBitmapButtonExtendedStyle()</CODE>, the=20
      <CODE>dwMask</CODE> parameter controls which styles are affected. =
Use the=20
      default of 0 to have the new styles completely replace the old =
ones.</P>
      <H5>Image list management</H5><PRE>HIMAGELIST GetImageList()
HIMAGELIST SetImageList(HIMAGELIST hImageList)</PRE>
      <P>Call <CODE>SetImageList()</CODE> to associate an image list =
with the=20
      button.</P>
      <H5>Tooltip management</H5><PRE><SPAN =
class=3Dcpp-keyword>int</SPAN>  GetToolTipTextLength()
<SPAN class=3Dcpp-keyword>bool</SPAN> GetToolTipText(LPTSTR lpstrText, =
<SPAN class=3Dcpp-keyword>int</SPAN> nLength)
<SPAN class=3Dcpp-keyword>bool</SPAN> SetToolTipText(LPCTSTR =
lpstrText)</PRE>
      <P><CODE>CBitmapButton</CODE> supports showing a tooltip when the =
mouse=20
      hovers over the button. Call <CODE>SetToolTipText()</CODE> to =
specify the=20
      text to show.</P>
      <H5>Setting the images to use</H5><PRE><SPAN =
class=3Dcpp-keyword>void</SPAN> SetImages(<SPAN =
class=3Dcpp-keyword>int</SPAN> nNormal, <SPAN =
class=3Dcpp-keyword>int</SPAN> nPushed =3D -<SPAN =
class=3Dcpp-literal>1</SPAN>,
               <SPAN class=3Dcpp-keyword>int</SPAN> nFocusOrHover =3D =
-<SPAN class=3Dcpp-literal>1</SPAN>, <SPAN =
class=3Dcpp-keyword>int</SPAN> nDisabled =3D -<SPAN =
class=3Dcpp-literal>1</SPAN>)</PRE>
      <P>Call <CODE>SetImages()</CODE> to tell the button which image in =
the=20
      image list to use for which button state. <CODE>nNormal</CODE> is=20
      required, but the others are optional. Pass -1 to indicate that =
there is=20
      no image for the corresponding state.</P>
      <H3><A name=3Dcchecklist></A>CCheckListViewCtrl</H3>
      <P><CODE>CCheckListViewCtrl</CODE>, defined in atlctrlx.h, is a=20
      <CODE>CWindowImpl</CODE>-derived class that implements a list view =
control=20
      containing check boxes. This is different from MFC's=20
      <CODE>CCheckListBox</CODE>, which uses a list box, not a list =
view.=20
      <CODE>CCheckListViewCtrl</CODE> is quite simple, since the class =
adds=20
      minimal functionality on its own. However, it does introduce a new =
helper=20
      class, <CODE>CCheckListViewCtrlImplTraits</CODE>, that is like=20
      <CODE>CWinTraits</CODE> but with a third parameter that is the =
extended=20
      list view styles to use for the control. If you don't define your =
own set=20
      of <CODE>CCheckListViewCtrlImplTraits</CODE>, the class uses these =
styles=20
      by default: <CODE>LVS_EX_CHECKBOXES | =
LVS_EX_FULLROWSELECT</CODE>.</P>
      <P>Here is a sample traits definition that uses different extended =
list=20
      view styles, plus a new class that uses those traits. (Note that =
you must=20
      include <CODE>LVS_EX_CHECKBOXES</CODE> in the extended list view =
styles,=20
      or else you will get an assert failed message.)</P><PRE><SPAN =
class=3Dcpp-keyword>typedef</SPAN> CCheckListViewCtrlImplTraits&lt;
    WS_CHILD | WS_VISIBLE | LVS_REPORT,=20
    WS_EX_CLIENTEDGE,
    LVS_EX_CHECKBOXES | LVS_EX_GRIDLINES | LVS_EX_UNDERLINEHOT |
      LVS_EX_ONECLICKACTIVATE&gt; CMyCheckListTraits;
=20
<SPAN class=3Dcpp-keyword>class</SPAN> CMyCheckListCtrl :
    <SPAN class=3Dcpp-keyword>public</SPAN> =
CCheckListViewCtrlImpl&lt;CMyCheckListCtrl, CListViewCtrl,=20
                                  CMyCheckListTraits&gt;
{
<SPAN class=3Dcpp-keyword>private</SPAN>:
    <SPAN class=3Dcpp-keyword>typedef</SPAN> =
CCheckListViewCtrlImpl&lt;CMyCheckListCtrl, CListViewCtrl,=20
                                   CMyCheckListTraits&gt; baseClass;
<SPAN class=3Dcpp-keyword>public</SPAN>:
    BEGIN_MSG_MAP(CMyCheckListCtrl)
        CHAIN_MSG_MAP(baseClass)
    END_MSG_MAP()
};</PRE>
      <H4>CCheckListViewCtrl methods</H4>
      <H5>SubclassWindow()</H5>
      <P>When you subclass an existing list view control,=20
      <CODE>SubclassWindow()</CODE> looks at the extended list view =
styles in=20
      the associated <CODE>CCheckListViewCtrlImplTraits</CODE> class and =
applies=20
      them to the control. The first two template parameters (windows =
styles and=20
      extended window styles) are not used.</P>
      <H5>SetCheckState() and GetCheckState()</H5>
      <P>These methods are actually in <CODE>CListViewCtrl</CODE>.=20
      <CODE>SetCheckState()</CODE> takes an item index and a boolean =
indicating=20
      whether to check or uncheck that item. =
<CODE>GetCheckState()</CODE> takes=20
      just an index and returns the current checked state of that =
item.</P>
      <H5>CheckSelectedItems()</H5>
      <P>This method takes an item index. It toggles the check state of =
that=20
      item, which must be selected, and changes the check state of all =
other=20
      selected items to match. You probably won't use this method =
yourself,=20
      since <CODE>CCheckListViewCtrl</CODE> handles checking items when =
the=20
      check box is clicked or the user presses the space bar.</P>
      <P>Here's how a <CODE>CCheckListViewCtrl</CODE> looks in=20
ControlMania2:</P>
      <P><IMG height=3D429 alt=3D" [Check list ctrl - 12K] "=20
      src=3D"http://www.codeproject.com/wtl/WTL4MFC5/cm2_lv.png" =
width=3D305=20
      align=3Dbottom border=3D0></P>
      <H3><A name=3Dtreeex></A>CTreeViewCtrlEx and CTreeItem</H3>
      <P>These two classes make it easier to use tree control features =
by=20
      wrapping an <CODE>HTREEITEM</CODE>. A <CODE>CTreeItem</CODE> =
object keeps=20
      an <CODE>HTREEITEM</CODE> and a pointer to the tree control that =
contains=20
      the item. You can then perform operations on that item using just=20
      <CODE>CTreeItem</CODE>; you don't have to refer to the tree =
control in=20
      every call. <CODE>CTreeViewCtrlEx</CODE> is like=20
      <CODE>CTreeViewCtrl</CODE>, however its methods deal with=20
      <CODE>CTreeItem</CODE>s instead of <CODE>HTREEITEM</CODE>s. So for =

      example, when you call <CODE>InsertItem()</CODE>, it returns a=20
      <CODE>CTreeItem</CODE> instead of an <CODE>HTREEITEM</CODE>. You =
can then=20
      operate on the newly-inserted item using the =
<CODE>CTreeItem</CODE>.=20
      Here's an example:</P><PRE><SPAN class=3Dcpp-comment>// Using =
plain HTREEITEMs:</SPAN>
HTREEITEM hti, hti2;
=20
    hti =3D m_wndTree.InsertItem ( <SPAN =
class=3Dcpp-string>"foo"</SPAN>, TVI_ROOT, TVI_LAST );
    hti2 =3D m_wndTree.InsertItem ( <SPAN =
class=3Dcpp-string>"bar"</SPAN>, hti, TVI_LAST );
    m_wndTree.SetItemData ( hti2, <SPAN class=3Dcpp-literal>100</SPAN> =
);
=20
<SPAN class=3Dcpp-comment>// Using CTreeItems:</SPAN>
CTreeItem ti, ti2;
=20
    ti =3D m_wndTreeEx.InsertItem ( <SPAN =
class=3Dcpp-string>"foo"</SPAN>, TVI_ROOT, TVI_LAST );
    ti2 =3D ti.AddTail ( <SPAN class=3Dcpp-string>"bar"</SPAN>, <SPAN =
class=3Dcpp-literal>0</SPAN> );
    ti2.SetData ( <SPAN class=3Dcpp-literal>100</SPAN> );</PRE>
      <P><CODE>CTreeItem</CODE> has a method corresponding to every=20
      <CODE>CTreeViewCtrl</CODE> method that takes an =
<CODE>HTREEITEM</CODE>,=20
      just like <CODE>CWindow</CODE> contains a method corresponding to =
every=20
      API that takes an <CODE>HWND</CODE>. Check out the ControlMania2 =
code,=20
      which demonstrates more methods of <CODE>CTreeViewCtrlEx</CODE> =
and=20
      <CODE>CTreeItem</CODE>.</P>
      <H3><A name=3Dchyperlink></A>CHyperLink</H3>
      <P><CODE>CHyperLink</CODE> is a <CODE>CWindowImpl</CODE>-derived =
class=20
      that can subclass a static text control and make it into a =
clickable=20
      hyperlink. <CODE>CHyperLink</CODE> automatically handles drawing =
the link,=20
      following the user's IE color preferences, and also supports =
keyboard=20
      navigation. The <CODE>CHyperLink</CODE> constructor takes no =
parameters,=20
      so here are the remaining public methods<CODE>.</CODE></P>
      <H4>CHyperLink methods</H4>
      <P>The class <CODE>CHyperLinkImpl</CODE> contains all the code to=20
      implement a link, but unless you need to override a method or =
message=20
      handler, you can stick with <CODE>CHyperLink</CODE> for your =
controls.</P>
      <H5>SubclassWindow()</H5><PRE>BOOL SubclassWindow(HWND hWnd)</PRE>
      <P><CODE>SubclassWindow()</CODE> is overridden to perform the =
subclassing,=20
      then initialize internal data that the class keeps.</P>
      <H5>Text label management</H5><PRE><SPAN =
class=3Dcpp-keyword>bool</SPAN> GetLabel(LPTSTR lpstrBuffer, <SPAN =
class=3Dcpp-keyword>int</SPAN> nLength)
<SPAN class=3Dcpp-keyword>bool</SPAN> SetLabel(LPCTSTR lpstrLabel)</PRE>
      <P>Gets or sets the text to use in the control. If you do not set =
the=20
      label text, the control uses the text you assign to the static =
control in=20
      the resource editor.</P>
      <H5>Hyperlink management</H5><PRE><SPAN =
class=3Dcpp-keyword>bool</SPAN> GetHyperLink(LPTSTR lpstrBuffer, <SPAN =
class=3Dcpp-keyword>int</SPAN> nLength)
<SPAN class=3Dcpp-keyword>bool</SPAN> SetHyperLink(LPCTSTR =
lpstrLink)</PRE>
      <P>Gets or sets the URL that the control will launch when it is =
clicked.=20
      If you do not set the hyperlink, the control uses the text label =
as the=20
      URL.</P>
      <H5>Navigation</H5><PRE><SPAN class=3Dcpp-keyword>bool</SPAN> =
Navigate()</PRE>
      <P>Navigates to the current hyperlink URL, either set via=20
      <CODE>SetHyperLink()</CODE>, or the default which is the window =
text.</P>
      <H5>Tooltip management</H5>
      <P>There are no methods for setting the tooltip, so you will need =
to=20
      directly access the <CODE>CToolTipCtrl</CODE> member,=20
      <CODE>m_tip</CODE>.</P>
      <P>Here is how a hyperlink control looks in the ControlMania2 =
dialog:</P>
      <P><IMG height=3D324 alt=3D" [WTL hyperlink - 12K] "=20
      src=3D"http://www.codeproject.com/wtl/WTL4MFC5/hyperlink.png" =
width=3D305=20
      align=3Dbottom border=3D0></P>
      <P>The URL is set with this call in =
<CODE>OnInitDialog()</CODE>:</P><PRE>    m_wndLink.SetHyperLink ( =
_T(<SPAN class=3Dcpp-string>"http://www.codeproject.com/"</SPAN>) =
);</PRE>
      <H2><A name=3Duiupdctrl></A>UI Updating Dialog Controls</H2>
      <P>UI updating controls in a dialog is much easier than in MFC. In =
MFC,=20
      you have to know about the undocumented <CODE>WM_KICKIDLE</CODE> =
message=20
      and how to handle it and trigger control updating. In WTL, there =
are no=20
      such tricks, although there is a bug in the AppWizard that =
requires you to=20
      add one line of code.</P>
      <P>The first thing to remember is that the dialog <B>must</B> be =
modeless.=20
      This is necessary because for <CODE>CUpdateUI</CODE> to do its =
job, your=20
      app needs to be in control of the message loop. If you make the =
dialog=20
      modal, the system handles the message loop, so idle handlers won't =
get=20
      called. Since <CODE>CUpdateUI</CODE> does its work at idle time, =
no idle=20
      processing means no UI updating.</P>
      <P>ControlMania2's dialog is modeless, and the first part of the =
class=20
      definition resembles a frame window class:</P><PRE><SPAN =
class=3Dcpp-keyword>class</SPAN> CMainDlg : <SPAN =
class=3Dcpp-keyword>public</SPAN> CDialogImpl&lt;CMainDlg&gt;, <SPAN =
class=3Dcpp-keyword>public</SPAN> CUpdateUI&lt;CMainDlg&gt;,
                 <SPAN class=3Dcpp-keyword>public</SPAN> CMessageFilter, =
<SPAN class=3Dcpp-keyword>public</SPAN> CIdleHandler
{
<SPAN class=3Dcpp-keyword>public</SPAN>:
    <SPAN class=3Dcpp-keyword>enum</SPAN> { IDD =3D IDD_MAINDLG };
=20
    <SPAN class=3Dcpp-keyword>virtual</SPAN> BOOL =
PreTranslateMessage(MSG* pMsg);
    <SPAN class=3Dcpp-keyword>virtual</SPAN> BOOL OnIdle();
=20
    BEGIN_MSG_MAP_EX(CMainDlg)
        MSG_WM_INITDIALOG(OnInitDialog)
        COMMAND_ID_HANDLER_EX(IDOK, OnOK)
        COMMAND_ID_HANDLER_EX(IDCANCEL, OnCancel)
        COMMAND_ID_HANDLER_EX(IDC_ALYSON_BTN, OnAlysonODBtn)

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
六月丁香综合在线视频| 亚洲地区一二三色| 欧美视频在线一区二区三区| 精品一区在线看| 一区二区三区日韩| 26uuu亚洲| 欧美日韩国产成人在线免费| 成人动漫一区二区在线| 久久99国内精品| 国产一区二区三区美女| 一区二区三区欧美在线观看| 国产婷婷一区二区| 精品日产卡一卡二卡麻豆| 欧美在线不卡视频| 99视频精品在线| 蜜臀av性久久久久蜜臀av麻豆 | 成人综合激情网| 日韩国产一二三区| 夜夜操天天操亚洲| 17c精品麻豆一区二区免费| wwwwxxxxx欧美| 欧美一区二区三区免费大片 | 国产日韩欧美在线一区| 欧美一区二区大片| 欧美久久一二区| 欧美丝袜自拍制服另类| 欧美在线视频日韩| 色婷婷亚洲婷婷| 99久久99久久精品免费看蜜桃| 国产精品一二三四五| 精品在线观看视频| 精品一区二区三区视频| 日本系列欧美系列| 免费人成在线不卡| 麻豆精品久久精品色综合| 视频一区免费在线观看| 日韩成人午夜电影| 色哟哟日韩精品| 色哟哟欧美精品| 在线亚洲一区二区| 欧美色图在线观看| 欧美精品在线观看播放| 91精品国产品国语在线不卡| 91精品国产品国语在线不卡| 日韩西西人体444www| 久久影院视频免费| 欧美激情艳妇裸体舞| 中文字幕在线不卡视频| 一区二区三区在线看| 亚洲va欧美va天堂v国产综合| 三级亚洲高清视频| 麻豆国产欧美日韩综合精品二区| 久久国产乱子精品免费女| 国内欧美视频一区二区| 成人午夜视频网站| 91网站在线播放| 欧美日韩高清影院| 精品日产卡一卡二卡麻豆| 国产亚洲一区二区三区四区 | 欧美日韩亚洲综合在线 | 日韩精品一区在线观看| 久久久亚洲精品石原莉奈| 久久久www成人免费毛片麻豆 | 在线免费观看日韩欧美| 日韩一区二区三区在线观看| 久久综合久久99| 成人欧美一区二区三区| 亚洲一区在线观看网站| 久久99精品久久久| 成人免费观看男女羞羞视频| 在线观看成人免费视频| 日韩一级高清毛片| 国产精品传媒视频| 日韩精品五月天| 国产成人在线观看| 欧美在线高清视频| 欧美精品一区二区三区蜜臀| 中文字幕一区av| 免费久久精品视频| 91在线视频播放| 日韩一区二区电影网| 日韩毛片高清在线播放| 日韩福利电影在线观看| 成人av高清在线| 日韩午夜电影av| 日韩美女精品在线| 国内精品嫩模私拍在线| 色噜噜狠狠成人网p站| 欧美不卡123| 亚洲成a人v欧美综合天堂| 成人毛片视频在线观看| 4438成人网| 亚洲六月丁香色婷婷综合久久 | 91蜜桃在线观看| 精品久久五月天| 亚洲高清免费视频| 成人国产在线观看| 一区二区三区国产豹纹内裤在线| 人人狠狠综合久久亚洲| 色屁屁一区二区| 亚洲国产精品av| 久久99精品视频| 欧美年轻男男videosbes| 亚洲男人的天堂av| 国产精品一级黄| 欧美电影免费观看完整版| 亚洲国产cao| 色婷婷久久久亚洲一区二区三区| 精品国产乱码久久久久久浪潮| 亚洲成av人综合在线观看| 色呦呦国产精品| 国产精品超碰97尤物18| 国产精品亚洲第一| 日韩免费视频一区二区| 香蕉成人伊视频在线观看| 日本精品一区二区三区高清 | 国内精品久久久久影院薰衣草| 精品视频1区2区3区| 亚洲日本免费电影| 高清久久久久久| 欧美精品一区二区不卡| 麻豆精品一区二区av白丝在线| 欧美日本一道本在线视频| 一区二区三区国产精品| 色婷婷久久99综合精品jk白丝| 国产精品久99| 成人小视频免费在线观看| 久久影音资源网| 国产黄色精品网站| 久久久久久亚洲综合影院红桃| 精品一区二区影视| 亚洲图片欧美视频| 91蜜桃视频在线| 亚洲免费观看高清完整| 色综合久久综合网97色综合| 亚洲色图一区二区三区| 91啪在线观看| 一区二区三区视频在线看| 欧美这里有精品| 亚洲高清中文字幕| 欧美一区二区三区在线视频| 欧美aaaaaa午夜精品| 日韩美女视频在线| 国内精品不卡在线| 中文字幕高清一区| 色av成人天堂桃色av| 亚洲一区二区精品久久av| 欧美日韩国产精品自在自线| 日韩不卡一二三区| 欧美变态凌虐bdsm| 成人精品鲁一区一区二区| 成人免费在线观看入口| 欧美亚洲国产怡红院影院| 首页国产欧美日韩丝袜| 精品蜜桃在线看| 成人激情图片网| 亚洲最大成人综合| 欧美一区二区三区视频免费播放 | 国产一区在线看| 国产精品久久午夜| 色婷婷综合久色| 日本91福利区| 国产亚洲美州欧州综合国| 色狠狠av一区二区三区| 蜜桃视频第一区免费观看| 国产免费久久精品| 色哟哟国产精品| 韩国一区二区三区| 亚洲女人小视频在线观看| 91精品国产综合久久久蜜臀图片 | 91色porny| 日日摸夜夜添夜夜添精品视频| 精品国产乱码久久久久久闺蜜| 成人精品视频.| 日本欧美一区二区三区乱码| 国产日韩欧美亚洲| 欧美丝袜第三区| 国产麻豆成人精品| 亚洲电影你懂得| 国产丝袜在线精品| 欧美精品一二三| 国产大陆精品国产| 午夜精品福利一区二区三区av | 国产一区二区免费视频| 亚洲毛片av在线| 精品乱人伦小说| 在线观看欧美精品| 久久99精品久久只有精品| 一个色综合网站| 久久亚洲春色中文字幕久久久| 在线欧美小视频| 九九热在线视频观看这里只有精品| 亚洲人123区| 久久午夜羞羞影院免费观看| 在线观看成人小视频| 东方欧美亚洲色图在线| 亚洲成人av一区二区| 国产日本欧洲亚洲| 日韩欧美一级二级三级久久久| 欧美性三三影院|