![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
windows程序设计
wangmeng2445
这个作者很懒,什么都没留下…
展开
-
在VC++中实现无标题栏对话框的拖动
目前,很多基于对话框的应用程序中对话框都是不带框架的,也就是说对话框没有标题栏。众所周知,窗口的移动都是通过鼠标拖动窗口的标题栏来实现的,那么现在应用程序中的对话框没有了标题栏,用户如何移动对话框呢?本实例针对这个问题提出解决的办法。程序编译运行后的界面效果如图一所示:图一、无标题栏的对话框界面 一、实现方法 解决无标题栏窗口的拖动问题有两种方案,一种方案是使用常转载 2011-12-18 10:51:26 · 643 阅读 · 0 评论 -
vs2008下新建对话框不能自动重载OnInitDialog函数
用MFC向导创建的对话框会自动生成OnInitDialog()函数。但是手动添加的对话框或者创建子对话框时就不会生成OnInitDialog()。在消息栏里也没有WM_INITDIALOG消息,而OnInitDialog()函数可以在对话框出现之前对对话框进行初始化,有时候会很有用。因为有些代码不能放在类的构造函数里,只能放在OnInitDialog()函数里。因此需要OnInitDialog()转载 2011-12-18 23:20:19 · 2694 阅读 · 1 评论 -
vc方法汇总
VC用法汇总 (一)(1)如何通过代码获得应用程序主窗口的指针?主窗口的指针保存在CWinThread::m_pMainWnd中,调用AfxGetMainWnd实现。AfxGetMainWnd() ->ShowWindow(SW_SHOWMAXMIZED)//使程序最大化.(2)确定应用程序的路径Use GetModuleFileName 获得应用程序的路径,然后去掉可转载 2011-12-18 23:13:57 · 2215 阅读 · 0 评论 -
更改应用程序的图标
很多时候我们对于MFC框架应用程序的默认图标十分不满意,所以我们来将把它换掉。默认的VC6.0下的MFC图标和VC2005中的MFC图标分别如下: 很多朋友会问我怎么把图标换掉,我看很多人写很多代码,出很多错,其实对于MFC框架应用程序我们可以不写一行代码把那个默认的图标换掉。找一张ICO图标,替换programname/res/programname.ico文件,就可以啦,转载 2011-12-17 15:19:57 · 1374 阅读 · 0 评论 -
关于GetWindowRect()、GetClientRect()和SetWindowRgn()的问题
最近在和同学做一个模拟时钟的程序,我们做的是基于对话框的,我想把对话框的形状做成圆形的,因为我们做的时钟外形就是圆形的,在其中我遇到了以下问题(在同学的帮助下都已解决):下面是我在OninitDialog中添加的代码: CRgn rgn; CRect rect; GetClientRect(rect); rgn.CreateEllipticRgn(rect.left,rect.原创 2011-12-17 14:52:48 · 4283 阅读 · 0 评论 -
如何更改静态文本控件的字体与颜色
在OnCtlColor中添加如下代码改变字体颜色if( pWnd->GetDlgCtrlID() == ID_STATIC ){ CFont font; // 改变字体颜色 pDC->SetTextColor( RGB( 0, 0, 255 ) ); // 改变字体 font.CreatePointFont( 2转载 2011-10-20 13:31:02 · 2091 阅读 · 0 评论 -
CMainFrame类的四个成员函数
框架类CMainFrame的四个成员函数为:AssertValid()和Dump(),OnCreate()和PreCreateWindow().(1)AssertValid()用来诊断CMainFrame对象是否有效(2)Dump()用来输出CMainFrame对象的状态信息。(3)OnCreate()用来创建工具栏m_wndaToolBar和状态栏m_wndStatusBar,而视图原创 2011-10-20 19:04:49 · 3531 阅读 · 1 评论 -
客户区对话框拖动操作
1.添加以下变量:public:bool m_bMouseDown;POINT m_ptStart;2.在构造函数中添加以下代码m_bMouseDown=false;3.响应WM_MOUSEMOVE,WM_LBUTTONDOWN,WM_LBUTTONUP消息.并添加以下代码OnMouseMove(UINT nFlags,CPoint point){......转载 2011-12-17 13:40:16 · 272 阅读 · 0 评论 -
如何修改应用程序的图标以及exe文件的图标
1、最笨和最简便的方法:把IDR_MAINFRAME这个图标资源删了(delete),然后引入或新建你想要的图标,并将其ID号改为IDR_MAINFRAME,然后大功告成。 2、在OnCreate( )函数中加入如下代码:SetIcon(LoadIcon(IDI_ICON1),false或true) 关于这些函数的参数及返回值参见msdn,这时运行程序会发现其左上角的图标已经变成你想要的原创 2011-12-17 16:25:35 · 13739 阅读 · 0 评论 -
用OnCreate()和OnInitDialog()在对话框上动态创建控件,但他们有什么不同吗?
//在一个对话框类中添加如下两个函数 int CAboutDlg::OnCreate(LPCREATESTRUCT lpCreateStruct){ if (CDialog::OnCreate(lpCreateStruct) == -1) return -1; // TODO: Add your specialized creation code here m_原创 2011-10-20 13:13:18 · 1611 阅读 · 0 评论 -
WM_CREATE的响应函数OnCreate和WM_INITDIALOG的函数OnInitDialog有什么不同
OnCreate与OnInitDialog当然不同 ! OnCreate是在创建时,窗口还没完成时的函数,而OnInitDialog是对话框初始化时的函数 比如: 当我们在OnCreate动态创建一个按纽时,写完代码后,仍在OnCreate内我们还不能访问这个按纽,否则会出错,因为窗口还没创建。 而OnInitDialog就不同了,它是对话框已创建完了,只是对其初始化,若按纽已转载 2011-10-20 13:54:32 · 1425 阅读 · 1 评论 -
CWnd::OnContextMenu函数(右键单击弹出快捷菜单)
CWnd::OnContextMenu afx_msg void OnContextMenu( CWnd* pWnd, CPoint pos );参数说明pWndHandle to the window in which the user right clicked the mouse. This can be a child window of the window re转载 2011-12-18 22:35:28 · 3095 阅读 · 0 评论