这篇是好久之前自己最初贴在cdsn上的帖子,现在也挪到这里算是开篇吧

这是根据原代码例子改的中文版界面,主要是在OnInitDialog里面的代码我都写了注释,有兴趣大家一起研究一下

BOOL CPropGridDlg::OnInitDialog()
{
 //  CDialog::OnInitDialog();
 CPropertyGridDlgBase::OnInitDialog();

// 将/“关于.../”菜单项添加到系统菜单中。

// IDM_ABOUTBOX 必须在系统命令范围内。
 ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);
 ASSERT(IDM_ABOUTBOX < 0xF000);

CMenu* pSysMenu = GetSystemMenu(FALSE);
 if (pSysMenu != NULL)
 {
  CString strAboutMenu;
  strAboutMenu.LoadString(IDS_ABOUTBOX);
  if (!strAboutMenu.IsEmpty())
  {
   pSysMenu->AppendMenu(MF_SEPARATOR);
   pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);
  }
 }

// 设置此对话框的图标。当应用程序主窗口不是对话框时,框架将自动
 //  执行此操作
 SetIcon(m_hIcon, TRUE);   // 设置大图标
 SetIcon(m_hIcon, FALSE);  // 设置小图标

// TODO: 在此添加额外的初始化代码
 //
 // 获得图片框矩形
 CRect rc;
 m_wndPlaceHolder.GetWindowRect( &rc );
 // 转为窗口坐标
 ScreenToClient( &rc );
 // 建立属性表
 if ( m_wndPropertyGrid.Create( rc, this, IDC_PROPERTY_GRID  ) )
 {
  m_wndPropertyGrid.SetVariableItemsHeight(TRUE);
  // 获取逻辑字体
  LOGFONT lf;
  GetFont()->GetLogFont( &lf );
  // create document settings category.
  // 建立分类
  CXTPPropertyGridItem* pSettings        = m_wndPropertyGrid.AddCategory(_T("Document Settings"));
  // 设置TOOLTIP
  pSettings->SetTooltip(_T("Document Settings Category"));

// add child items to category.
  // 建立bool内容
  CXTPPropertyGridItem* pItemSaveOnClose = pSettings->AddChildItem(new CXTPPropertyGridItemBool(_T("SaveOnClose"), TRUE));
  // 建立字体内容
  pSettings->AddChildItem(new CXTPPropertyGridItemFont(_T("WindowFont"), lf));
  // 建立size内容
  pSettings->AddChildItem(new CXTPPropertyGridItemSize(_T("WindowSize"), CSize(100, 100)));
  
  // 展开
  pSettings->Expand();
  // 选择
  pItemSaveOnClose->Select();

// create global settings category.
  // 建立分类
  CXTPPropertyGridItem* pGlobals      = m_wndPropertyGrid.AddCategory(_T("Global Settings"));

// add child items to category.
  // 建立只读字符串内容
  CXTPPropertyGridItem* pItemGreeting = pGlobals->AddChildItem(new CXTPPropertyGridItem(_T("Greeting Text"), _T("Welcome to your application!")));
  pItemGreeting->SetReadOnly(TRUE);
  // 建立整数内容
  pGlobals->AddChildItem(new CXTPPropertyGridItemNumber(_T("ItemsInMRUList"), 4));
  // 设置说明
  CXTPPropertyGridItem* pItemRate     = pGlobals->AddChildItem(new CXTPPropertyGridItemNumber(_T("MaxRepeatRate"), 10));
  pItemRate->SetDescription(_T("The rate in milliseconds that the text will repeat."));
  // 建立color内容
  pGlobals->AddChildItem(new CXTPPropertyGridItemColor(_T("ToolbarColor"), RGB(255, 192,128)));

//
  // Version category.
  // 建立分类
  CXTPPropertyGridItem* pVersion      = m_wndPropertyGrid.AddCategory(_T("Version"));

// add child items to category.
  // 建立只读字符串内容
  CXTPPropertyGridItem* pItemVersion  = pVersion->AddChildItem(new CXTPPropertyGridItem(_T("AppVersion"), _T("1.0")));
  pItemVersion->SetReadOnly(TRUE);
  // 使用资源建立字符串内容
  CXTPPropertyGridItem* pItemLanguage = pVersion->AddChildItem(new CXTPPropertyGridItem(ID_ITEM_VERSION_LANGUAGE, _T("English (United States)")));
  // 展开分类
  pVersion->Expand();

// 将combo连接到字符串内容中
  // 测试结果 只要不是只读的字符串内容就可连接combo 步骤如下
  // 获取item的Constraints
  CXTPPropertyGridItemConstraints* pList = pItemLanguage->GetConstraints();
  // 添加combo内容
  pList->AddConstraint(_T("Neutral"));
  pList->AddConstraint(_T("Arabic"));
  pList->AddConstraint(_T("German"));
  pList->AddConstraint(_T("Chinese(Taiwan)"));
  pList->AddConstraint(_T("English (United Kingdom)"));
  pList->AddConstraint(_T("English (United States)"));
  pList->AddConstraint(_T("France"));
  pList->AddConstraint(_T("Russian"));
  pList->AddConstraint(_T("简体中文"));
  pList->AddConstraint(_T("英文"));
  pList->AddConstraint(_T("日文"));
  // 设置combo为可编辑组合框
  pItemLanguage->SetFlags(xtpGridItemHasComboButton | xtpGridItemHasEdit);

//
  // Dynamic Options
  // 建立分类
  CXTPPropertyGridItem* pCategoryDynamic = m_wndPropertyGrid.AddCategory(_T("Dynamic Options"));
  // 建立bool内容
  // 这是第2种方式 强制转换指针方式
  CXTPPropertyGridItemBool* pItemBool = (CXTPPropertyGridItemBool*)pCategoryDynamic->AddChildItem(
   new CXTPPropertyGridItemBool(_T("Advanced"), FALSE));
  // 设置ID
  pItemBool->SetID(501);
  // 设置checkbox样式
  pItemBool->SetCheckBoxStyle();
  // 建立bool内容checkbox样式并隐藏
  pItemBool = (CXTPPropertyGridItemBool*)pCategoryDynamic->AddChildItem(
   new CXTPPropertyGridItemBool(_T("Option 1"), FALSE));
  pItemBool->SetHidden(TRUE);
  pItemBool->SetCheckBoxStyle();
  // 建立bool内容checkbox样式并隐藏
  pItemBool = (CXTPPropertyGridItemBool*)pCategoryDynamic->AddChildItem(
   new CXTPPropertyGridItemBool(_T("Option 2"), FALSE));
  pItemBool->SetHidden(TRUE);
  pItemBool->SetCheckBoxStyle();
  // 建立bool内容checkbox样式并隐藏
  pItemBool = (CXTPPropertyGridItemBool*)pCategoryDynamic->AddChildItem(
   new CXTPPropertyGridItemBool(_T("Option 3"), FALSE));
  pItemBool->SetHidden(TRUE);
  pItemBool->SetCheckBoxStyle();
  // 建立bool内容checkbox样式并隐藏和只读
  pItemBool = (CXTPPropertyGridItemBool*)pCategoryDynamic->AddChildItem(
   new CXTPPropertyGridItemBool(_T("Option 4"), TRUE));
  pItemBool->SetHidden(TRUE);
  pItemBool->SetCheckBoxStyle();
  pItemBool->SetReadOnly();

// create standard items category.
  // 建立分类
  CXTPPropertyGridItem* pStandard   = m_wndPropertyGrid.AddCategory(_T("Standard Items"));
  // 建立字符串内容
  pStandard->AddChildItem(new CXTPPropertyGridItem(_T("String item")));
  // 建立多行字符串下拉框 帮助文件中没有
  pStandard->AddChildItem(new CXTPPropertyGridItemMultilineString(_T("Multiline String item"), _T("1/r/n2")));
  // 建立整数内容
  pStandard->AddChildItem(new CXTPPropertyGridItemNumber(_T("Integer item")));
  // 建立double内容并设置初始值和数据格式
  pStandard->AddChildItem(new CXTPPropertyGridItemDouble(_T("Double item"),0,"%0.3f"));
  // 建立颜色bool字体
  pStandard->AddChildItem(new CXTPPropertyGridItemColor(_T("Color item")));
  pStandard->AddChildItem(new CXTPPropertyGridItemBool(_T("Bool item")));
  pStandard->AddChildItem(new CXTPPropertyGridItemFont(_T("Font item"), lf));
  // mfc时间类COleDateTime
  COleDateTime dates(1981, 1, 26, 0, 0, 0 );
  // 使用COleDateTime建立时间内容
  pStandard->AddChildItem(new CXTPPropertyGridItemDate(_T("Date item"), dates));
  // 建立size内容
  pStandard->AddChildItem(new CXTPPropertyGridItemSize(_T("Size item")));
  // 建立enum内容
  CXTPPropertyGridItem* pItem = pStandard->AddChildItem(new CXTPPropertyGridItemEnum(_T("Enum item"), 1));
  // 添加enum记录到enum内容呈combo样式
  pItem->GetConstraints()->AddConstraint(_T("Windows 98"), 1);
  pItem->GetConstraints()->AddConstraint(_T("Windows 2000"), 2);
  pItem->GetConstraints()->AddConstraint(_T("Windows XP"), 3);

// 建立flag内容 第2个参数"1+2"为初始值 即"Windows 98"和"Windows 2000"为真
  // 且flag的元素数值需为1,2,4,8,16,32...
  pItem = pStandard->AddChildItem(new CXTPPropertyGridItemFlags(_T("Flag item"), 1 + 2));
  pItem->GetConstraints()->AddConstraint(_T("All Windows"), 1 + 2 + 4);
  pItem->GetConstraints()->AddConstraint(_T("Windows 98"), 1);
  pItem->GetConstraints()->AddConstraint(_T("Windows 2000"), 2);
  pItem->GetConstraints()->AddConstraint(_T("Windows XP"), 4);

//
  // 建立分类
  CXTPPropertyGridItem* pButtons   = m_wndPropertyGrid.AddCategory(_T("Standard Buttons"));
  // 建立bool内容
  pItem = pButtons->AddChildItem(new CXTPPropertyGridItemBool(_T("Combo Button")));
  // 设置为combo样式
  pItem->SetFlags(xtpGridItemHasComboButton);
  // 建立字符串内容
  pItem = pButtons->AddChildItem(new CXTPPropertyGridItem(_T("Expand Button")));
  // 设置为可编辑并带有扩展按钮样式
  pItem->SetFlags(xtpGridItemHasEdit | xtpGridItemHasExpandButton);
  // 建立字符串内容
  pItem = pButtons->AddChildItem(new CXTPPropertyGridItem(_T("2 Buttons")));
  // 设置ID
  pItem->SetID(510);
  // 设置为可编辑并带有扩展按钮样式和combo
  pItem->SetFlags(xtpGridItemHasEdit | xtpGridItemHasComboButton | xtpGridItemHasExpandButton);
  // 添加combo内容
  pItem->GetConstraints()->AddConstraint(_T("Windows 2000"), 1);
  pItem->GetConstraints()->AddConstraint(_T("Windows 98"), 2);
  // 建立字符串内容
  pItem = pButtons->AddChildItem(new CXTPPropertyGridItem(_T("Text Button")));
  // 添加按钮到字符串内容行尾
  CXTPPropertyGridInplaceButton* pButton = pItem->GetInplaceButtons()->AddButton(new CXTPPropertyGridInplaceButton(1));
  // 设置按钮文本
  pButton->SetCaption(_T("Find"));
  // 设置按钮宽度
  pButton->SetWidth(100);
  // 建立字符串内容
  pItem = pButtons->AddChildItem(new CXTPPropertyGridItem(_T("Image Button")));
  // 添加按钮到字符串内容行尾
  pButton = pItem->GetInplaceButtons()->AddButton(new CXTPPropertyGridInplaceButton(1));
  // 设置按钮图标索引
  pButton->SetIconIndex(100);
  // UINT数组  估计是一个临时存储单元用于添加图标到按钮
  // 上面的100和下面的100以及设置图标语句中的btnFilter是相联系的
  UINT btnFilter[] = {100};
  // 设置图标
  m_wndPropertyGrid.GetImageManager()->SetIcons(IDB_BITMAP_FILTER, btnFilter, 1, 0);
  // 设置ToolTip在图标上
  pButton->SetTooltip(_T("Set Filter for item"));
  // 建立整形内容
  pItem = pButtons->AddChildItem(new CXTPPropertyGridItemNumber(_T("Spin And Slider"), 60));
  // 默认0-100暂时没有找到设置范围的方法
  // 添加水平滑块连接到整形内容
  pItem->AddSliderControl();
  // 添加上下按钮连接到整形内容
  pItem->AddSpinButton();

//
  // 建立分类
  CXTPPropertyGridItem* pMetrics   = m_wndPropertyGrid.AddCategory(_T("Custom Metrics"));
  // 建立字符串内容
  pItem = pMetrics->AddChildItem(new CXTPPropertyGridItem(_T("Value Colors"), _T("")));
  // 设置文字颜色 可以采用RGB宏或DWORD
  // 文字和背景颜色会呈现混合效果
  pItem->GetValueMetrics()->m_clrFore = 0x00ff00;
  // 设置背景颜色
  pItem->GetValueMetrics()->m_clrBack = RGB(255, 0, 255);
  // 建立字符串内容
  pItem = pMetrics->AddChildItem(new CXTPPropertyGridItem(_T("Caption Colors"), _T("")));
  // 设置文字颜色
  pItem->GetCaptionMetrics()->m_clrFore = 0xFF0000;
  // 设置背景颜色
  pItem->GetCaptionMetrics()->m_clrBack = RGB(235, 235, 235);
  // 建立enum内容
  pItem = pMetrics->AddChildItem(new CXTPPropertyGridItemEnum(_T("Images"), 2));
  // 内加enum记录并带有图片
  pItem->GetConstraints()->AddConstraint(_T("Green"), 0, 0);
  pItem->GetConstraints()->AddConstraint(_T("Red"), 1, 1);
  pItem->GetConstraints()->AddConstraint(_T("Yellow"), 2, 2);
  pItem->GetConstraints()->AddConstraint(_T("Blue"), 3, 3);
  // 设置enum内容的内容图片
  pItem->GetValueMetrics()->m_nImage = 2;
  // 设置enum内容的标题图片
  pItem->GetCaptionMetrics()->m_nImage = 4;
  // 设置mask颜色
  m_wndPropertyGrid.GetImageManager()->SetMaskColor(0xC0C0C0);
  // 设置图标
  m_wndPropertyGrid.GetImageManager()->SetIcons(IDB_BITMAP_CONSTRAINTS, 0, 5, CSize(20, 14));
  // 建立字符串内容
  pItem = pMetrics->AddChildItem(new CXTPPropertyGridItem(_T("Variable Height"), _T("Item")));
  // 建立内容块高度
  pItem->SetHeight(32);
  // 设置为combo样式
  pItem->SetFlags(xtpGridItemHasComboButton);
  // 建立多行字符串内容
  // 貌似在多行中无法真正的多行编辑 没有找到让文本换行即支持文本回车的方式
  pItem = pMetrics->AddChildItem(new CXTPPropertyGridItem(_T("MultiLine"), _T("Codejock Software/r/n428 Corunna Avenue/r/nOwosso, Michigan 48867 USA")));
  // 设置能见得文本行数
  pItem->SetMultiLinesCount(3);

// create custom items category.
  // 建立分类
  // 以下为自定义类型 代码见CustomItems.h
  CXTPPropertyGridItem* pCustom   = m_wndPropertyGrid.AddCategory(_T("Custom Items"));
  // add child items to category.
  // 建立icon内容
  CXTPPropertyGridItem* pItemIcon = pCustom->AddChildItem(new CCustomItemIcon(_T("Icon"), m_hIcon));
  pItemIcon->SetDescription(_T("This sample shows how to override draw function"));
  // 建立DockPadding内容
  // DockPadding为4个数的组合
  CXTPPropertyGridItem* pItemDock = pCustom->AddChildItem(new CCustomItemChilds(_T("DockPadding"), CRect(100, 20, 400, 50)));
  pItemDock->SetDescription(_T("This sample shows how to add item with childs"));
  // 建立颜色内容
  pCustom->AddChildItem(new CCustomItemColor(_T("CustomCombolist"), RGB(0xFF, 0x80, 0x40)));
  // 建立打开对话框内容
  pCustom->AddChildItem(new CCustomItemFileBox(_T("File Box")));
  // 建立字符串内容
  CXTPPropertyGridItem* pItemMaskEdit = pCustom->AddChildItem(new CXTPPropertyGridItem(_T("Mask Edit"), _T("Phone No: (816) 220-0000")));
  // 设置字符串MASK
  pItemMaskEdit->SetMask(_T("Phone No: (000) 000-0000"), _T("Phone No: (___) ___-____"));
  // 建立字符串内容
  CXTPPropertyGridItem* pItemPassword = pCustom->AddChildItem(new CXTPPropertyGridItem(_T("Password"), _T("Text")));
  // 设置字符串Password
  pItemPassword->SetPasswordMask();
  // 建立日期内容
  COleDateTime date(1981, 1, 26, 0, 0, 0 );
  pCustom->AddChildItem(new CXTPPropertyGridItemDate(_T("Date"), date));
  // 建立大写字母内容
  pCustom->AddChildItem(new CCustomItemUpperCase(_T("UpperCase")));
  // 建立ip地址内容
  pCustom->AddChildItem(new CCustomItemIPAddress(_T("IP Address")));  
  // 建立PopupMenu内容
  pCustom->AddChildItem(new CCustomItemMenu(_T("Popup Menu")));
  // 建立字符串内容
  pCustom->AddChildItem(new CCustomItemEdit(_T("Output"), _T("Debug")));

// add multi level tree node.
  // 建立树形内容
  CXTPPropertyGridItem* pCategoryOne    = pCustom->AddChildItem(new CXTPPropertyGridItemCategory(_T("First Sub Category")));
  CXTPPropertyGridItem* pCategoryTwo    = pCategoryOne->AddChildItem(new CXTPPropertyGridItemCategory(_T("Second Sub Category 1")));
  pCategoryTwo->AddChildItem(new CXTPPropertyGridItem(_T("Third Level 1"), _T("")));
  pCategoryTwo->AddChildItem(new CXTPPropertyGridItem(_T("Third Level 2"), _T("")));
  CXTPPropertyGridItem* pCategoryTwo2   = pCategoryOne->AddChildItem(new CXTPPropertyGridItemCategory(_T("Second Sub Category 2")));
  pCategoryTwo2->AddChildItem(new CXTPPropertyGridItem(_T("Third Level 1"), _T("")));
  // 建立树形内容
  CXTPPropertyGridItem* pItemOne    = pCustom->AddChildItem(new CXTPPropertyGridItem(_T("First Level"), _T("")));
  CXTPPropertyGridItem* pItemTwo    = pItemOne->AddChildItem(new CXTPPropertyGridItem(_T("Second Level"), _T("")));
  CXTPPropertyGridItem* pItemThird     = pItemTwo->AddChildItem(new CXTPPropertyGridItem(_T("Third Level"), _T("")));
  pItemThird->AddChildItem(new CXTPPropertyGridItem(_T("Fourth Level 1"), _T("")));
  pItemThird->AddChildItem(new CXTPPropertyGridItem(_T("Fourth Level 2"), _T("")));

// create custom items category.
  // 建立分类
  pCustom   = m_wndPropertyGrid.AddCategory(_T("Custom Butons"));
  // 建立上下按钮内容
  CXTPPropertyGridItem* pItemSpin = pCustom->AddChildItem(new CCustomItemSpin(_T("SpinButton")));
  pItemSpin->SetDescription(_T("This sample shows how to add new button type"));
  // 建立水平滑块内容
  pCustom->AddChildItem(new CCustomItemSlider(_T("Slider")));
  // 建立CheckBox内容
  CCustomItemCheckBox* pItemCheckBox = (CCustomItemCheckBox*)pCustom->AddChildItem(new CCustomItemCheckBox(_T("Check Box")));
  pItemCheckBox->SetValue(_T("agree with conditions"));
  pItemCheckBox->SetBool(TRUE);
  // 建立自定义按钮
  pCustom->AddChildItem(new CCustomItemButton(_T("Left Origin"), FALSE, TRUE));
  pCustom->AddChildItem(new CCustomItemButton(_T("Right Origin"), FALSE, TRUE));
  pCustom->AddChildItem(new CCustomItemButton(_T("Pointer"), TRUE, TRUE));
  pCustom->AddChildItem(new CCustomItemButton(_T("Gradient"), TRUE, FALSE));
 }

m_groupAppearance.SubclassDlgItem(IDC_GBOX_APPEAR, this);
 m_groupSort.SubclassDlgItem(IDC_GBOX_SORT, this);
 m_groupColor.SubclassDlgItem(IDC_GBOX_COLOR, this);

// Set control resizing.
 SetResize(IDC_PROPERTY_GRID, SZ_TOP_LEFT, SZ_BOTTOM_RIGHT);
// 
  SetResize(IDC_GBOX_APPEAR,       SZ_TOP_RIGHT, SZ_TOP_RIGHT);
    SetResize(IDC_CHK_TOOLBAR,       SZ_TOP_RIGHT, SZ_TOP_RIGHT);
  SetResize(IDC_CHK_HELP,          SZ_TOP_RIGHT, SZ_TOP_RIGHT);
 SetResize(IDC_CHK_VERBS,         SZ_TOP_RIGHT, SZ_TOP_RIGHT);
 SetResize(IDC_CHK_DOUBLE,        SZ_TOP_RIGHT, SZ_TOP_RIGHT);
 SetResize(IDC_CHK_TABITEMS,      SZ_TOP_RIGHT, SZ_TOP_RIGHT);
  SetResize(IDC_CHK_HIGHLIGHT,     SZ_TOP_RIGHT, SZ_TOP_RIGHT);
 SetResize(IDC_COMBO_THEME,       SZ_TOP_RIGHT, SZ_TOP_RIGHT);
   SetResize(IDC_GBOX_SORT,         SZ_TOP_RIGHT, SZ_TOP_RIGHT);
    SetResize(IDC_SORT_CATEGORIES,   SZ_TOP_RIGHT, SZ_TOP_RIGHT);
 SetResize(IDC_SORT_ALPHABETICAL, SZ_TOP_RIGHT, SZ_TOP_RIGHT);
  SetResize(IDC_SORT_NOSORT,       SZ_TOP_RIGHT, SZ_TOP_RIGHT);
    SetResize(IDC_GBOX_COLOR,        SZ_TOP_RIGHT, SZ_TOP_RIGHT);
  SetResize(IDC_CHK_CUSTOMCOLORS,  SZ_TOP_RIGHT, SZ_TOP_RIGHT);
  SetResize(IDC_BUTTON_SWITCHSTATE,  SZ_TOP_RIGHT, SZ_TOP_RIGHT);
  SetResize(IDC_COMBO_BORDER,      SZ_TOP_RIGHT, SZ_TOP_RIGHT);
   SetResize(IDC_CHECK_SHOWBUTTONS, SZ_TOP_RIGHT, SZ_TOP_RIGHT);
   SetResize(IDC_CHK_RIGHTTOLEFT, SZ_TOP_RIGHT, SZ_TOP_RIGHT);

// Load window placement
 AutoLoadPlacement(_T("PropertyGridSample"));

m_cmbTheme.AddString(_T("xtpGridThemeDefault"));
  m_cmbTheme.AddString(_T("xtpGridThemeNativeWinXP"));
  m_cmbTheme.AddString(_T("xtpGridThemeOffice2003"));
  m_cmbTheme.AddString(_T("xtpGridThemeCool"));
  m_cmbTheme.AddString(_T("xtpGridThemeSimple"));
  m_cmbTheme.AddString(_T("xtpGridThemeDelphi"));
  m_cmbTheme.AddString(_T("xtpGridThemeWhidbey"));
  m_cmbTheme.AddString(_T("xtpGridThemeOfficeXP"));
  m_cmbTheme.AddString(_T("xtpGridThemeOffice2007"));
  m_cmbTheme.SetCurSel(0);
 
  m_cmbBorder.AddString(_T("xtpGridBorderNone"));
  m_cmbBorder.AddString(_T("xtpGridBorderFlat"));
  m_cmbBorder.AddString(_T("xtpGridBorderStaticEdge"));
  m_cmbBorder.AddString(_T("xtpGridBorderClientEdge"));
  m_cmbBorder.SetCurSel(3);

return TRUE;  // 除非设置了控件的焦点,否则返回 TRUE
}

转自:http://blog.csdn.net/joji_h/article/details/3664776

XTP(Xtreme ToolkiPro)2007 Vol 2 (11.2.1) 使用心得 No.1 CXTPPropertyGrid类测试相关推荐

  1. 最热网友收藏:ASP.net 2.0资料吐血收藏(2007年第11周)

    2007年第11周最热网友收藏 ASP.net 2.0资料吐血收藏 - mengyao||Andy 路鑫 Dotnet World - CSDNBlog(74),共76人收藏,fox_ling首先收藏 ...

  2. 番外11:使用ADS对射频功率放大器进行非线性测试3(使用带宽5MHz的WCDMA信号进行ACLR测试)

    番外11:使用ADS对射频功率放大器进行非线性测试3(使用带宽5MHz的WCDMA信号进行ACLR测试) 其他测试: 番外9:使用ADS对射频功率放大器进行非线性测试1(以IMD3测试为例) 番外10 ...

  3. 习题 11.9 分别定义Teacher(教师)类和Cadre(干部)类,采用多重继承方式由这两个类派生出新类Teacher_Cadre(教师兼干部)类。

    C++程序设计(第三版) 谭浩强 习题11.9 个人设计 习题 11.9 分别定义Teacher(教师)类和Cadre(干部)类,采用多重继承方式由这两个类派生出新类Teacher_Cadre(教师兼 ...

  4. ubuntu系统声音_今日热闻 | 小米11有望首发骁龙875、折叠iPhone测试、新规禁止网购忽悠打折、印度真米粉、M1 Mac运行Ubuntu...

    今日热点新闻 曝小米11有望首发骁龙875 据数码博主 @数码闲聊站爆料,小米 11(暂命名)已经送往备案,有望在下个月官宣,现在已开始产能爬坡. 高通的骁龙技术峰会,届时有望正式发布骁龙 875 旗 ...

  5. 学习笔记:C++进阶【继承、多态、二叉树进阶、map和set、哈希、C++11、异常、智能指针、特殊类设计、C++的类型转换】

    文章目录 前言 一.继承 1. 继承的概念及定义 1.1 继承的概念 1.2 继承的定义 1.2.1 定义格式 1.2.2 继承关系和访问限定符 1.2.3 继承基类成员访问方式的变化 2. 基类和派 ...

  6. python(11)—— 面向对象编程基础(对象,类,属性,封装,继承,多态)

    把一组数据结构和处理它们的方法组成对象(object),把相同行为的对象归纳为类(class),通过类的封装(encapsulation)隐藏内部细节,通过继承(inheritance)实现类的特化( ...

  7. 11.17定时调度(血干JAVA系类)

    定时调度 11.17.1 Timer 类 11.17.2 TimerTask 类 11.17.3范例--定时操作 [例11.52]建立TimerTask的子类 [例11.53]建立测试类,进行任务调度 ...

  8. [python进阶]11接口:从协议到抽象基类

    本章讨论的话题是接口:从鸭子类型的代表特征动态协议,到使接口更明确.能验证实现是否符合规定的抽象基类(Abstract Base Class,ABC). 首先,本章说明抽象基类的常见用途:实现接口时作 ...

  9. C++ 11 新特性(十四)C++类

    (一)综述:类是我们自己定义的数据类型 设计时要考虑的角度: 站在设计和实现的角度来考虑: 站在使用者的角度考虑: 父类,子类之间的考虑: (二)explicit 首先, C++中的explicit关 ...

最新文章

  1. 人工智能学习框架TensorFlow必须掌握和了解的数学基础
  2. 从Q4财报,看有道如何实现从在线教育“迷途”中脱身?
  3. php函数表达式,正规表达式函数_php
  4. boost::system::error_condition相关的测试程序
  5. java实现ftp文件的上传与下载
  6. 上班能赚到第一桶金吗?
  7. excel mac 水晶球_水晶球软件使用crystalball.pptx
  8. 希捷2t服务器硬盘是什么盘,希捷酷鱼2T 3.5寸硬盘晒单以及小白安装应该避免的坑...
  9. 连接计算机硬盘usb,使用移动硬盘时电脑显示:“如果您将此USB设备连接到高速USB2.0端口,可以提升其性能”...
  10. 大聪明教你学Java | 没有绝对安全的系统
  11. 如何绘制日式厚涂插画_厚涂样式
  12. 花椒六间房“花房之夜”落幕 全新升级不止心动
  13. win 10 显示未识别网络的 一种解决办法
  14. ios 各种动画机制
  15. 复数矩阵求逆的 C 语言程序
  16. 蚂蚁金服二面————终结
  17. 用python画雪花 科赫曲线递归_【TCE的编程小讲堂】【Python】【第三期】如何画出科赫雪花?(下)...
  18. P1983 [NOIP2013 普及组] 车站分级——拓扑排序+dp
  19. 企业如何有效制定企业信息化发展规划?(附信息化模板)
  20. 联想电脑,Windows11系统,键盘突然无法输入

热门文章

  1. 权限管理——RBAC模型总结
  2. SpringCloud学习记录 | 第十篇:Hystrix DashBoard 实时图像监控界面(豪猪哥)
  3. php如何登陆后才能看见,让WordPress的作者在后台只能看到自己的文章
  4. Windows响应“网络错误-1326”。
  5. 曝光Facebook内部高效工作PPT指南
  6. nit计算机作业表格,适用全国计算机应用技术证书考试(NIT)计算机技能培训――电子表格处理教程(Excel97)...
  7. 联想电脑切换大小写键盘CapsLK时,出现提示小图标,“显示或者关闭显示大写锁定”、“中英文切。
  8. 分享一篇python常用库
  9. 清华大学计算机学院电话,清华大学
  10. 大学期间应该参加的考试——软考