ÔÚCDockPaneÖÐÌí¼ÓÊ÷Ðοؼþ---´°¿ÚÑùʽ ÏÂÔØ±¾ÎÄ

´°¿ÚÑùʽ²Î¿¼Áбí

WS_POPUP - µ¯³öʽ´°¿Ú(²»ÄÜÓëWS_CHILDWINDOWÑùʽͬʱʹÓÃ) WS_CHILDWINDOW - ×Ó´°¿Ú(²»ÄÜÓëWS_POPUPºÏÓÃ) WS_MINIMIZE - ×îС»¯×´Ì¬ WS_VISIBLE - ¿É¼û״̬

WS_DISABLED - ²»¿ÉÓÃ״̬

WS_CLIPSIBLINGS - ʹ´°¿ÚÅųý×Ó´°¿ÚÖ®¼äµÄÏà¶ÔÇøÓò WS_CLIPCHILDREN - µ±ÔÚ¸¸´°¿ÚÄÚ»æÍ¼Ê±,Åųý×Ó´°¿ÚÇøÓò WS_MAXIMIZE - ¾ßÓÐ×î´ó»¯°´Å¥,ÐëÖ¸¶¨WS_SYSTEMÑùʽ WS_CAPTION - ÓбêÌâ¿òºÍ±ß¿ò(ºÍWS_TILEDÑùʽÏàͬ) WS_BORDER - Óе¥±ß¿ò

WS_DLGFRAME - ´ø¶Ô»°¿ò±ß¿òÑùʽ,²»´ø±êÌâ¿ò WS_VSCROLL - Óд¹Ö±¹ö¶¯Ìõ WS_HSCROLL - ÓÐˮƽ¹ö¶¯Ìõ

WS_SYSMENU - ±êÌâ¿òÉÏ´øÓд°¿Ú²Ëµ¥(ÐëÖ¸¶¨WS_CAPTIONÑùʽ) WS_THICKFRAME - Óпɵ÷±ß¿ò(ÓëWS_SIZEBOXÑùʽÏàͬ)

WS_GROUP - ×éÑùʽ,ÿ¸ö×éµÄµÚÒ»¸ö¿Ø¼þ¾ßÓÐWS_TABSTOPÑùʽ WS_TABSTOP - ¿É½ÓÊÜTAB¼ü½¹µã WS_MINIMIZEBOX - ÓÐ×îС»¯°´Å¥ WS_MAXIMIZEBOX - ÓÐ×î´ó»¯°´Å¥

WS_OVERLAPPEDWINDOW - ¾ßÓвãµþ,±êÌâ¿ò,ϵͳ²Ëµ¥,¿Éµ÷±ß¿ò,ϵͳ°´Å¥ WS_POPUPWINDOW - ¾ßÓе¥±ß¿ò,µ¯³öʽ,ϵͳ²Ëµ¥Ñùʽ

´°¿ÚÀ©Õ¹Ñùʽ²Î¿¼Áбí

WS_EX_DLGMODALFRAME - ´øË«²ã±ß¿ò

WS_EX_NOPARENTNOTIFY - ´´½¨/Ïú»Ùʱ²»Í¨Öª¸¸´°¿Ú

WS_EX_TOPMOST - ´°¿ÚÖö¥(Í£ÁôÔÚËùÓзÇ×î¸ß²ã´°¿ÚµÄÉÏÃæ) WS_EX_ACCEPTFILES - ¿É½ÓÊÜÎļþÍÏ·Å

WS_EX_TRANSPARENT - ͸Ã÷Ñùʽ,ÔÚͬÊô´°¿ÚÒÑÖØ»­Ê±¸Ã´°¿Ú²Å¿ÉÖØ»­ WS_EX_MDICHILD - MDI×Ó´°¿ÚÑùʽ

WS_EX_TOOLWINDOW - ¹¤¾ßÌõ´°¿ÚÑùʽ WS_EX_WINDOWEDGE - ´øÍ¹Æð±ßÔµµÄ±ß¿ò WS_EX_CLIENTEDGE - ´øÒõÓ°µÄ±ßÔµ

WS_EX_CONTEXTHELP - ÓÐÉÏÏÂÎİïÖúÑùʽ,±êÌâÀ¸°üº¬Ò»¸öÎʺűêÖ¾ WS_EX_RIGHT - ÓÒ¶ÔÆë

WS_EX_RTLREADING - ´°¿ÚÎı¾´ÓÓÒµ½×óÏÔʾ

WS_EX_LEFTSCROLLBAR - ´¹Ö±¹ö¶¯ÌõÔÚ´°¿Ú×ó±ß½ç

WS_EX_CONTROLPARENT - ÔÊÐíÓû§Ê¹ÓÃTAB¼üÔÚ´°¿ÚµÄ×Ó´°¿Ú¼äËÑË÷ WS_EX_STATICEDGE - µ±´°¿ÚΪ²»¿ÉÓÃ״̬ʱ´´½¨Ò»¸öÈýά±ßÔµ

WS_EX_APPWINDOW - µ±´°¿Ú¿É¼ûʱ½«Ò»¸ö¶¥²ã´°¿Ú·ÅÖÃÔÚÈÎÎñÀ¸ÉÏ WS_EX_OVERLAPPEDWINDOW - ´øÍ¹Æð±ßÔµµÄ±ß¿ò,±ßÔµÓÐÒõÓ°

WS_EX_PALETTEWINDOW - ´øÁ¢Ìå±ß¿ò,Óй¤¾ßÌõ´°¿ÚÑùʽ,´°¿ÚÔÚ¶¥²ã WS_EX_LAYERED - ·Ö²ã»ò͸Ã÷´°¿Ú,¸ÃÑùʽ¿ÉʹÓûìºÏÌØÐ§ WS_EX_NOINHERITLAYOUT - ×ӿؼþ²»¼Ì³Ð´°Ìå»ò¿Ø¼þµÄ²¼¾Ö

WS_EX_LAYOUTRTL - ´°Ìå»ò¿Ø¼þ½«¾ßÓдÓÓÒÏò×óµÄ²¼¾Ö(Òò¶ø»á±»¾µÏñ)

WS_EX_COMPOSITED - ÓÃË«»º³å´Óϵ½ÉÏ»æÖÆ´°¿ÚµÄËùÓÐ×ÓËï(WinXPÒÔÉÏ) WS_EX_NOACTIVATE - ´¦ÓÚ¶¥²ãµ«²»¼¤»î

¿Ø¼þÑùʽ²Î¿¼Áбí

ES_LEFT - ×ó¶ÔÆë

ES_CENTER - ¾ÓÖÐ¶ÔÆë ES_RIGHT - ÓÒ¶ÔÆë ES_MULTILINE - ¶àÐÐ

ES_UPPERCASE - È«²¿´óд ES_LOWERCASE - È«²¿Ð¡Ð´ ES_PASSWORD - ÃÜÂë¿ò

ES_AUTOVSCROLL - ×Ô¶¯´¹Ö±¹ö¶¯ ES_AUTOHSCROLL - ×Ô¶¯Ë®Æ½¹ö¶¯ ES_NOHIDESEL - ʼÖÕÏÔʾѡÖв¿·Ö

ES_OEMCONVERT - ÔÊÐíANSIºÍOEM»¥Ïàת»» ES_READONLY - Ö»¶Á

ES_WANTRETURN - ¿É½ÓÊܻسµ»»ÐÐ ES_NUMBER - Ö»½ÓÊÜÊý×ÖÊäÈë

Ê÷ÐοؼþµÄÑùʽ

Ê÷Ðοؼþ¿ÉÒÔÓÃÓÚÊ÷ÐεĽṹ£¬ÆäÖÐÓÐÒ»¸ö¸ù½Óµã(Root)È»ºóÏÂÃæÓÐÐí¶à×Ó½áµã£¬¶øÃ¿¸ö×Ó½áµãÉÏÓÐÔÊÐíÓÐÒ»¸ö»ò¶à¸ö»òûÓÐ×Ó½áµã¡£MFCÖÐʹÓÃCTreeCtrlÀàÀ´·â×°Ê÷ÐοؼþµÄ¸÷ÖÖ²Ù×÷¡£Í¨¹ýµ÷ÓÃ

BOOL Create( DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID ); ´´½¨Ò»¸ö´°¿Ú£¬dwStyleÖпÉÒÔʹÓÃÒÔÏÂһЩÊ÷ÐοؼþµÄרÓ÷ç¸ñ£º TVS_HASLINES ÔÚ¸¸/×Ó½áµãÖ®¼ä»æÖÆÁ¬Ïß TVS_LINESATROOT ÔÚ¸ù/×Ó½áµãÖ®¼ä»æÖÆÁ¬Ïß

TVS_HASBUTTONSÔÚÿһ¸ö½áµãǰÌí¼ÓÒ»¸ö°´Å¥£¬ÓÃÓÚ±íʾµ±Ç°½áµãÊÇ·ñÒѱ»Õ¹¿ª TVS_EDITLABELS ½áµãµÄÏÔʾ×Ö·û¿ÉÒÔ±»±à¼­

TVS_SHOWSELALWAYS ÔÚʧȥ½¹µãʱҲÏÔʾµ±Ç°Ñ¡ÖеĽáµã TVS_DISABLEDRAGDROP ²»ÔÊÐíDrag/Drop

TVS_NOTOOLTIPS ²»Ê¹ÓÃToolTipÏÔʾ½áµãµÄÏÔʾ×Ö·û TVS_TRACKSELECT Èȸú×Ù

ÈçºÎÔÚCDockablePaneÃæ°åÉÏÌí¼ÓÊ÷Ðοؼþ

vs2010Ͻ¨Á¢MFCµ¥Îĵµ¹¤³Ì£¬²¢ÀûÓÃCDockablePaneÌí¼Ó¿ÉÍ£¿¿´°¿Ú¡°ÎÒµÄÃæ°å¡±£¬ÈçÏÂͼ£º

ÔÚ¡°ÎÒµÄÃæ°å¡±Ìí¼ÓCTreeCtrlÊ÷ÐοؼþµÄÖ÷Òª²½ÖèÈçÏ£º £¨1£©ÎªMFC¹¤³ÌÌí¼ÓCTreeCtrlÀ࣬ÕâÀïÎÒÌí¼ÓÁËÈçÏÂÀࣺ

class CBookTreeCtrl : public CTreeCtrl

£¨2£©ÔÚ¡°ÎÒµÄÃæ°å¡±CMyDockablePaneÀàÏÂÌí¼ÓÊ÷ÐοؼþµÄ±äÁ¿£º

CBookTreeCtrl m_BookTreeCtrl

²¢ÇÒÔÚString Talbe×Ö·û±í϶¨ÒåÒª´´½¨µÄÊ÷ÐοؼþµÄID£¬ÈçIDR_BOOK_TREE¡£ £¨3£©ÔÚ¡°ÎÒµÄÃæ°å¡±CMyDockablePaneÀàÏÂÌí¼ÓWM_CREATEÏûÏ¢ÏìÓ¦º¯Êý£º

int CMyDockablePane::OnCreate(LPCREATESTRUCT lpCreateStruct)

È»ºóÔÚÆäÏ´´½¨Ê÷Ðοؼþ£¬´úÂëÈçÏ£º

if (!m_BookTreeCtrl.Create(dwViewStyle,CRect(0,0,200,200),this,IDR_BOOK_TREE)) { }

return -1;

//²åÈë¸ù½Úµã

const DWORD dwViewStyle = WS_VISIBLE | WS_TABSTOP | WS_CHILD | WS_BORDER |

TVS_LINESATROOT | TVS_HASLINES | TVS_DISABLEDRAGDROP | TVS_NOTOOLTIPS | TVS_HASBUTTONS;

}else{

HTREEITEM hRoot=m_BookTreeCtrl.InsertItem(L\,TVI_ROOT,TVI_LAST); //Ìí¼ÓhRoot½ÚµãµÄº¢×ӽڵ㣬²¢ÇÒ±»Ìí¼ÓµÄ½ÚµãλÓÚhRootËùÓк¢×Ó½ÚµãµÄĩβ HTREEITEM hChild=m_BookTreeCtrl.InsertItem(L\¼ÆËã»ú\,hRoot,TVI_LAST);

£¨4£©±àÒëÔËÐУ¬½á¹ûÈçÏ£º