VC雕虫小技集(七)

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点上
就分成三组了
与焦点顺序有关

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值