VC++类库函数浅谈

Vc++函数说明

1.LoadIcon(加载图形形状) HIcon LoadIcon( HInSTAncE hInstance, LPcTSTR lpIconname ); 参数

hInstance

[in] 程序实例。可以设置为nULL,即为本程序实例。 lpIconname

[in] 图标资源名,使用 MAKEInTRESoURcE 宏创建值。如果使用内置图标,设置 hInstance 为nULL并且使用下面其中一个值。

IDI_APPLIcATIon 默认应用程序图标. IDI_ASTERISK Same as IDI_InFoRMATIon. IDI_ERRoR Hand-shaped icon. IDI_EXcLAMATIon Same as IDI_WARnInG. IDI_HAnD Same as IDI_ERRoR. IDI_InFoRMATIon Asterisk icon. IDI_QUESTIon Question mark icon. IDI_WARnInG Exclamation point icon. IDI_WInLoGo Windows logo icon. Windows XP: Default application icon. 返回值

如果函数成功执行,则返回图标句柄。如果函数执行失败,则返回nULL。可以通过GetLastError 获得错误信息。

2.Loadcursor(加载光标形状) HcURSoR Loadcursor( HInSTAncE hInstance, LPcTSTR lpcursorname); 参数

hInstance

[in] 程序实例。可以设置为nULL,即为本程序实例。 lpcursorname

[in] 光标资源名,使用 MAKEInTRESoURcE 宏创建值。如果使用内置光标,设置 hInstance 为nULL并且使用下面其中一个值。 IDc_APPSTARTInG Standard arrow and small hourglass IDc_ARRoW Standard arrow IDc_cRoSS crosshair IDc_HAnD Windows 98/Me, Windows 2000/XP: Hand IDc_HELP Arrow and question mark IDc_IBEAM I-beam IDc_Icon obsolete for applications marked version 4.0 or later. IDc_no Slashed circle IDc_SIZE obsolete for applications marked version 4.0 or later. Use IDc_SIZEALL. IDc_SIZEALL Four-pointed arrow pointing north, south, east, and west IDc_SIZEnESW Double-pointed arrow pointing northeast and southwest IDc_SIZEnS Double-pointed arrow pointing north and south IDc_SIZEnWSE Double-pointed arrow pointing northwest and southeast IDc_SIZEWE Double-pointed arrow pointing west and east IDc_UPARRoW Vertical arrow IDc_WAIT Hourglass Vc++函数说明 2013-4-5 - 2 -

返回值

如果函数成功执行,则返回光标句柄。如果函数执行失败,则返回nULL。可以通过GetLastError 获得错误信息。

Vc++函数说明 2013-4-5 - 3 -

3.MFc基础知识总结 1.列表视图控件: clistctrl类的用法:

1.常规操作函数:它们可以完成向列表视图中插入新条目或新列等操作。 ISubItem-指定条目子索引项

BooL DeleteAllItems()删除列表控件中所有条目

int Insertcolumn(int ncol,const LVcoLUMn * pcolum)插入新列 操作成功返回新列索引 ncol-----指定新列索引。

pcolum---为LVcoLUMn结构指针,包含将插入的信息。 LVcoLUMn结构

例:m_Listctrl.Insertcolumn( 0, _T( \所有匹配的单词\

int InsertItem(const LVITEM *pItem)调用该函数以向列表中插入新条目 返回新条目索引值。

pItem-------为LVITEM结构,其中包含了将插入的条目信息,列表控制中包含两个非常重要的数据结构LV_ITEM和LV_coLUMn。LV_ITEM用于定义列表控制的一个表项,LV_coLUMn用于定义列表控制的一个表列。

例:m_Listctrl.InsertItem( 0, WordSet.m_Word );//数据项 cString s;

s.Format(\//格式化

//int InsertItem(i,s,0)调用该函数以向列表中插入新条目 返回新条目索引值 //相当于插入新的一行 数字代表列数 m_Listctrlx.InsertItem(i,s,0);

EnsureVisible---调用该函数以确保指定的列表视图条目可见,其原型为: BooL EnsureVisible(int nItem,BooL bPartialoK) 返回值:

nItem:指定了必须可见的条目索引。 bPartialoK:指定了是否允许部分可见。

列表视图控件将在必要时进行滚动,以确保指定条目可见。如果bPartialoK参数为非零值,则当条目部分可见时,列表视图控件不进行滚动。

2。属性操作函数:它们可以完成对列表视图控件的属性的设置和查询等操作。 DWoRD SetExtendedStyle(DWoRD dwnewStyle) //先设计列表风格 如果函数调用成功,则返回列表视图控件先前所使用的扩展风格。

LVS_EX_FULLRoWSELEcT-----对列表视图中的项目进行整行选择,即选择某条目时,该条目的所在行都被选择。

LVS_EX_GRIDLInES----将在列表视图控件中绘制网格线0x21。

例:m_Listctrl.SetExtendedStyle( LVS_EX_GRIDLInES );//将在列表视图控件中绘制网格线0x21。 PoSITIon GetFirstSelectedItemPosition() const 如果函数执行成功,则返回条目的PoSITIon值,如果返回值为nULL,则表示当前列表视图控件中没有条目选中。

Int GetnextSelectedItem(PoSITIon& pos) const 如果函数执行成功,则返回列表视图控件中下一个被选中的条目索引。其中参数pos为将接收条目PoSITIon值的变量。 BooL SetcolumnWidth(int ncol,int cx)

调用该函数以设置报表视图或列表视图中指定列的宽度。 ncol----指定了将被设置宽度的列索引。 cx-------指定了列的新宽度。

Int GetItemText(int nItem, int nSubItem,LPTSTR lpszText,int nLen) const; cString GetItemText(int nItem, int nSubItem) const;

对于int,其返回值为所指定的文本长度;对cString,其返回值为包含条目文本的cString对象。 nItem--------指定将被获取文本的条目索引

nSubItem---------指定了将被获取文本的条目子项的索引。 lpszText---------将返回条目文本的缓冲区指针。

Vc++函数说明 2013-4-5 - 4 -

nLen----------指定lpszText缓冲区的长度。

如果nSubItem为0,则函数将获取条目的标签,nSubItem不为0,将获取指定条目子项的文本。 例: BooL SetItemText(int nItem, int nSubItem,LPTSTR lpszText); 如果函数调用成功,则返回非零值,否则返回零值。 nItem--------指定将被设置的条目索引

nSubItem---------指定了将被设置文本的条目子项的索引。 lpszText---------指定了将被设置的新条目文本。 例:char szTemp[27] = { "\\0" };//缓冲区

PoSITIon Pos = m_Listctrl.GetFirstSelectedItemPosition(); if ( Pos == nULL ) return;

int ncurIndex = m_Listctrl.GetnextSelectedItem( Pos ); m_Display.Empty();//文本编辑框

m_Listctrl.GetItemText( ncurIndex, 0, szTemp, 26 );

cImageList:图像列表

cImagelist* GetImageList(int nImageList) const;

如果函数执行成功,则返回列表视图控件的图像列表指针。 nImageList----指定了将获得的图像列表类型。 LVSIL_noRMAL---获取大图标图像列表指针 LVSIL_SMALL--获取小图标图像列表指针 LVSIL_STATE--获取状态图像列表指针

cImageList* SetImageList(cImageList* pImageList,int nImageList); 如果函数执行成功,返回先前的图像列表指针

参数: pImageList--指定了要设置的图像列表指针 nImageList--指定了要设置的图像列表类型

coLoRREF GetBkcolor() const; 调用该函数获得列表视图控件的背景颜色。 函数执行成功,返回32位RGB值

BooL SetBkcolor (coLoRREF cr); 调用该函数设置列表视图控件的背景颜色。 函数执行成功,返回非零值,否则返回零值。

cHeaderctrl* GetHeaderctrl(); 调用改函数以得到列表视图控件的标头控件指针 函数调用成功,返回列表视图控件所使用的标头控件指针 例: m_imagelist.create(16,16,TRUE,2,2);

m_imagelist.Add(AfxGetApp()->LoadIcon(IDI_YES)); m_imagelist.Add(AfxGetApp()->LoadIcon(IDI_no));

m_list.SetImageList(&m_imagelist,LVSIL_SMALL); m_list.SetExtendedStyle(0x21);

m_list.SetFont(&m_font1);//设置全部字体

// m_list.GetHeaderctrl()->SetFont(&m_font1);//只设置标头控件的字体 //以下函数与文本有关

m_list.SetBkcolor(RGB(247,247,0));

m_list.SetTextcolor(RGB(255,255,255));//设置列表视图控件的文本颜色 m_list.SetTextBkcolor(RGB(0,0,255));//设置列表视图控件中文本背景色 m_iImageList.create(24, 24, TRUE,1, 0); HIcon hIcon = nULL;

hIcon = (HIcon)::LoadImage(::AfxGetInstanceHandle(),

MAKEInTRESoURcE(IDI_KEBIAo), IMAGE_Icon, 24, 24, 0); m_iImageList.Add(hIcon);

m_FileTree.SetImageList ( &m_iImageList,TVSIL_noRMAL );

Vc++函数说明 2013-4-5 - 5 -

----------------------事例---------------------------------- 实现排序: BooL m_Bs;

BooL m_bIsAsc;//互斥信号量:true升序 反之降序 cDRecordset m_Set;

void Sort(BooL isAsc=TRUE,int secol=1); void cBaDialog::Sort(BooL isAsc,int secol) { if(m_Set.Isopen()) m_Set.close();

this->Select(); //打开所选择数据表

m_bSet.close();//只对m_Set数据标排序 所以关闭m_bSet coDBcFieldInfo fieldInfo;

m_Set.GetoDBcFieldInfo(secol,fieldInfo);//返回纪录集中字段的特定种类的信息 即所选择的信息 if(isAsc)//实现排序功能

{ m_Set.m_strSort=fieldInfo.m_strname+\ m_bIsAsc=TRUE; } else

{ m_Set.m_strSort=fieldInfo.m_strname+\ m_bIsAsc=FALSE; } m_Set.Requery(); } //单击索引

void cBaDialog::oncolumnclickList3(nMHDR* pnMHDR, LRESULT* pResult) { nM_LISTVIEW* pnMListView = (nM_LISTVIEW*)pnMHDR;//系统自动生成 // ToDo: Add your control notification handler code here if(FALSE== m_bS)

{ int k= pnMListView->iSubItem; //鼠标单击选择第几行 Sort(!m_bIsAsc, k);

m_Listctrlx.DeleteAllItems();

this->Show();/*把数据库学生的数据表内容显示*/ } *pResult = 0; } 右键单击事件

void cccDlg::onRclickList1(nMHDR* pnMHDR, LRESULT* pResult) { // ToDo: Add your control notification handler code here

PoSITIon pos = m_list.GetFirstSelectedItemPosition(); //得到当前选中的行 if(pos)

{ int nItem = m_list.GetnextSelectedItem(pos); cPoint pt;

::GetcursorPos(&pt); cofficeXPMenu m_menu;

m_menu.LoadMenu(IDR_MEnU_LIST);

cofficeXPMenu::SetType(TYPE_XP); //设置菜单的风格,(TYPE_XP, TYPE_noRMAL) cofficeXPMenu *psub = (cofficeXPMenu *)m_menu.GetSubMenu(0); DWoRD dwID =psub->TrackPopupMenu(TPM_RIGHTBUTTon,pt.x,pt.y ,this); m_menu.DestroyMenu(); } *pResult = 0; }

列表双击事件(实现在编辑框中显示内容) // 双击则显示显示信息

void cListItemDlg::onDblclkList(nMHDR* pnMHDR, LRESULT* pResult) { cWordDaoSet WordSet; cString strSQL;

来源:https://www.weidianyuedu.com

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值