我做了一个可以横向伸缩的对话框,想在程序运行时,即对话框第一次显示时只显示收缩的大小,
请问怎么设置?
我是按照孙鑫老师讲的方法做的
部分代码如下
void CShensuoDlg::OnButton1()
{
// TODO: Add your control notification handler code here
CString str;
if (GetDlgItemText(IDC_BUTTON1,str),str=="收缩<<")
{
SetDlgItemText(IDC_BUTTON1,"扩展>>");
m_bIsShousuo = TRUE;
}
else
{
SetDlgItemText(IDC_BUTTON1,"收缩<<");
m_bIsShousuo = FALSE;
}
static CRect rectLarge;
static CRect rectSmall;
if (rectLarge.IsRectNull())
{
CRect rectSeparator;
GetWindowRect(&rectLarge);
GetDlgItem(IDC_STATIC1)->GetWindowRect(&rectSeparator);
rectSmall.left = rectLarge.left;
rectSmall.bottom = rectLarge.bottom;
rectSmall.top = rectLarge.top;
rectSmall.right = rectSeparator.right;
}
if (!m_bIsShousuo)
{
SetWindowPos(NULL,0,0,rectSmall.Width(),rectSmall.Height(),SWP_NOMOVE|SWP_NOZORDER);
}
else
{
SetWindowPos(NULL,0,0,rectLarge.Width(),rectLarge.Height(),SWP_NOMOVE|SWP_NOZORDER);
}}
我在OnInitDialog()试过,但是只能显示收缩后的大小,但是却不能扩展了,不能显示对话框的实际大小了
大侠们帮帮忙
请问怎么设置?
我是按照孙鑫老师讲的方法做的
部分代码如下
void CShensuoDlg::OnButton1()
{
// TODO: Add your control notification handler code here
CString str;
if (GetDlgItemText(IDC_BUTTON1,str),str=="收缩<<")
{
SetDlgItemText(IDC_BUTTON1,"扩展>>");
m_bIsShousuo = TRUE;
}
else
{
SetDlgItemText(IDC_BUTTON1,"收缩<<");
m_bIsShousuo = FALSE;
}
static CRect rectLarge;
static CRect rectSmall;
if (rectLarge.IsRectNull())
{
CRect rectSeparator;
GetWindowRect(&rectLarge);
GetDlgItem(IDC_STATIC1)->GetWindowRect(&rectSeparator);
rectSmall.left = rectLarge.left;
rectSmall.bottom = rectLarge.bottom;
rectSmall.top = rectLarge.top;
rectSmall.right = rectSeparator.right;
}
if (!m_bIsShousuo)
{
SetWindowPos(NULL,0,0,rectSmall.Width(),rectSmall.Height(),SWP_NOMOVE|SWP_NOZORDER);
}
else
{
SetWindowPos(NULL,0,0,rectLarge.Width(),rectLarge.Height(),SWP_NOMOVE|SWP_NOZORDER);
}}
我在OnInitDialog()试过,但是只能显示收缩后的大小,但是却不能扩展了,不能显示对话框的实际大小了
大侠们帮帮忙
解决方案 »
- 编译时出错 hidsdi.h
- 一段下载网页的代码,下载下来的内容后面总比原始的内容要多几个字符,
- 散分11
- 如何使用复制实现工具条按钮
- CFile::Write的简单问题,急,早晨就要收工,在线等!!!!!!!
- 关于控制系统的音频问题
- 如何实现将数据实时的显示在CListCtrl类所构建的窗口内(大虾们请帮忙)
- mfkzj接分
- 【求教】异步套接字WSAAccept()和WSAConnect()如何使用
- 如何使用IActiveDesktop.VC说找不到定义。我已经include <shlobj.h>
- 基于对话框的窗口图形重绘问题,着急!
- 如何实现拖动文件夹,将里面的项目添加到CListCtrl中
static CRect rectSmall;
...............这一段代码是在button1中,你把它放到OnInitDialog()中当然不能正常工作了要不,你就把这两个变量声明为这个类的全局变量就行了,在OnInitDialog()中初始化,其它地方的初始化全部去掉
我的代码在一个button的控制下是可以实现收缩和扩展的就像颜色对话框那样,
就是在对话框第一次显示的时候不能像颜色对话框那样只显示收缩后的部分,
大家给想个办法