VC开发小知识
来源:互联网 发布:Linux ls相关命令 编辑:程序博客网 时间:2024/05/17 23:30
1、MFC改变窗口大小
在app类中BOOL CwindowsizeApp::InitInstance()的m_pMainWnd->ShowWindow(SW_SHOW);
m_pMainWnd->UpdateWindow();之前加上m_pMainWnd->MoveWindow(CRect(100,100,300,600),FALSE);
禁止最大最小框在MainFrame类的CMainFrame::PreCreateWindow(CREATESTRUCT&cs)
中添加
cs.style&= ~WS_THICKFRAME;//禁用Title上的按钮
cs.style &= ~WS_MAXIMIZEBOX;//禁止窗口最大化
cs.style &= ~WS_MINIMIZEBOX;//禁止窗口最小化
cs.style &= ~WS_SIZEBOX;//禁止改变窗口大小
2、隐藏状态栏、工具栏、系统菜单
在MainFrame类intCMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
1)//隐藏菜单栏
m_wndMenuBar.ShowWindow(FALSE);
2)//删除状态栏
// if(!m_wndStatusBar.Create(this))
// {
// TRACE0("未能创建状态栏\n");
// return-1; // 未能创建
// }
// m_wndStatusBar.SetIndicators(indicators,sizeof(indicators)/sizeof(UINT));
3)//去掉最大化、最小化、关闭按钮、标题栏
ModifyStyle(WS_CAPTION,0,SWP_FRAMECHANGED);
3、MFC显示位图
//voidCogremfc20110719View::OnPaint()
//{
// CPaintDC dc(this); // device context forpainting
// // TODO: 在¨²此ä?处ä|添¬¨ª加¨®消?息¡é处ä|理¤¨ª程¨¬序¨°代䨲码?
// // 不为绘图消?息¡é调Ì¡Â用®? CView::OnPaint()
// BITMAP bm;
// CBitmap bmp;//定义CBitmap类的对象
// bmp.LoadBitmap(IDB_BITMAP1);//装入ID号为IDB_BITMAP1的位图
// CDC memdc;//定义CDC类的对象
// CRect rect;
// memdc.CreateCompatibleDC(&dc);//创建与显示DC相容的内存DC
// bmp.GetBitmap(&bm);
// CBitmap*bmpold=memdc.SelectObject(&bmp);//将选定的位图选入内存DC
// this->GetClientRect(&rect);
// //从内存DC向显示DC复制,rect.left,rect.top为图像左上角的坐标SRCCOPY表示直接将源位图拷贝到目的位图,不作修改
// dc.BitBlt(rect.left,rect.top,bm.bmWidth,bm.bmHeight,&memdc,0,0,SRCCOPY);
// memdc.SelectObject(bmpold);
// memdc.DeleteDC();
// bmp.DeleteObject();
// OnDraw(NULL);
//}
4、得到屏幕大小
int x = ::GetDeviceCaps(hDC,HORZRES)/2;
int y = ::GetDeviceCaps(hDC,VERTRES)/2;
5、常见错误
1、语法错误: 缺À少; (在*的前面)
缺少类型说明符假定为int注意: C++ 不支持默认int
缺少类型说明符假定为int注意: C++ 不支持默认int
原因:命名空间或类前缺少 class 标识符
6、注意事项:有启动界面时,不要把窗口初始化为最大化
7、MFC去掉单文档的"无标题-"的方法
在MainFrm.cpp中,找到PreCreateWindow函数,增加如下代码。
// TODO: 在此处通过修改
// CREATESTRUCT cs 来修改窗口类或样式
cs.style&=~FWS_ADDTOTITLE;
cs.lpszName = WindowName;
8、设置CEdit字体
在父窗口定义 CFont font;
在CEdit 定义前加上
font.CreatePointFont(200,"字体名",NULL);
pEdit->SetFont(&font);
9、使一个变量N在0~n之间变换
N = ++N%n 取模运算
10、在子类中获得父类中视类的句柄
CDC *pDc =GetParentFrame()->GetActiveView()->GetDC();
11、实现鼠标左键按下拖动对话框
添加LButtonDown消息相应在里面添加如下代码:
PostMessage(WM_NCLBUTTONDOWN,HTCAPTION,MAKELPARAM(point.x,point.y));
CDialogEx::OnLButtonDown(nFlags, point);
- VC开发小知识
- 总结:VC小知识!
- VC小知识!
- VC小知识
- VC小知识总结
- VC小知识!
- 总结:VC小知识
- VC小知识
- VC小知识
- VC小知识总结!
- vc小知识
- VC小知识
- VC小知识
- VC小知识总结
- VC编程小知识
- VC小知识
- VC++小知识
- VC对话框小知识
- oracle显示一个月的所有天数
- VC中栈空间的更改
- Emacs最基本命令记录
- SQL Server系统数据库备份最佳实践
- IT路上收集的一些有用的话
- VC开发小知识
- 文字到叙输出的实现步骤
- 《编程之美:分层遍历二叉树》的另外两个实现
- 0xFFFF的Debug
- 什么才叫朋友
- Java 调用底层接口
- MQ JMS发送消息并接收客户端回复
- UNIX系统的IO模型
- Java中没有传引用!!!