阿坤的BLOG

天地生人,有一人应有一人之业;人生在世,生一日当尽一日之勤

2007年12月

原创 formview在窗口内的效果是凹进去的,改成凸出的效果

void CFfaaView::OnInitialUpdate() { ModifyStyleEx(WS_EX_CLIENTEDGE,WS_EX_STATICEDGE); ModifyStyle(-1,WS_CHILD|WS_VISIBLE); CFormView::OnInitialUpdate(); GetParentFrame()->RecalcLayout(); ResizeParentToFit(); } 阅读全文>

发表于 @ 2007年12月28日 14:30:00|评论(loading...)|编辑

原创 MFC的一些技巧(八)

77. 想在程序一启动时就自动关闭窗口,不在任务栏里显示 用CTRL+W打开ClassWizard; 点击Class Info页,类名是工程名Dlg, 再在左下方的"Filter"中选择"Windows"; 回到Message Maps页,就可以看到消息中有WM_WINDOWPOSCHANGING,阅读全文>

发表于 @ 2007年12月28日 14:29:00|评论(loading...)|编辑

原创 MFC的一些技巧(七)

71. 隐藏标题栏和菜单栏 隐藏标题栏 ModifyStyle(WS_CAPTION,0) 隐藏菜单栏 SetMenu(NULL) 72. InflateRect InflateRect这个函数用于增大或减小一个矩形的大小. 如m_graphRect.InflateRect(-70, -30, -30, -50); 将矩形左边坐标加70,上面加30,右边减30,下面减50。 73. 怎么让无模式对话框显示在主窗口后面 要解决这个问题的关键在于CDialog的Create并不能建立一个无属主的窗口.必须用另外方式建窗口.    阅读全文>

发表于 @ 2007年12月28日 14:28:00|评论(loading...)|编辑

原创 MFC的一些技巧(六)

61. dlg 上建立View的方法: OnInitDialog() {  CDialog:;OnInitDialog(); CRect rectWindows; GetWinodwRect(&rectWindows); CRuntimeClass *pViewClass=RUNTIME_CLASS(CXXXView); CCreateContext *pContext=new CCreateContext; pContext->m_pCurrentDoc=NULL; pContext->m_pCurrentFrame=NULL; pContext->m_pLastView=NULL; pContext->m_pNewDocTemplate=NULL; pContext->m_pNewViewClass=pViewClass;阅读全文>

发表于 @ 2007年12月28日 14:27:00|评论(loading...)|编辑

原创 MFC的一些技巧(五)

51. 如何获得其他程序的图标,并显示在View中  [问题提出]  有的时候,如:类资源管理器会遇到获得程序图标并显示的操作,如何实现呢?  [解决方法]  SDK函数SHGetFileInfo来获得有关文件的很多信息:如大小图标,属性,类型等.  [程序实现]  建立名为My的SDI工程.在OnPaint()函数中加入:  void CMyView::OnPaint()  {阅读全文>

发表于 @ 2007年12月28日 14:26:00|评论(loading...)|编辑

原创 MFC的一些技巧(四)

41.如何禁止对话框关闭按钮和浮动工具条上的系统菜单 1、禁止对话框中的关闭按钮有二种方法。 第一种方法,用ModiftMenu()涵数来实现: CMenu* pMenu = this->GetSystemMenu(FALSE); pMenu->ModifyMenu(SC_CLOSE,MF_BYCOMMAND | MF_GRAYED ); 第二种方法,用EnableMenuItem()涵数来实现: CMenu* pMenu = this->GetSystemMenu(FALSE); pMenu->EnableMenuItem( SC_CLOSE, MF_BYCOMMAND|MF_GRAYED);阅读全文>

发表于 @ 2007年12月28日 14:25:00|评论(loading...)|编辑

原创 MFC的一些技巧(三)

31. 如何在编辑控件中以追加的方式添入字符?  [问题提出]   SetDlgItemText可以向Edit控件中输入字符,发送更新的消息也可是Edit控件显示与其关联的变量的值,但若是向已有的Edit字符后追加字符,该如何做?  [程序实现]   建立名为My的对话框工程,添加一个Edit和一个Button控件.Edit的ID=IDC_EDIT1,Button的ID=IDC_BUTTON1.建立和IDC_BUTTON1的响应函数:OnButton1()阅读全文>

发表于 @ 2007年12月28日 14:22:00|评论(loading...)|编辑

原创 MFC的一些技巧(二)

21. 介绍函数过程中一种任意键退出同时能处理消息的实现方法 1. 设置定时器,用于使::GetMessage(...)函数总能快速取到消息. 2. 在函数处理中加入: 函数每执行完一步后执行下面的代码. if (::GetMessage(&msg, 0, 0, 0)) {   if (msg.message >= WM_KEYFIRST && msg.message <= WM_KEYLAST) return ;   ::TranslateMessage(&msg);   ::DispatchMessage(&msg); } else ::PostQuitMessage(0);阅读全文>

发表于 @ 2007年12月28日 14:21:00|评论(loading...)|编辑

原创 MFC的一些技巧(一)

1."属性页的添加: 创建对话框的类,该类要从CpropertyPage继承;然后在要添加该对话框为属性页的类(头文件)里创建CpropertySheet类的一个对象m_tabsheet和新创建的对话框类的对象m_skatch;最后,在.cpp文件里的OnInitDialog()之类的函数里实现如下代码: m_tabsheet.Create(this, WS_CHILD | WS_VISIBLE, 0); "//使选项卡的按钮在下面 "if(m_tabsheet.m_hWnd) "m_tabsheet.ShowWindow(SW_MAXIMIZE);//显示选项卡 //加入标签,标签名由各个子对话框的标题栏决定 "m_tabsheet.AddPage(&m_skatch); "//用Create来创建一个属性页 "m_tabsheet.Create(this, WS_CHILD | WS_VISIBLE, WS_EX_CONTROLPARENT); " RECT rect; "m_tabsheet.GetWindowRect(&rect); "int wi阅读全文>

发表于 @ 2007年12月28日 14:20:00|评论(loading...)|编辑

Csdn Blog version 3.1a
Copyright © 阿坤