怎样发展网站青岛天河小学网站建设

张小明 2026/1/15 22:29:25
怎样发展网站,青岛天河小学网站建设,免费宣传平台,佛山网站运营十年乐云seo窗口分割 CSplitterWnd 名称描述CSplitterWnd::ActivateNext执行“Next Pane”或“Previous Pane”命令。CSplitterWnd::CanActivateNext检查当前是否可以使用“Next Pane”或“Previous Pane”命令。CSplitterWnd::Create调用#xff0c;用于创建动态拆分器窗口并将其附加到 …窗口分割CSplitterWnd名称描述CSplitterWnd::ActivateNext执行“Next Pane”或“Previous Pane”命令。CSplitterWnd::CanActivateNext检查当前是否可以使用“Next Pane”或“Previous Pane”命令。CSplitterWnd::Create调用用于创建动态拆分器窗口并将其附加到CSplitterWnd对象。CSplitterWnd::CreateScrollBarCtrl创建共享滚动条控件。CSplitterWnd::CreateStatic调用用于创建静态拆分器窗口并将其附加到CSplitterWnd对象。CSplitterWnd::CreateView调用用于在拆分器窗口中创建窗格。CSplitterWnd::DeleteColumn从拆分器窗口中删除一列。CSplitterWnd::DeleteRow从拆分器窗口中删除一行。CSplitterWnd::DeleteView从拆分器窗口中删除视图。CSplitterWnd::DoKeyboardSplit执行键盘拆分命令通常为“Window Split”。CSplitterWnd::DoScroll执行拆分窗口的同步滚动。CSplitterWnd::DoScrollBy根据给定数目的像素滚动拆分窗口。CSplitterWnd::GetActivePane根据框架中的焦点或活动视图确定活动窗格。CSplitterWnd::GetColumnCount返回当前窗格列数。CSplitterWnd::GetColumnInfo返回指定列的信息。CSplitterWnd::GetPane返回指定行和列的窗格。CSplitterWnd::GetRowCount返回当前窗格行数。CSplitterWnd::GetRowInfo返回指定行的信息。CSplitterWnd::GetScrollStyle返回共享滚动条样式。CSplitterWnd::IdFromRowCol返回位于指定行和列的窗格的子窗口 ID。CSplitterWnd::IsChildPane调用用于确定窗口当前是否为此拆分器窗口的子窗格。CSplitterWnd::IsTracking确定拆分器栏当前是否正在移动。CSplitterWnd::RecalcLayout调整行或列大小后调用用于重新显示拆分器窗口。CSplitterWnd::SetActivePane将窗格设置为框架中的活动窗格。CSplitterWnd::SetColumnInfo借助调用来设置指定列信息。CSplitterWnd::SetRowInfo借助调用来设置指定行信息。CSplitterWnd::SetScrollStyle为拆分器窗口的共享滚动条支持指定新的滚动条样式。CSplitterWnd::SplitColumn指示框架窗口垂直拆分的位置。CSplitterWnd::SplitRow指示框架窗口水平拆分的位置。名称描述CSplitterWnd::OnDraw由框架调用以绘制拆分器窗口。CSplitterWnd::OnDrawSplitter呈现拆分窗口的图像。CSplitterWnd::OnInvertTracker呈现拆分窗口的图像使其与框架窗口的大小和形状相同。Create-动态创建分割窗口CreateStatic-创建静态风格窗口CreateView-创建窗格SetRowInfo和SetColumnInfo-设置窗格信息OnDrawSplitter-绘制分割窗口特征OnInvertTracker-绘制风格条视图切换范例添加资源CSplitterWndEx1CSplitterWndEx与Afx 定义的 CSplitterWndEx重名了故以下CSplitterWndEx全部改为CSplitterWndEx1OnDrawSplitter//呈现拆分窗口的图像。 void CSplitterWndEx::OnDrawSplitter(CDC* pDC, ESplitType nType, const CRect rect) { // TODO: 在此添加专用代码和/或调用基类 if (pDC NULL) { RedrawWindow(rect, NULL, RDW_INVALIDATE | RDW_NOCHILDREN);//更新工作区中的指定矩形或区域。 return; } ASSERT_VALID(pDC); CRect rc rect; //ESplitType:拆分窗口中不同图形元素的绘制类型 switch (nType) { //‌splitBorder‌表示拆分窗口的边框 case splitBorder: //重画分割窗口边界,使左上为绿色 右下为红色 pDC-Draw3dRect(rc, RGB(0, 200, 0), RGB(255, 0, 0));//绘制三维矩形。 rc.InflateRect(-1, -1);//增大 CRect 的宽度和高度。 pDC-Draw3dRect(rc, RGB(0, 200, 0), RGB(255, 0, 0)); return; //splitBox‌表示拆分窗口中的分隔框split box通常是一个可拖动的方块用于创建新的窗格。 case splitBox: pDC-Draw3dRect(rc, RGB(0, 0, 0), RGB(0, 0, 0)); rc.InflateRect(-1, -1); pDC-Draw3dRect(rc, RGB(0, 0, 0), RGB(0, 0, 0)); rc.InflateRect(-1, -1); pDC-FillSolidRect(rc, RGB(0, 0, 0));//使用指定的纯色填充给定的矩形。 pDC-Draw3dRect(rc, RGB(0, 0, 0), RGB(0, 0, 0)); return; //splitBar‌表示分隔条split bar出现在两个窗格之间用于调整相邻窗格的大小。 case splitBar: //重画分割条使之为绿色 pDC-FillSolidRect(rc, RGB(100, 200, 255)); rc.InflateRect(-1, -1); pDC-Draw3dRect(rc, RGB(0, 0, 200), RGB(0, 0, 200)); return; default: ASSERT(FALSE); } // fill the middle pDC-FillSolidRect(rc, RGB(0, 200, 0)); //return CSplitterWnd::OnDrawSplitter(pDC, nType, rect); }OnInvertTracker//拆分器窗口跟踪器拖动时的高亮区域 void CSplitterWndEx::OnInvertTracker(const CRect rect) { // TODO: 在此添加专用代码和/或调用基类 ASSERT_VALID(this); ASSERT(!rect.IsRectEmpty()); ASSERT((GetStyle() WS_CLIPCHILDREN) 0);//WS_CLIPCHILDREN:在父窗口内进行绘图时不包括子窗口所占用的区域。 CDC* pDC GetDC(); CBrush* pBrush CDC::GetHalftoneBrush();//检索半色调画笔。 HBRUSH hOldBrush NULL; if (pBrush ! NULL) hOldBrush (HBRUSH)SelectObject(pDC-m_hDC, pBrush-m_hObject); pDC-PatBlt(rect.left, rect.top, rect.Width(), rect.Height(), PATINVERT);// 创建位模式,绘制图案背景.(PATINVERT 使用布尔 XOR (^) 运算符将目标位图与图案相结合) if (hOldBrush ! NULL) SelectObject(pDC-m_hDC, hOldBrush); ReleaseDC(pDC); //CSplitterWnd::OnInvertTracker(rect); }OnLButtonDownvoid CSplitterWndEx::OnLButtonDown(UINT nFlags, CPoint point) { // TODO: 在此添加消息处理程序代码和/或调用默认值 CSplitterWnd::OnLButtonDown(nFlags, point); }修改构造函数CSplitterWndEx::CSplitterWndEx() { //更改分割条和窗格间距大小 m_cxSplitter m_cySplitter 10; m_cxSplitterGap m_cySplitterGap 10; }CLeftPaneView编辑头文件#include afxcview.hOnInitialUpdate//视图初始化 void CLeftPaneView::OnInitialUpdate() { CTreeView::OnInitialUpdate(); ::SetWindowLong(m_hWnd, GWL_STYLE, WS_VISIBLE | WS_TABSTOP | WS_CHILD | WS_BORDER | TVS_HASBUTTONS | TVS_LINESATROOT | TVS_HASLINES);//更改指定窗口的属性 CTreeCtrl treeCtrl GetTreeCtrl();//返回对与视图关联的树控件的引用。 m_ImageList.Create(IDB_IMAGES, 16, 1, RGB(255, 0, 255));//创建图像列表 treeCtrl.SetImageList(m_ImageList, LVSIL_NORMAL);//设置与树视图控件关联的图像列表的句柄。 //插入树项 treeCtrl.InsertItem(L编辑视, 0, 0); //在树视图控件中插入新项。 treeCtrl.InsertItem(L列表视, 1, 1);//在树视图控件中插入新项。 }OnTvnSelchangedvoid CLeftPaneView::OnTvnSelchanged(NMHDR* pNMHDR, LRESULT* pResult) { LPNMTREEVIEW pNMTreeView reinterpret_castLPNMTREEVIEW(pNMHDR); // TODO: 在此添加控件通知处理程序代码 CMainFrame* pFrame (CMainFrame*)AfxGetMainWnd();//获取活动主窗口的指针 CTreeCtrl treeCtrl GetTreeCtrl();//返回与视图关联的树控件。 CString str; HTREEITEM hSelectedItem treeCtrl.GetSelectedItem();//获取当前选中的树项 str treeCtrl.GetItemText(hSelectedItem);//获取当前选中的树项文本 if (str.Find(L编辑) ! -1) { pFrame-SwitchToView(EDITVIEW);//切换到编辑视图 } else if (str.Find(L列表) ! -1) { pFrame-SwitchToView(LISTVIEW);//切换到列表视图 } *pResult 0; }CEditPaneViewOnInitialUpdatevoid CEditPaneView::OnInitialUpdate() { CEditView::OnInitialUpdate(); // TODO: 在此添加专用代码和/或调用基类 SetWindowText(L请选择左侧树视图选项以便查看切换视图效果视图);//更改指定窗口标题栏的文本如果有。 如果指定的窗口是控件则控件的文本将更改。 }CListPaneView编辑头文件#include afxcview.hvoid CListPaneView::OnInitialUpdate() { CListView::OnInitialUpdate(); // TODO: 在此添加专用代码和/或调用基类 CListCtrl ctl GetListCtrl(); //设置列表控件风格 DWORD dwStyle ::GetWindowLong(m_hWnd, GWL_STYLE);//检索有关指定窗口的信息。 dwStyle | LVS_REPORT | LVS_SHOWSELALWAYS | LVS_EDITLABELS;//报表、即使控件没有焦点也会始终显示所选内容、就地编辑项目文本 ::SetWindowLong(m_hWnd, GWL_STYLE, dwStyle);//更改指定窗口的属性。 //设置扩展风格 dwStyle ctl.GetExtendedStyle();//检索列表视图控件当前的扩展样式。 dwStyle | LVS_EX_GRIDLINES | LVS_EX_FULLROWSELECT; //显示项和子项周围的网格线、选中某个项后将突出显示该项及其所有子项 ctl.SetExtendedStyle(dwStyle);//设置列表视图控件当前的扩展样式 //列表控件头内容 TCHAR tittle[3][10] { _T(姓名),_T(单位),_T(地址) }; LV_COLUMN lvcolumn;//包含有关报表视图中的列的信息 CRect rect; GetWindowRect(rect);//获取指定窗口的边界矩形。 //填充列表控件头 for (int i 0; i 3; i) { lvcolumn.mask LVCF_FMT | LVCF_SUBITEM | LVCF_TEXT| LVCF_WIDTH | LVCF_ORDER; lvcolumn.fmt LVCFMT_LEFT; lvcolumn.pszText tittle[i]; lvcolumn.iSubItem i; lvcolumn.iOrder i; lvcolumn.cx rect.Height() / 3; GetListCtrl().InsertColumn(i, lvcolumn);//插入列 } }CMainFrame修改头文件#pragma once #include SplitterWndEx1.h #include LeftPaneView.h #include ListPaneView.h #include EditPaneView.h //定义右边视的类型 #define EDITVIEW 0 #define LISTVIEW 1 class CMainFrame : public CFrameWnd { public: CSplitterWndEx m_wndSplitter; CEditPaneView* m_pEditView; CListPaneView* m_pListView; ... };OnCreateClientBOOL CMainFrame::OnCreateClient(LPCREATESTRUCT lpcs, CCreateContext* pContext) { // TODO: 在此添加专用代码和/或调用基类 if (!m_wndSplitter.CreateStatic(this, 1, 2))//创建静态拆分器窗口 return FALSE; if (!m_wndSplitter.CreateView(0, 0, RUNTIME_CLASS(CLeftPaneView), CSize(100, 100), pContext))//为静态拆分器窗口创建窗格。 return FALSE; if (!m_wndSplitter.CreateView(0, 1, RUNTIME_CLASS(CEditPaneView), CSize(100, 100), pContext))//为静态拆分器窗口创建窗格。 return FALSE; m_pEditView (CEditPaneView*)m_wndSplitter.GetPane(0, 1);//返回指定行和列的窗格。 return TRUE; //return CFrameWnd::OnCreateClient(lpcs, pContext); }SwitchToViewvoid CMainFrame::SwitchToView(int nViewType) { // TODO: 在此处添加实现代码. CView* pView (CView*)m_wndSplitter.GetPane(0, 1);//获取视图 CRect rcRight, rcFrame; pView-GetClientRect(rcRight);//获取视图的边界 GetClientRect(rcFrame); //获取主窗口的边界 switch (nViewType) { case EDITVIEW: //CEditPaneView { if (!pView-IsKindOf(RUNTIME_CLASS(CEditPaneView))) { m_wndSplitter.DeleteView(0, 1);//删除旧的视图 m_wndSplitter.CreateView(0, 1, RUNTIME_CLASS(CEditPaneView),CSize(rcRight.Width(), rcRight.Height()), NULL);//创建新的视图 m_wndSplitter.RecalcLayout();//重新显示拆分器窗口 m_pEditView (CEditPaneView*)m_wndSplitter.GetPane(0, 1); // 返回指定行和列的窗格。 } break; } case LISTVIEW: //CListPaneView { if (!pView-IsKindOf(RUNTIME_CLASS(CListPaneView))) { m_wndSplitter.DeleteView(0, 1);//删除旧的视图 m_wndSplitter.CreateView(0, 1, RUNTIME_CLASS(CListPaneView),CSize(rcRight.Width(), rcRight.Height()), NULL);//创建新的视图 m_wndSplitter.RecalcLayout();//重新显示拆分器窗口 m_pListView (CListPaneView*)m_wndSplitter.GetPane(0, 1);// 返回指定行和列的窗格。 } break; } default: break; } }
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

学佛网站开发项目需求分析ui网页设计实训报告

开篇小测验 下面这样一个小SQL 你该怎么样添加最优索引 两个表上现在只有聚集索引 bigproduct 表上已经有聚集索引 ProductID bigtransactionhistory 表上已经有聚集索引 TransactionID你是否一眼就能看出来呢? 答案将在文章中逐步揭晓~~~ 简单粗暴的添加索引 首先我…

张小明 2026/1/14 4:32:31 网站建设

禅城技术支持骏域网站建设wordpress为何弃用php

Beyond Compare 5密钥生成工具:彻底解决文件对比软件授权难题 【免费下载链接】BCompare_Keygen Keygen for BCompare 5 项目地址: https://gitcode.com/gh_mirrors/bc/BCompare_Keygen 还在为Beyond Compare 5的授权问题而烦恼?这款功能强大的文…

张小明 2026/1/9 4:26:59 网站建设

做网站服务器一年多少钱西安建设工程网

什么是微调? 微调就是在已经训练好的大模型基础上,用你自己的数据继续训练,让模型更符合你的特定需求。CPT(ContinualPre-Training)继续预训练最基础的微调方式。你拿到一个预训练好的模型,然后用大量无标签的文本数据继续训练它。 SFT(Supe…

张小明 2026/1/9 1:28:51 网站建设

网站模板做网站百度在线翻译

英雄联盟玩家的终极神器:League Akari智能助手完整指南 【免费下载链接】League-Toolkit 兴趣使然的、简单易用的英雄联盟工具集。支持战绩查询、自动秒选等功能。基于 LCU API。 项目地址: https://gitcode.com/gh_mirrors/le/League-Toolkit 还在为错过秒选…

张小明 2026/1/8 6:01:36 网站建设

深圳市网站建设公司设计wordpress源代码修改

在科技研发与产业创新领域,及时、全面地掌握科技业务信息(立项、政策、成果等)是决策的基础。然而,面对信息源的极度分散与数据量的爆炸式增长,不同的信息获取与处理方式,正导致显著的“效率鸿沟”。本文将…

张小明 2026/1/9 9:16:35 网站建设

西昌网站开发公司国外美容院网站

终极指南:用pbxproj模块轻松管理你的Xcode项目文件 【免费下载链接】mod-pbxproj A python module to manipulate XCode projects 项目地址: https://gitcode.com/gh_mirrors/mo/mod-pbxproj 还在为手动编辑Xcode项目文件而头疼吗?pbxproj模块就是…

张小明 2026/1/7 20:23:13 网站建设