当前位置: 首页 > news >正文

手机网站关键词优化西安网站设计建设公司

手机网站关键词优化,西安网站设计建设公司,我想弄个网站,云浮 网站建设窗口是屏幕上的一个矩形区域.窗口分为3种:覆盖窗口,弹窗和子窗口.每个窗口都有由系统绘画的非客户区和应用绘画的客户区. 在MFC中,CWnd类为各种窗口提供了基类. 1,通过窗柄取得CWnd指针 可调用Cwnd::FromHandle函数,通过窗柄取得Cwnd指针. void CD…窗口是屏幕上的一个矩形区域.窗口分为3种:覆盖窗口,弹窗和子窗口.每个窗口都有由系统绘画的非客户区和应用绘画的客户区. 在MFC中,CWnd类为各种窗口提供了基类. 1,通过窗柄取得CWnd指针 可调用Cwnd::FromHandle函数,通过窗柄取得Cwnd指针. void CDemoDlg::OnButton1() {HWND hWnd GetSafeHwnd();//取得当前窗口的句柄CWnd* pWnd CWnd::FromHandle(hWnd);//通过窗柄取得CWnd指针CString strText _T();strText.Format(pWnd0x%X\nthis0x%X\n,pWnd,this);AfxMessageBox(strText); }2,取得应用主窗口的指针 在CWinThread::m_pMainWnd中保存主窗口指针.可首先调用AfxGetApp函数取得应用的指针,然后通过应用指针取得主窗口的指针. void CDemoDlg::OnButton2() {CDemoApp* pApp (CDemoApp*)AfxGetApp();//取得应用指针CWnd* pMainWnd pApp-m_pMainWnd;//取得主窗口指针CString strText _T();strText.Format(pMainWnd0x%X\nthis0x%X\n,pMainWnd,this);AfxMessageBox(strText); }3,取得指定点的窗口 可调用CWnd::WindowFromPoint函数,取得指定点的窗口. a,在CDemoDlg类中重载CWnd::PreTranslateMessage函数. BOOL CDemoDlg::PreTranslateMessage(MSG* pMsg) {if (pMsg-message WM_MOUSEMOVE){CPoint point(LOWORD(pMsg-lParam),HIWORD(pMsg-lParam));::ClientToScreen(pMsg-hwnd, point);//按屏幕坐标转换客户区坐标OnMouseMove(0,point);}return CDialog::PreTranslateMessage(pMsg); }b,在CDemoDlg类中添加WM_MOUSEMOVE消息处理函数. void CDemoDlg::OnMouseMove(UINT nFlags, CPoint point) {CWnd* pWnd WindowFromPoint(point);//取得指定点的窗口if (pWnd ! NULL){TRACE(%d\n,pWnd);if (IsChild(pWnd)){CString strText _T();pWnd-GetWindowText(strText);SetWindowText(strText);}}CDialog::OnMouseMove(nFlags, point); }4,最大化和最小化窗口 可调用CWnd::SendMessage函数发送最大化或最小化窗口消息,来最大化和最小化窗口. LRESULT SendMessage( UINT message,//发送的消息,值为WM_SYSCOMMAND时表示系统命令消息. WPARAM wParam 0,//当消息值为WM_SYSCMMAND,参数字参值为SC_MAXIMIZE,SC_MINIMIZE, LPARAM lParam 0 );//SC_RESTORE时分别表示最大化窗口,最小化窗口,恢复窗口.void CDemoDlg::OnButton3() {//最大化窗口SendMessage(WM_SYSCOMMAND,SC_MAXIMIZE,0); } void CDemoDlg::OnButton4() {//最小化窗口SendMessage(WM_SYSCOMMAND,SC_MINIMIZE,0); } void CDemoDlg::OnButton5() {//恢复窗口SendMessage(WM_SYSCOMMAND,SC_RESTORE,0); }5关闭窗口 可调用CWnd::SendMessage函数,发送WM_CLOSE消息来关闭窗口.框架调用CWnd::OnClose函数处理WM_CLOSE消息. 默认,OnClose调用函数CWnd::DestroyWindow函数来关闭窗口. void CDemoDlg::OnButton6() {//关闭窗口SendMessage(WM_CLOSE,0,0); } void CDemoDlg::OnClose()//添加WM_CLOSE消息处理函数 {//判断是否关闭if (IDYES MessageBox(_T(是否关闭窗口?),NULL,MB_YESNO)){CDialog::OnClose();} }6设置窗口的大小和位置 可通过两个方法设置窗口大小和位置:1.调用CWnd::SetWindowPos函数;2.调用CWnd::MoveWindow函数. void CDemoDlg::OnButton7() {//设置窗口的大小和位置SetWindowPos(NULL,0,0,320,200,SWP_NOZORDER); } void CDemoDlg::OnButton8() {//设置窗口的大小和位置MoveWindow(0,200,200,320); } 7居中显示窗口 可调用CWnd::CenterWindow函数居中显示窗口. void CDemoDlg::OnButton9() {//居中显示窗口CenterWindow(); } 8顶层显示窗口 可调用CWnd::SetWindowPos函数顶层显示窗口,按最顶层设置对话框窗口的层次. void CDemoDlg::OnButton10() {//设置窗口层次SetWindowPos(wndTopMost,0,0,0,0,SWP_NOSIZE | SWP_NOMOVE);//SWP_NOSIZE:表示窗口保持当前的大小,SWP_NOMOVE:表示窗口保持当前的位置 }9设置窗口图标 首先调用CWinApp::LoadIcon函数加载图标资源,然后调用CWnd::SetIcon函数设置图标. void CDemoDlg::OnButton11() {//加载图标HICON hIcon AfxGetApp()-LoadIcon(IDI_ICON);//设置图标SetIcon(hIcon,FALSE);//假:设置程序小图标,真:设置任务栏大图标 } 10取得和设置窗口的标题 可分别调用CWnd::GetWindowText和CWnd::SetWindowText函数,取得和设置窗口标题. void CDemoDlg::OnButton12() {CString strText _T();GetWindowText(strText);//取得窗口标题SetDlgItemText(IDC_TEXT,strText);//设置编辑框文本 } void CDemoDlg::OnButton13() {CString strText _T();GetDlgItemText(IDC_TEXT,strText);//取得编辑框文本SetWindowText(strText);//设置窗口标题 }11显示或隐藏窗口的标题栏 可调用CWnd::ModifyStyle函数显示或隐藏窗口的标题栏. void CDemoDlg::OnButton14() {//删除标题栏风格ModifyStyle(WS_CAPTION,0,SWP_FRAMECHANGED); } void CDemoDlg::OnButton15() {//添加标题栏风格ModifyStyle(0,WS_CAPTION,SWP_FRAMECHANGED); }12改变窗口形状 标准窗口的形状是矩形的.要改变窗口的形状,首先调用CRgn类的成员函数创建相应形状的区域,然后调用CWnd::SetWindowRgn函数按窗口区域设置它. 可分别用CRgn类的CreateRectRgn,CreateEllipticRgn,CreatePolygonRgn和CreateRoundRectRgn函数来创建矩形,椭圆形,多边形和圆矩形区域. void CDemoDlg::OnButton16() {CRect rect;GetClientRect(rect);//创建矩形区域CRgn rgn;rgn.CreateRectRgn(rect.left,rect.top,rect.right,rect.bottom);//设置窗口的区域SetWindowRgn((HRGN)rgn,TRUE); } void CDemoDlg::OnButton17() {CRect rect;GetClientRect(rect);//创建椭圆形区域CRgn rgn;rgn.CreateEllipticRgn(0,0,rect.Width(),rect.Height());//设置窗口的区域SetWindowRgn((HRGN)rgn,TRUE); } void CDemoDlg::OnButton18() {CRect rect;GetClientRect(rect);CPoint point[6];point[0].x 0;point[0].y rect.Height() / 2;point[1].x rect.Width() / 3;point[1].y 0;point[2].x 2 * rect.Width() / 3;point[2].y 0;point[3].x rect.Width();point[3].y rect.Height() / 2;point[4].x 2 * rect.Width() / 3;point[4].y rect.Height();point[5].x rect.Width() / 3;point[5].y rect.Height();//创建多边形区域CRgn rgn;rgn.CreatePolygonRgn(point,6,ALTERNATE);//设置窗口的区域SetWindowRgn((HRGN)rgn,TRUE); } void CDemoDlg::OnButton19() {CRect rect;GetClientRect(rect);//创建圆矩形区域CRgn rgn;rgn.CreateRoundRectRgn(0,0,rect.Width(),rect.Height(),rect.Width() / 2,rect.Height() / 2);//设置窗口的区域SetWindowRgn((HRGN)rgn,TRUE); }13设置窗口的透明区域 要设置窗口的透明区域,首先调用CRgn::CreateRectRgn创建一个区域,然后调用CRgn::CombineRgn函数,去掉需要透明的区域,最后调用CWnd::SetWindowRgn函数按窗口区域设置它. void CDemoDlg::OnButton20() {CRect rect1;GetWindowRect(rect1);CRect rect2;GetClientRect(rect2);ClientToScreen(rect2);CRgn rgn1;rgn1.CreateRectRgn(rect1.left,rect1.top,rect1.right,rect1.bottom);CRgn rgn2;rgn2.CreateRectRgn(rect2.left,rect2.top,rect2.right,rect2.bottom);CRgn rgn;rgn.CreateRectRgn(0,0,1,1);rgn.CombineRgn(rgn1,rgn2,RGN_DIFF);//设置窗口区域SetWindowRgn((HRGN)rgn,TRUE); }14透明窗口 要实现透明窗口,首先调用CWnd::ModifyStyleEx函数,添加窗口的WS_EX_LAYERED(0x00080000)扩展风格,然后调用SDK的SetLayeredWindowAttributes函数设置窗口的透明和透明色. void CDemoDlg::OnButton21() {//添加WS_EX_LAYERED(0x80000)扩展风格ModifyStyleEx(0,0x80000);//加载User32.DLL动态链接库HMODULE hModule LoadLibrary(User32.DLL);if (hModule ! NULL){typedef BOOL (WINAPI *FUNC)(HWND,COLORREF,BYTE,DWORD);//取得SetLayeredWindowAttributes函数指针FUNC func (FUNC)GetProcAddress(hModule,SetLayeredWindowAttributes);if (func ! NULL){func(GetSafeHwnd(),0,128,2);}FreeLibrary(hModule);} }15窗口闪烁 可调用CWnd::FlashWindow函数闪烁窗口. void CDemoDlg::OnButton22() {//设置计时器SetTimer(1,1000,NULL); } void CDemoDlg::OnButton23() {//关闭计时器KillTimer(1);//窗口返回原状态FlashWindow(FALSE); } void CDemoDlg::OnTimer(UINT nIDEvent) {if (nIDEvent 1){//窗口从一个状态闪烁到另一个状态FlashWindow(TRUE);}CDialog::OnTimer(nIDEvent); }16图片窗口 要实现图片窗口,首先调用CRgn::CreateRectRgn和CRgn::CombineRgn函数创建并合并多个区域,然后调用CWnd::SetWindowRgn函数按窗口区域设置它. VC对话框如何添加WM_ERASEBKGND消息(OnEraseBkgnd函数): void CDemoDlg::OnButton24() {CRect rect;GetWindowRect(rect);//加载位图CBitmap bmp;bmp.LoadBitmap(IDB_BITMAP);//将位图选入设备环境CDC dc;CDC *pDC GetDC();dc.CreateCompatibleDC(pDC);dc.SelectObject(bmp);//将位图中黑色区域变成透明区域CRgn rgn1;rgn1.CreateRectRgn(0,0,rect.Width(),rect.Height());for (int x 0;x rect.Width();x){for (int y 0;y rect.Height();y){COLORREF cr dc.GetPixel(x,y);if (cr RGB(0,0,0)){CRgn rgn2;rgn2.CreateRectRgn(x,y,x1,y1);rgn1.CombineRgn(rgn1,rgn2,RGN_XOR);}}}//设置窗口区域SetWindowRgn((HRGN)rgn1,TRUE);ReleaseDC(pDC); }//添加WM_ERASEBKGND消息处理函数 BOOL CDemoDlg::OnEraseBkgnd(CDC* pDC) {CRect rect;GetWindowRect(rect);CBitmap bmp;bmp.LoadBitmap(IDB_BITMAP);CDC dc;dc.CreateCompatibleDC(pDC);dc.SelectObject(bmp);pDC-BitBlt(0,0,rect.Width(),rect.Height(),dc,0,0,SRCCOPY);return TRUE; }17动画窗口 可调用SDK的动画窗口函数,实现动画窗口. BOOL CDemoDlg::OnInitDialog() {CDialog::OnInitDialog();//...居中窗口CenterWindow();//显示动画窗口AnimateWindow(GetSafeHwnd(), 3000, AW_BLEND);return TRUE; }18桌面窗口 可调用CWnd::GetDesktopWindow函数,取得桌面窗口. void CDemoDlg::OnButton25() {//取得桌面窗口CWnd* pWnd CWnd::GetDesktopWindow();//取得窗口大小CRect rect;pWnd-GetClientRect(rect);CString strText _T();strText.Format(_T(桌面窗口大小:%dX%d),rect.Width(),rect.Height());AfxMessageBox(strText); }19最小化桌面所有窗口 窗口中可利用快捷键WinM最小化所有窗口.因此,可通过向任务栏窗口发送ID为0x1F5(WinM)的WM_HOTKEY消息,来最小化桌面所有窗口. 首先调用CWnd::FindWindow函数取得窗口,然后调用CWnd::SendMessage函数向窗口发送消息. void CDemoDlg::OnButton26() {//取得任务栏窗口CWnd* pWnd CWnd::FindWindow(_T(Shell_TrayWnd),NULL);//发送ID为0x1F5(WinM)的WM_HOTKEY消息pWnd-SendMessage(WM_HOTKEY,0x1F5); }20取任务栏窗口 可调用CWnd::FindWinow函数,取得任务栏窗口. void CDemoDlg::OnButton27() {//取得任务栏窗口CWnd* pWnd CWnd::FindWindow(_T(Shell_TrayWnd),NULL);//取得窗口大小CRect rect;pWnd-GetClientRect(rect);CString strText _T();strText.Format(_T(任务栏窗口大小:%dX%d),rect.Width(),rect.Height());AfxMessageBox(strText); }21显示或隐藏任务栏 显示或隐藏任务栏;首先调用CWnd::FindWindow函数取得窗口,然后调用CWnd::ShowWindow函数隐藏或显示窗口. void CDemoDlg::OnButton28() {//取得任务栏窗口CWnd* pWnd CWnd::FindWindow(_T(Shell_TrayWnd),NULL);//隐藏窗口if (pWnd-IsWindowVisible()){pWnd-ShowWindow(SW_HIDE);} } void CDemoDlg::OnButton29() {//取得任务栏窗口CWnd* pWnd CWnd::FindWindow(_T(Shell_TrayWnd),NULL);//显示窗口if (!pWnd-IsWindowVisible()){pWnd-ShowWindow(SW_SHOW);} }22枚举桌面所有顶层窗口 BOOL CDemoDlg::OnInitDialog() {CDialog::OnInitDialog();//...初化列表框控件CListCtrl* pList (CListCtrl*)GetDlgItem(IDC_LIST);pList-ModifyStyle(LVS_ICON | LVS_SMALLICON | LVS_LIST,LVS_REPORT);pList-SetExtendedStyle(LVS_EX_GRIDLINES | LVS_EX_FULLROWSELECT);pList-InsertColumn(0,_T(窗口类名),LVCFMT_LEFT,115);pList-InsertColumn(1,_T(窗口标题),LVCFMT_LEFT,150);return TRUE; }枚举桌面所有顶层窗口有两个方法: a,调用CWnd::GetDesktopWindow和CWnd::GetWindow函数:首先调用CWnd::GetDesktopWindow函数,取得桌面窗口,然后调用CWnd::GetWindow函数,枚举所有子窗口. void CDemoDlg::OnButton30() {CListCtrl* pList (CListCtrl*)GetDlgItem(IDC_LIST);pList-DeleteAllItems();pList-SetRedraw(FALSE);//取得桌面窗口CWnd* pDesktopWnd CWnd::GetDesktopWindow();//取得第一个子窗口CWnd* pWnd pDesktopWnd-GetWindow(GW_CHILD);while(pWnd ! NULL){int nItem pList-GetItemCount();//取得窗口类名CString strClassName _T();::GetClassName(pWnd-GetSafeHwnd(),strClassName.GetBuffer(256),256);strClassName.ReleaseBuffer();pList-InsertItem(nItem,strClassName);//取得窗口标题CString strWindowText _T();::GetWindowText(pWnd-GetSafeHwnd(),strWindowText.GetBuffer(256),256);strWindowText.ReleaseBuffer();pList-SetItemText(nItem,1,strWindowText);//继续取得下个子窗口pWnd pWnd-GetWindow(GW_HWNDNEXT);}pList-SetRedraw(TRUE); }b,调用SDK的EnumWindows函数. //添加全局函数 BOOL CALLBACK EnumWndPorc(HWND hWnd,LPARAM lParam) {if (hWnd NULL){return FALSE;}CListCtrl* pList (CListCtrl*)lParam;int nItem pList-GetItemCount();//取得窗口类名CString strClassName _T();::GetClassName(hWnd,strClassName.GetBuffer(256),256);strClassName.ReleaseBuffer();pList-InsertItem(nItem,strClassName);//取得窗口标题CString strWindowText _T();::GetWindowText(hWnd,strWindowText.GetBuffer(256),256);strWindowText.ReleaseBuffer();pList-SetItemText(nItem,1,strWindowText);return TRUE; } void CDemoDlg::OnButton31() {CListCtrl* pList (CListCtrl*)GetDlgItem(IDC_LIST);pList-DeleteAllItems();pList-SetRedraw(FALSE);//枚举窗口::EnumWindows(EnumWndPorc,(LPARAM)pList);pList-SetRedraw(TRUE); }
http://www.ho-use.cn/article/10821046.html

相关文章:

  • 网站都有什么功能wordpress 登陆验证码
  • 网站开发属于什么会计科目国外一些建筑公司网站
  • 高端网站制作多少钱做同款的网站
  • 北京网站建设 知乎网站建设的要点是什么
  • 地方门户网站赚钱吗河北省最新任免
  • 如何查看一个网站是否备案设计logo素材
  • 福州企业免费建站企业展示型网站程序
  • 上饶网站制作深圳网站建设好不好
  • 网站添加百度商桥医院门户网站建设规划
  • 网站内容是什么浦东网站建设价格
  • 消防网站模板wordpress时间
  • c 做网站看什么书邢台123信息港
  • 个人网站做什么内容好关键词研究工具
  • 百度给做网站公司苏州自助模板建站
  • 上海网站 建设wordpress调整logo大小
  • 网站客户留言网站运营者是做啥工作的
  • 做兼职一般去哪个网站WordPress副标题不显示
  • 昆明做网站建设的公司排名ss永久免费服务器
  • 建设公司网站的背景意义重庆建筑信息网官网
  • 美橙互联 送网站运输网站建设
  • 定制网站建设服务平台外包app开发价格表
  • wordpress nginx安装怎么做公司网站seo
  • 做网站千篇一律地方网站做哪些内容
  • 搭积木建网站软件郑州+高端网站建设
  • 开平 做一网站安卓android下载安装
  • aspx网站做app138企业邮箱登录
  • 石家庄建设路网站网站策划与制作
  • 辽宁省建设厅科技中心网站中国廉洁建设网是什么正规网站吗
  • 做网站维护费是怎么算的seo标题优化步骤
  • 天津做做网站企业的网站开发费用摊销几年