C++MFC高手,进!

王朝知道·作者佚名  2009-05-21
窄屏简体版  字體: |||超大  
 
分類: 電腦/網絡 >> 程序設計 >> 其他編程語言
 
問題描述:

问三个C++的问题:(1)有一个按钮IDC_BUTTON,其值为m_pbutton,在OnSize()函数中要如何控置它的大小?我想要把它做成跟窗口同大的按钮,谢谢!(2) 有一个SPIN按钮(也就是上下翻按钮)IDC_SPIN,其值为m_pspin,要如何确定究竟按下的是向上还是向下?(3)建立一个单文档程序后,会自动生成一个带菜单、工具栏的程序,那么,如何把这个程序的菜单删除呢?(工具栏我已经能够删除,不要告诉我用DIALOG程序)谢谢!

參考答案:

其实这3个问题按照难易可以这样的解决:

首先解决最为简单的一个问题:第三题

BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs)

{

if( !CFrameWnd::PreCreateWindow(cs) )

return FALSE;

cs.hMenu=NULL;//你可以看一看cs的结构,里面有很多的东西有用

return TRUE;

}

现在可以解决第一题:

首先你讲想要把按钮做成跟窗口同大的按钮,我的理解是随窗口大小而比例的

的变大变小,(如果是做成同窗口一样大小的按钮则下面的代码就可以)

void CDe1Dlg::OnSize(UINT nType, int cx, int cy)

{

if (m_pbutton.m_hWnd!=NULL)

{

CRect rect;

this->GetClientRect(&rect);

m_pbutton.MoveWindow(&rect,true);

}

CDialog::OnSize(nType, cx, cy);

// TODO: Add your message handler code here

}

但是我想你不是这样的想法,你的想法应该是按钮随窗口的变化而变化,那

么首先你要得到button在dlg中的位置,以及dlg的大小,这个是在初始化的时

候得到的,然后在WM_SIZE事件的过程中,得到一个大小的比率,然后你就可

以根据比率的大小,调节button的长或者是宽(好像一般是宽)以及button在

dlg中的位置。(这种方法是我经常用的方法,但是较笨)

第二题的解法,因为我知道是要截取消息的,但是我的机子没有装msdn帮助,

这个消息我记得不太清楚了,非常的抱歉!

小贴士:① 若网友所发内容与教科书相悖,请以教科书为准;② 若网友所发内容与科学常识、官方权威机构相悖,请以后者为准;③ 若网友所发内容不正确或者违背公序良俗,右下举报/纠错。
 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航