读书笔记(一)_VC++深入详解

来源:互联网 发布:淘宝商盟官网 编辑:程序博客网 时间:2024/05/18 01:27



  这本书第一章就是讲Windows程序内部运行机制,初看的话比较吃力,不过理解了之后对后面还是有一定的帮助。对窗口的设计,
注册,创建,显示及更新讲的很详细具体。
   私觉得句柄这个概念一定要好好理解,在之后会经常用到。
   记录一下最基本的得到某窗口的句柄。虽说主窗口和子窗口有不同的方法,不过更喜欢这个简单,通用。

CWnd* pWnd=FindWindow(NULL,_T("标题")); 

     ID或标题有一个就可以。

    之后对C++面向对象部分的讲解从结构体引进类讲的挺不错后面重载,虚函数部分就有点冗杂。
    这本书主要中心还是放在了Window编程,从MFC的框架,到绘图,文本,文件,和后面相对高级的多线程,网络编程,ActiveX控件。目前也是刚看完前面关于MFC的部分,MFC封装了大部分的windows API函数,在理解的基础上还是要大量接触各种函数,可以从基本控件的使用开始,下面是一些基础控件。(题外:在创建新的MFC AppWzard{exe}工程时对于MFC库的静态,动态的选择,一般为了节约编译时间选动态,不过有时编译时会提醒电脑上缺少一些文件,在不想再去下载那些dll文件的情况下可以选成静态)



      MFC部分也是才略微接触,还没什么感触。列举遇到的一些问题和解决方法 。


     背景图片和位图按钮的设置

BOOL CMANAMENU::OnInitDialog(){CDialog::OnInitDialog();    CBitmap bmp;    bmp.LoadBitmap(IDC_PIC2);   //图片IDm_brush.CreatePatternBrush(&bmp);HINSTANCE hInstance;    HBITMAP hBitmap2,hBitmap3;    hInstance   =   ::AfxGetInstanceHandle();    hBitmap2 =  ::LoadBitmap(hInstance, MAKEINTRESOURCE(IDB_BUTTON3) );hBitmap3 =  ::LoadBitmap(hInstance, MAKEINTRESOURCE(IDB_BUTTON4) );    m_BtonBmp.SetBitmap(hBitmap2);m_color.SetBitmap(hBitmap3);return TRUE;  // return TRUE  unless you set the focus to a control}

      子窗口出现主窗口隐藏因为主窗口仅仅是隐藏,

void CMODlg::OnButton1() {// TODO: Add your control notification handler code here    GetDlgItem(IDC_EDIT1)->GetWindowText(m_E1);ShowWindow(SW_HIDE);if(m_E1=="ADMIN"||m_E1=="admin"){CMANAMENU *menu=new CMANAMENU;//跳转到管理员主界面menu->Create(IDD_MANAMENU,this);    menu->ShowWindow(SW_SHOW);}else{CCUSTOMER_MAIN *menu=new CCUSTOMER_MAIN;//跳转到用户主界面menu->Create(IDD_CUSTOM_MAIN,this);    menu->ShowWindow(SW_SHOW);}    GetDlgItem(IDC_EDIT1)->SetWindowText("");}

      关闭子窗口时添加ONCLOSE事件关闭主窗口 

void CMANAMENU::OnClose() {// TODO: Add your message handler code here and/or call defaultCWnd* pWnd=FindWindow(NULL,_T("RED TREE影院"));::SendMessage(pWnd->m_hWnd,WM_CLOSE,NULL,NULL);CDialog::OnClose();}

   

    API方式连接数据库时注意有时要把libmysql.dll放入Debug中,不然识别不出其中的关于MYSQL的类

    #include <winsock.h>,#include <windows.h>重定义的话要在前面加上#define   _WINSOCKAPI_ 阻止编译器去处理后面的



0 0