Visual C++入门常见问题小结(三)

2012-11-04 15:15:19 · 作者: · 浏览: 847
  8:如何建立一个UNICODE应用程序?

  建立一个应用程序,打开Alt+F7 settings选项,选择C/C++(www.cppentry.com)选项卡,在Preprocessor definenation中加上_UNICODE,在Link选项卡中,在Category选择框中选择Output,在Entry-point symbol编辑框中,添加wWinMainCRTStartup确定。

  注意调试UNICODE程序时,需要在安装时VC选择所有选项,否则会缺少动态库和相应的.lib文件

  9:ADO操作数据库表,更新出现问题

  在打开数据库前,添加如下语句试一下pRecordSet->CursorLocation = adUseClient;

  10. 如何改变窗口的图标

  向窗口发送 WM_SECTION消息。

  Example:

   HICON hIcon=AfxGetApp() ->LoadIcon(IDI_ICON);

   ASSERT(hIcon);

   AfxGetMainWnd() ->SendMessage(WM_SECTION,TRUE,(LPARAM) hIcon);

  11. 如何改变窗口的缺省风格

  重载 CWnd:: PreCreateWindow 并修改CREATESTRUCT结构来指定窗口风格和其他创建信息.

   Example: Delete "Max" Button and Set Original Window's Position andSize

   BOOL CMainFrame:: PreCreateWindow (CREATESTRUCT &cs)

   {

   cs.style &=~WS_MAXINIZEMOX;

   cs.x=cs.y=0;

   cs.cx=GetSystemMetrics(SM_CXSCREEN/2);

   cs.cy=GetSystemMetrics(SM_CYSCREEN/2);

    return CMDIFramewnd ::PreCreateWindow(cs);

   }

  12. 如何将窗口居中显示

    Call Function CWnd:: Center Windows

     Example(1): Center Window( ); //Relative to it's parent

     // Relative to Screen

     Example(2): Center Window(CWnd:: GetDesktopWindow( ));

     //Relative to Application's MainWindow

     AfxGetMainWnd( ) -> Center Window( );

  13. 如何让窗口和 MDI窗口一启动就最大化和最小化

  先说窗口。

  在 InitStance 函数中设定 m_nCmdShow的 取值.

     m_nCmdShow=SW_SHOWMAXMIZED ; //最大化

     m_nCmdShow=SW_SHOWMINMIZED ; //最小化

     m_nCmdShow=SW_SHOWNORMAL ; //正常方式

  MDI窗口:

  如果是创建新的应用程序,可以用 MFC AppWizard 的Advanced 按钮并在MDI子窗口风格组中检测最大化或最小化; 还可以重载 MDI Window 的PreCreateWindow函数,设置WS_MAXMIZE or WS_MINMIZE;

  如果从CMDIChildWnd派生,调用 OnInitialUpdate函数中的CWnd::ShowWindow来指定 MDI Child Window的风格。