如何在程序运行过程中设置对话框的尺寸大小,左上角的图标,标题栏的颜色,标题以及关闭,最大化按钮,最小化按钮
显示和隐藏等相关设置,请各位指教!
解决方案 »
- 一直很想写一个界面好点的程序,请各位给推荐几本好的VC界面编程书籍,谢谢啦。
- 需要写一个activex控件,控件的一个功能是检测现在登录系统的用户是否是远程登录进来的。再根据检测结果进行后面的处理
- 如何只显示当前录入的数据,而不是将整个表中的数据都显示出来.
- 我该不该从C#转型到C++?
- 有关 在ATL工程调用其他DLL的导出函数的问题
- 重载带三个参数的delete 操作符
- 请教各位大哥: 在WIN32 SDK中怎样实现excel里的条状控件?
- 问一个VC中头文件的包含问题!
- 如何取得HTML表单里提交的内容?
- 怎么实现结束进程树啊??
- CS模式下, 服务器响应多个客户端的工作流程?
- 重载虚函数的说法对吗?为何总有人这样说呢?
{
// TODO: Add your specialized code here and/or call the base class
cs.cx=300;
cs.cy=200;
cs.lpszName="zhoujianzhao";
return TRUE;
//return CDialog::PreCreateWindow(cs);
}
为什么不能改变对话框的大小?
一般的窗口的创建是使用Create函数,这个函数在创建窗口之前调用了PreCreateWindow函数,并且允许在创建创建之前在PreCreateWindow注册一个拥有自定义窗口样式的新的窗口类,来创建一个拥有自定义类名新的窗口。而模式对话框是通过CreateDialogIndirect来创建的,在这当中并没有调用PreCreateWindow函数,重载的PreCreateWindow函数根本就不被执行,因此在这个函数里修改对话框的窗口类是没有用的。
SetWindowsText(_T("your dlg name"));在构造函数中修改左上标的图标
m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
红色的ID改成其它的ICON就行了;和OnPaint中修改标题颜色,
不过CDC要通过CWindowDC来创建,不要用CPaintDC和CClientDC来创建,
在重绘时注意标题栏的坐标计算正确就OK对话框的大小:
MoveWindow和SetWindowPos都可以对话框的最大化和最小化按钮在编辑模板的时候就可以指定,运行时无法更改,除非是自绘的
引用 9 楼 supconsupcon 的回复:
在OnInitDialog中改变标题栏:
SetWindowsText(_T("your dlg name"));//提示没有此命令,可以给个例子吗?
和OnPaint中修改标题颜色,
不过CDC要通过CWindowDC来创建,不要用CPaintDC和CClientDC来创建,//如何创建,可以给个例子吗?
在重绘时注意标题栏的坐标计算正确就OK对话框的大小:
MoveWindow和SetWindowPos都可以用此命令可以改变控件的大小和位置,如下代码
GetDlgItem(IDC_STATIC1)->MoveWindow(250,100,200,50,1)//可以改变控件的大小,怎么改变对话框的大小;我的对话框ID为P:ID_DIALOG;SetWindowPos又如何用?请指教,多谢!
[/Quote]
SetWindowsText(_T("your dlg name"));//不好意思,应该是SetWindowText,笔误MoveWindow:若窗口指针为pWnd,则pWnd->MoveWindow(0, 0, 300, 300);// 和调整IDC_STATIC1的方法一样,你自己都会用了啊CWindowDC的用法参考CDialog程序中OnPaint()里的代码