我在Visual C++下面裸写(没有使用MFC)Win32程序,但是有2个问题解决不了,请帮忙!
1.不知道怎么在程序中加入状态条,且如何在程序中动态更改它显示的文字呢?
2.我在MainMenu下面建了一个Item,我将它设置为Check的,但是我如何编程才能使其变为前面没有钩呢?(我不是用MFC,CCmdUI* pCmdUI在裸写时好像不行)

解决方案 »

  1.   

    加入状态条:  hStatus = CreateStatusWindow( WS_VISIBLE | WS_CHILD | SBARS_SIZEGRIP,
    "", hWnd, IDM_STATUSBAR );
      SendMessage( hStatus, SB_SETPARTS, 3, (LPARAM)aStatusWidths );
      iStatusHeight = WindowHeight( hStatus );改变文字: SendMessage( hStatus, SB_SETTEXT, 0, (LPARAM)"Raw" );
      

  2.   

    大力水手!加不进去啊!F:\snooper\snooper.cpp(369) : error C2065: 'IDM_STATUSBAR' : undeclared identifier
    F:\snooper\snooper.cpp(370) : error C2065: 'aStatusWidths' : undeclared identifier
    F:\snooper\snooper.cpp(371) : error C2065: 'iStatusHeight' : undeclared identifier
    F:\snooper\snooper.cpp(371) : error C2065: 'WindowHeight' : undeclared identifier
      

  3.   

    建议你去买本书看看,好象叫“Windows 下C/C++高级编程”才40¥。《邮电出版社》的。
      

  4.   

    >>2.我在MainMenu下面建了一个Item,我将它设置为Check的,但是我如何编程才能使其变为前面没有钩呢?(我不是用MFC,CCmdUI* pCmdUI在裸写时好像不行)BOOL SetMenuItemInfo(
      HMENU hMenu,          // handle to menu
      UINT uItem,           // identifier or position
      BOOL fByPosition,     // meaning of uItem
      LPMENUITEMINFO lpmii  // menu item information
    );MENUITEMINFO mitem;
    mitem.cbSize =sizeof(MENUITEMINFO);
    mitem.fMask =MIIM_STATE;
    mitem.fState=MFS_UNCHECKED;
    SetMenuItemInfo(GetSubMenu(GetMenu(hwnd),0),1,true,&mitem);
      

  5.   

    1.不知道怎么在程序中加入状态条,且如何在程序中动态更改它显示的文字呢?在窗口函数前面定义一静态变量 static HWND hState;
    在WM_CREATE时加入下面的语句:
    InitCommonControls();
    hState=CreateStatusWindow(WS_CHILD | WS_VISIBLE, "", hWnd,0);
    SendMessage(hState,SB_SETTEXT,0,(LPARAM)(LPSTR)"状态烂文字");