我是学SDK的,请问应用窗口的标题栏中的按钮:如关闭按钮,它们本身是不是窗口呢?如果是的话,如何得到窗口的句柄呢?

解决方案 »

  1.   

    是否是窗口,你用spy一看便知了,呵呵。(TOOL 菜单/ SPY++)
      

  2.   

    在建立窗口时
    case WM_CREATE:
         HWND hwndButton=CreateWindow(TEXT("Button"),....),
    就可建立一个按钮控件,看,用的也是CreateWindow,hwndButton就是按钮的句柄
      

  3.   

    是啊~~~
    就是就是窗体函数对它操作的。
    ::GetDlgItem();
      

  4.   

    理论来说,它们是按钮,(也就是个窗口"). 实际上来说,它们是不可以象一个按钮那样操作的,比如,移动,你可以移动一按钮,但你不能移一个最大化按钮.原因是这些东西在WINDOW的非客户区,你只能按照MS提供的有限的方法来使用它们.不过这也很正常,如果你是WINDOWSR的创始人,你也会一样做的.
      

  5.   

    是窗口。CWnd * pwnd = GetDlgItem(IDC_BUTTON_OK);HANDLE handle = pwnd->m_hWnd;//这就是句柄了,你熟悉的东西。
      

  6.   

    1CMenu* pMenu = this->GetSystemMenu(FALSE);
    pMenu->DeleteMenu(SC_MAXIMIZE, MF_BYCOMMAND|MF_GRAYED);
    pMenu->DeleteMenu(SC_MOVE,MF_BYCOMMAND|MF_GRAYED);
    pMenu->DeleteMenu(SC_SIZE,MF_BYCOMMAND|MF_GRAYED);2 http://expert.csdn.net/Expert/topic/1261/1261506.xml?temp=.8636438不好意思,我没有看清你的问题,我以为是什么按钮,
    其实你说的是菜单,菜单不是CWnd的继承类,CMenu 是直接继承至CObject,我个人的看法是:不是窗口,
    但是可以得到它的句柄就是:CMenu* pMenu = this->GetSystemMenu(FALSE);
          HANDLE handle = pMenu->m_hMenu;
    3
    Chiun(Chiun)   
    是否是窗口,你用spy一看便知了,呵呵。(TOOL 菜单/ SPY++)实际也看不到菜单是窗口。
    我个人认为不是窗口。  
     
      

  7.   

    非常感谢您的帮助,但我的应用是找到这些个控制按钮的准确坐标,只要能得它的窗口句柄,用GetWindowRect()就可以得到它的大小,就是那些标题栏中的小按钮啊?
      

  8.   

    不是窗口!它们是在Defwindowproc中在响应wm_ncpaint等消息时画出来的...
      

  9.   

    不用谢,我也是初学,什么都不懂。你得到了准确的坐标,可以在这个CRect里面画东西(比如一个什么窗口)啊。那就可以象操作窗口样地操作了啊。怎么?还有什么问题呢?
      

  10.   

    什么是窗口?我现在还糊涂了。(我的看法是CWnd的子类对象是窗口,在MFC中)