VC编程要点总结1
1?
模態對話框根據點擊按鈕進行處理;
int nResponse = dlg.DoModal();
if (nResponse == IDOK)
{
}
else if (nResponse == IDCANCEL)
{
}
載入圖標資源
m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
在系統菜單中添加一項(窗口左上角圖標單擊出的菜單)
CMenu* pSysMenu = GetSystemMenu(FALSE);
if (pSysMenu != NULL)
{
?? ?CString strAboutMenu;
?? ?strAboutMenu.LoadString(IDS_ABOUTBOX);
?? ?if (!strAboutMenu.IsEmpty())
?? ?{
?? ??? ?pSysMenu->AppendMenu(MF_SEPARATOR);
?? ??? ?pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);
?? ?}
}
從靜態文本框繼承一個類,繼承類的消息映射
BEGIN_MESSAGE_MAP(CStaticRectangle, CStatic)
?? ?//{{AFX_MSG_MAP(CStaticRectangle)
?? ?ON_WM_PAINT()
?? ?ON_WM_TIMER()
?? ?ON_WM_ERASEBKGND()
?? ?//}}AFX_MSG_MAP
END_MESSAGE_MAP()
2?
VC支持自定義資源類型(Custom Resource),
自定義的資源的用途
1.默認的皮膚壓縮包或語言包。
2.做為一些病毒/木馬程序的寄生方式。
3.合并EXE與它所需要的DLL文件。
4.其它需要;在程序中播放一個AVI動畫等,都可以通過將二進制的數據文件作為自定義資源加入到可執行文件中來實現;
添加資源時選擇自定義,IDE會為你生成一個新的二進制資源;
FindResource用來在一個指定的模塊中定位所指定的資源;
LockResource用來鎖定內存中的資源數據塊,它的返回值就是要使用的指向資源數據的內存指針;
用SizeofResource來確定資源的尺寸;
3
CButtonST
CButtonST是一個功能最全的CButton派生類。
CButtonST類的一些信息,
作者:Davide Calabro
主頁:http://www.softechsoftware.it
CButtonST類主要包括BtnST.h、BtnST.cpp、BCMenu.h和BCMenu.cpp四個文件。如果你打算使用CButtonST的窗口不止一個,那么可以在VC++的Workspace | FileView中導入以上的四個文件之后,然后在SdtAfx.h文件中添加合適的include語句,如#include "BtnST.h"。
在按鈕上加入Icon,使Icon和文字同時顯示
假設按鈕ID為IDC_BUTTON1
1. 添加成員變量
CButtonST ? m_btn;
2. 添加Icon資源,設其ID設為IDI_ICON1
3. 在OnInitDialog函數中初始化按鈕
m_btn.SubclassDlgItem(IDC_BUTTON1,this);
m_btn.SetIcon(IDI_ICON1);
m_btn.SetFlat(FALSE);
為達到最好效果,請根據Icon的大小調整按鈕的大小。
顯示平面按鈕
只需要把m_btn.SetFlat(FALSE)語句去掉。
使按鈕上的圖標可變
假設按鈕ID為IDC_BUTTON1
1. 添加成員變量
CButtonST ? m_btn;
2. 添加兩個Icon資源,ID設為IDI_ICON1和IDI_ICON2
IDI_ICON1是普通狀態的圖標,IDI_ICON2是按下時的圖標
3. 在OnInitDialog函數中初始化按鈕
m_btn.SubclassDlgItem(IDC_BUTTON1,this);
m_btn.SetIcon(IDI_ICON2,IDI_ICON1);
?
總結
- 上一篇: asp.net 表单总结
- 下一篇: json要点和实例