`
soboer
  • 浏览: 1318655 次
文章分类
社区版块
存档分类
最新评论

VC中一些控件的小技巧

 
阅读更多

1.让List Control有Check Box
用SetExtendedStyle方法可以设置,看代码:
(CListCtrl m_ListCtrl;)

DWORDdwStyle=m_ListCtrl.GetStyle();
dwStyle
|=LVS_EX_CHECKBOXES;
m_ListCtrl.SetExtendedStyle(dwStyle);

2.让List Box有Check Box
首先,声明Control变量的时候用CCheckListBox代替CListBox。
然后,将List Box的Has Strings属性改为True;把Ower Draw属性改为Fixed。

3.Spin Control与Edit Control的绑定
首先,要让Spin Control的Tap Order紧跟着Edit Control(就是说,Spin Control的Tap Order是Edit Control的Tap Order加1)。
然后,设置Spin Control的Auto Buddy和Set Buddy Integer属性为True。

4.可以设置背景和文字颜色的Static控件
从CStatic类继承一个自己的Static类,相应WM_CTLCOLOR消息。下面是代码:
.h文件:

classClxStatic:publicCStatic
{
DECLARE_DYNAMIC(ClxStatic)
public:
ClxStatic();
virtual~ClxStatic();

afx_msgHBRUSHCtlColor(CDC
*/*pDC*/,UINT/*nCtlColor*/);

voidSetBackColor(COLORREFclrBack);
voidSetTextColor(COLORREFclrText);

protected:
DECLARE_MESSAGE_MAP()

CBrushm_brushBack;
COLORREFm_clrBack;
COLORREFm_clrText;
};

.cpp文件:

IMPLEMENT_DYNAMIC(ClxStatic,CStatic)
ClxStatic::ClxStatic()
{
m_clrBack
=::GetSysColor(COLOR_BTNFACE);
m_clrText
=::GetSysColor(COLOR_BTNTEXT);
}

ClxStatic::
~ClxStatic()
{
}

voidClxStatic::SetBackColor(COLORREFclrBack)
{
m_clrBack
=clrBack;
}

voidClxStatic::SetTextColor(COLORREFclrText)
{
m_clrText
=clrText;
}

BEGIN_MESSAGE_MAP(ClxStatic,CStatic)
ON_WM_CTLCOLOR_REFLECT()
END_MESSAGE_MAP()

HBRUSHClxStatic::CtlColor(CDC
*pDC,UINT/*nCtlColor*/)
{
//TODO:ChangeanyattributesoftheDChere
m_brushBack.Detach();
m_brushBack.CreateSolidBrush(m_clrBack);

pDC
->SetBkColor(m_clrBack);
pDC
->SetTextColor(m_clrText);

//TODO:Returnanon-NULLbrushiftheparent'shandlershouldnotbecalled
//returnNULL;
return(HBRUSH)m_brushBack.GetSafeHandle();
}

5.在Static控件中显示BMP
首先,给Static控件添加一个Control变量(ID要改了以后才能添加变量,也就是说ID不能为IDC_STATIC),本例为m_staticTest。
然后,用ModifyStyle函数修改Static控件的Style,让它可以显示图片:

m_staticTest.ModifyStyle(0,SS_BITMAP|SS_CENTERIMAGE);

最后,就是Load文件显示出来:

CRectrect;
m_staticTest.GetWindowRect(
&rect);

//下面的方法是按照Static控件的大小显示bmp,如果要安装图片实际大小显示,用这个方法Load图片:
//HBITMAPhBmp=(HBITMAP)::LoadImage(0,_T("D:/test.bmp"),IMAGE_BITMAP,0,0,LR_LOADFROMFILE);
HBITMAPhBmp=(HBITMAP)::LoadImage(0,_T("D:/test.bmp"),IMAGE_BITMAP,rect.Width(),rect.Height(),LR_LOADFROMFILE);

m_staticTest.SetBitmap(hBmp);
DeleteObject(hBmp);
分享到:
评论

相关推荐

    VC编程的一些小技巧

    在编程过程中总结的一些技巧:修改控件字体等与大家分享

    vc实例精通源码,windows基本控件的使用Demo

    示例描述:本章介绍在应用程序中使用Windows基本设备的方法和技巧。 01_MouseSample 处理鼠标消息。 02_KeyTest 处理键盘消息。 03_MouseMoving 利用客户区鼠标消息拖动无边框窗体。 04_NCMsg 利用非...

    MFC使用技巧大全和VC控件解析

    MFC使用技巧,适合入门学者,里面列举了40条小技巧,方便使用,VC控件解析,列举了常用控件的使用说明

    VC小技巧汇总之控件技巧

    本文搜集汇总了VC小技巧的控件技巧,对于进行VC开发来说有一定的借鉴价值,具体如下: 1.如何隐藏和显示控件 用CWnd类的函数BOOL ShowWindow(int nCmdShow)可以隐藏或显示一个控件。 例1: CWnd *pWnd; pWnd = ...

    jiqiao.rar_check VC_check box VC_vc list box_vc checklistvi_vc

    VC中一些控件的小技巧 1.让List Control有Check Box 2.让List Box有Check Box。。。

    VC .NET 实现窗口内控件自适应屏幕尺寸大小而变化.rar

    VC .NET 实现窗口内控件自适应屏幕尺寸大小而变化,这个具体点就是,窗口中的边框和按钮等元素,会随着窗口的变大自动变大,并保持原有的比例,调用了CSelfResizeWindow::Rectify()来实现,我觉得是个很实用的窗体...

    VC编程技巧精选,很不错

    一些VC编程的技巧 Visual C++编程技巧精选(缺57-67) 1. 如何获取应用程序的实例句柄? 2. 如何通过代码获得应用程序主窗口的指针? 3.如何在程序中获得其他程序的图标? 4.如何编程结束应用程序?如何编程控制windows的...

    VC++改变对话框中控件颜色

     VC++改变对话框中控件的颜色,并设置窗口属性为不可拖动改变大小,鼠标放在右下角窗体的边缘,也不会显示出可以拖动的标志,窗体固定显示为源代码中设置的大小,这都是一些VC++编程的小技巧,希望对学习VC的新手...

    VC与Labview、Matlab编程论文资料[2].rar

    这是VC与Labview、Matlab编程论文资料,全部为pdf格式,讲述有VC编程技巧、也有VC与Labview混合编程, VC与matlab混合编程,有365个,约500M,分成4个【独立】压缩包,如果想要全部的论文则需要下载全部压 缩包,...

    VC6风格界面

    ...................\VC控件 TreeCtrl 与 ListCtrl 演示.doc ...................\VC界面编程总结.doc ...................\VC编程中如何在界面上实现3D文字.doc ...................\VC编程实现IE风格的界面....

    VC与Labview、Matlab编程论文资料

    这是VC与Labview、Matlab编程论文资料,全部为pdf格式,讲述有VC编程技巧、也有VC与Labview混合编程, VC与matlab混合编程,有365个,约500M,分成4个【独立】压缩包,如果想要全部的论文则需要下载全部压 缩包,...

    VC与Labview、Matlab编程论文资料[4].rar

    这是VC与Labview、Matlab编程论文资料,全部为pdf格式,讲述有VC编程技巧、也有VC与Labview混合编程, VC与matlab混合编程,有365个,约500M,分成4个【独立】压缩包,如果想要全部的论文则需要下载全部压 缩包,...

    VC.rar_CView_vc 打印

    积累的VC编程小技巧之打印相关的一些详细的变成说明,是用来改变消息路由的。用了这段代码之后,CView中的消息(菜单,控件,子窗口)将先被CMyShape类来处理。不知道你要的是不是这样的效果。

    VC学习大纲 VC学习讲义

    Windows程序运行原理及程序编写流程,窗口产生过程,句柄原理,消息队列,回调函数,窗口关闭与应用程序退出的工作关系,使用VC++的若干小技巧,stdcall与cdecl调用规范的比较,初学者常犯错误及注意事项。...

    VC++常用功能实例

    ◆MFC中控件的一些基本控制方法◆ 19 ◆如何让一个数字型变量化为字符型变量◆ 19 ◆如何使用“拉动条”,“上下选择”◆ 19 ◆如何使用postmessage来异步触发某事件◆ 21 ◆如何使用Sendmessage来异步触发某事件◆ ...

    在VC.NET中使用滑块控件示例

    VC/C++源码,界面编程,滑块 中如何使用滑块控件的一个示例,用鼠标拖动滑动,下面所显示的滑块值将会改变,滑块的值一共20,每拖动一次滑块,这个值就会改变,正好演示了如何拖动滑块、如何取得滑块的对应值等小技巧...

    VC++在编辑框中追加文本

    摘要:VC/C++源码,控件相关,文本框  VC++在编辑框控件中追加文本内容,点击按钮即可将内容添加至指定的文本框中,是一个有效提升软件操作体验的小技巧,值得学习一下源代码的实现。

    VC 启动界面实例:可显示图片的关于窗口.rar

    VC 启动界面实例:可显示图片的关于窗口,有些朋友说,在VC的窗体里总是不容易控制图片,至少来说比较麻烦,其实挺简单啊,可能你还没有找到技巧,下面你就可以参考一下这个小程序,实例程序中一共包括两个功能, 一...

    神龙新一代控件5.7版

    小技巧,让你的神龙5代卡也支持MP3,WAV,安装DIVX解码器,然后安装神龙新一代部件。目录:divxpro502hh是DIVX解码器,安装请参看该目录下的使用说明文件。提供DELPHI,VB的演示程序源代码,请在安装目录打开工程...

Global site tag (gtag.js) - Google Analytics