Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1612946
  • 博文数量: 585
  • 博客积分: 14610
  • 博客等级: 上将
  • 技术积分: 7402
  • 用 户 组: 普通用户
  • 注册时间: 2008-05-15 10:52
文章存档

2013年(5)

2012年(214)

2011年(56)

2010年(66)

2009年(44)

2008年(200)

分类: C/C++

2012-01-27 03:31:22

VC雕虫小技集(七)
分类: 2.3 VC技巧收集 100人阅读 评论(0) 收藏 举报

VC雕虫小技集(七)
何志丹

1,图片控件 
右键属性 type : bitmap
你直接选image也行
IDB_BITMAP1位图的ID
m_ctrl 是与图片控件相关联的控制型变量
void CDlg2Dlg::OnButton1()
{
    CBitmap bitmap1;
    bitmap1.LoadBitmap(IDB_BITMAP1);
    m_ctrl.SetBitmap(bitmap1);
}
void CDlg2Dlg::OnButton2()
{
    CBitmap bitmap2;
    bitmap2.LoadBitmap(IDB_BITMAP2);
    m_ctrl.SetBitmap(bitmap2);
}

2, 什么我给控件赋变量时看不到cortrol ID? 
1,单选按钮,把group钩上.
2,静态控件把ID改成非IDC_STATIC.

3, 大小键盘的ascll码 
0-9 不同,但+,-相同.

4,显示键盘输入的字符,尽量避免闪烁
 
void CSdiView::OnChar(UINT nChar, UINT nRepCnt, UINT nFlags)
{
    CDC * pDC = GetDC();
    StringData += nChar;
    CRect r(0,0,0,0);
    pDC->DrawText(StringData,&r,DT_LEFT|DT_CALCRECT);
    InvalidateRect(r);
    CView::OnChar(nChar, nRepCnt, nFlags);
}
void CSdiView::OnDraw(CDC* pDC)
{
    pDC->DrawText(StringData,CRect(0,0,1000,1000),DT_LEFT);
}

5,对话框A domodal()出一个对话框B,点击B一个按钮以后,要求调用A的类中的一个函数。
 
在b的响应函数中处理:
((A *)GetParent())->fun();
在b中inlcude A所在的文件

6, 删除文件夹及包含的文件 
#include
void DeleteDirFile(CString sPath)
{
    WIN32_FIND_DATA fd;
    HANDLE hFind = ::FindFirstFile(sPath + "*.*",&fd);
    if (hFind != INVALID_HANDLE_VALUE)
    {
        while (::FindNextFile(hFind,&fd))
        {
            //判断是否为目录
            if (fd.dwFileAttributes&FILE_ATTRIBUTE_DIRECTORY)
            {
            CString name;
            name = fd.cFileName;
            //判断是否为.和..
            if ((name != ".") && (name != ".."))
            {
            //如果是真正的目录,进行递归
            DeleteDirFile(sPath + fd.cFileName + "//");
            }
        }
    }
    else
        DeleteFile(sPath + fd.cFileName);
    
    ::FindClose(hFind);
    }
    RemoveDirectory(sPath);
}



7, 改变控件字体的大小 
LOGFONT logfont;
CFont *pfont = m_ctrShowMessage.GetFont();
pfont->GetLogFont( &logfont );
logfont.lfHeight =logfont.lfHeight * 1.5;
logfont.lfWidth = logfont.lfWidth * 1.5;
CFont font;
font.CreateFontIndirect(&logfont);
m_ctrShowMessage.SetFont(&font);

8, 想用classwizard新建一个类,但发现baseclass一栏中没有我要的基类(CObList类)
 
class type : Generic
自己输入

9, CTypedPtrList lineList; 
为什么VC报错:
c:/程序/scribble/scribbledoc.h(50) : error C2143: syntax error : missing ';' before '<'
# include "afxtempl.h"
是字符 l,不是数字1

10, 不提示成员函数,怎么办?
 
CString s1="dfdsf";
s1.
试一下以下三种方法:
1, Build->Clean, Build->ReBuildAll.
2,手动删除*.ncb
3,安装辅助工具vc_assist6

11, 我有6个Radio Box如何分成3组 
将三个Radio Box的 Group点上
就分成三组了
与焦点顺序有关

阅读(446) | 评论(0) | 转发(0) |
0

上一篇:编程技巧20法 (上)

下一篇:2012-01-27

给主人留下些什么吧!~~