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();

binlcude 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, 我有6Radio Box如何分成3

将三个Radio Box Group点上

就分成三组了

与焦点顺序有关


相关文章
|
7月前
|
数据安全/隐私保护
|
7月前
|
Windows
|
6月前
|
编译器 C语言
【C语言航路外传】一招解决visual studio部分函数不安全问题
【C语言航路外传】一招解决visual studio部分函数不安全问题
48 0
|
7月前
|
编译器
|
7月前
|
C语言
|
7月前
|
存储 开发工具
|
11月前
|
编译器 C语言 C++
静态链接库,动态链接库【滴水逆向三期48笔记】(下)
静态链接库,动态链接库【滴水逆向三期48笔记】(下)
|
11月前
|
编译器 C++
静态链接库,动态链接库【滴水逆向三期48笔记】(上)
静态链接库,动态链接库【滴水逆向三期48笔记】