…… ListView / ListCtrl 的使用就方便多了,一大批 ListView_ 开头的函数,任君选择。
?
2.3、TabCtrl,也就是所谓的分页控件
分两步,第一步是初始化
?
#include
hwndTab = GetDlgItem();
hwndChild[0] = CreateDialog();
hwndChild[1] = CreateDialog();
TCITEM ti = { 0 };
ti.mask = TCIF_TEXT;
ti.cchTextMax = MAX_PATH;
ti.pszText = TEXT("tab1");
TabCtrl_InsertItem(hwndTab, 0, &ti);
ti.pszText = TEXT("tab2");
TabCtrl_InsertItem(hwndTab, 1, &ti);
第二步,处理WM_NOTIFY消息
case WM_NOTIFY:
if (((LOWORD(wParam)) == IDC_TAB_MAIN) && (((LPNMHDR)lParam)->code == TCN_SELCHANGE))
{
for(int i=0; i
简单方便。
2.4、任务栏进度条
?
这个的实现比较麻烦,我放在云盘,需要的点此下载 有两个压缩包,组件可以直接拿来用,源码可以看看实现方法。另外,XP和Vista就不要试了,系统都没有这个接口的。 2.5、其他Windows常用控件
写一行代码:
?
#include <windowsx.h>
然后点进去,其他该有的都有了,比如RadioButton、CheckBox等等。并不代表所有的都有,SDK界面开发等待着你的发掘。
3、C++/SDK 调用 Gdiplus
有了标准控件,总不能没有绘图吧?GDI太渣,又麻烦又复杂又不支持png还有锯齿。我在这儿简要说说如何引用Gdiplus。
?
首先,头文件和库别少,命名空间可以不引用,看个人爱好
?
#include
#pragma comment(lib, "gdiplus.lib")
using namespace Gdiplus;
然后,下面代码霸气甩进WinMain开头
?
?
ULONG_PTR gdiplusToken;
GdiplusStartupInput gdiplusStartupInput;
GdiplusStartup(&gdiplusToken, &gdiplusStartupInput, NULL);
最后,下面代码霸气甩进WinMain返回前
GdiplusShutdown(gdiplusToken);
介绍的差不多了。 Win32 博大精深,如有遗漏之处欢迎指正。
?