windows SDK编程基础-Button类的封装 .
来源:互联网 发布:ML算法CSDN博客 编辑:程序博客网 时间:2024/06/05 18:58
我想学好用C编写软件,但是C的知识一直不无法深入,C++也是一知半解,
我希望我能静下心下,用心学习一段时间,先不要去学基础的语法知识,太枯燥。没效果。
也不要去学什么算法和数据结构,用不到。不要应为这些东西很高深,就去装深沉。
我希望我能从我最感兴趣的方面入手学习。
我希望我能找到让自己感兴趣的学习方法。
那就老老实实做一个按钮,总行了吧。
按钮是一个很基本的控件,但是要精通,却不是一个容易的事。
比例图片按钮,变色按钮,鼠标放上去会变图的按钮,圆的按钮,透明的按钮,要实现这些功能,却要学习其它好多的相关知识。
虽是一个小东西,但是却包含windows编程的精要。现在还要学习基础的吧:
Button的种类:
1.Push button基本按钮
2.Check Box 复选框
3.Radio Box单选框
4.GroupBox 组合框
按钮的实现有2常用的方法,一种是CreateWindow函数,一程是用资源来创建。我的TButton类当然要实现这2个功能。
1.用资源画的按钮,这个功能很方便,平时都用资源拖一个按钮,很方便。我打算放在TButton类的构造函数中实现:
PushButton类的定义:
Class TButton{ private: HWND m_hwnd;//本身的窗口句柄};
PushButton类的实现
TButton::TButton(HWND hParan,UINT IDD)//传入窗口名柄和资源ID:m_hParent(hParan), m_idButton(IDD){ m_hButton = GetDlgItem(m_hParent,m_idButton);//获取这个按扭的句柄}
so ,我在创建按钮类时,可以使用以下代码来生成一个TButton类,
TButton *Button1(m_hwnd,IDC_BUTTON1);
m_hwnd表示父亲窗口,IDC_BUTTON表示资源模板中创建的ID标识。
in this case 我要在我的TWnd 类中放一个按钮类成员,is so easy.
我的TWnd类,使用Create创建非模态窗口,用DoModal创建一个模状窗口,
需要在WM_INITDIALOG消息中初始化这些按钮控件,应为在2个函数之前,窗口还没有生成,所以只好再创建一个函数:
TWnd::OnInitCompoent()
在这个函数中初始化TButoon 成员类,TButton1 = new (m_hwnd,IDC_BUTTON_TEST);
在完成这个最简单的功能后,要实现一个最常用的功能,那就是设置按钮的文本和获取按钮的文件,加2个函数:
.设置按钮的文本,调用SetWindowText()API,可以很方便的实现
void SetText(LPCTSTR strCaption){ SetWindowText(strCaption); }
- windows SDK编程基础-Button类的封装 .
- windows SDK编程基础-窗口类的封装
- windows的sdk编程
- NB封装的Button按钮类
- Button的简单封装
- 浅析MFC是如何封装 Windows SDK的~
- Windows SDK编程基础3 窗口示例程序
- Windows SDK编程(Delphi版) 之 应用基础,楔子
- windows sdk编程遇到奇怪的问题
- Windows编程(6)|SDK的GDI
- linux网络编程封装的基础函数
- Windows SDK编程初探
- Windows SDK编程初探
- windows SDK 编程架构
- Windows SDK编程初探
- Windows SDK编程初探
- sdk windows 编程
- Windows编程(1)|SDK
- WPF计时器
- C++中的文件输入输出操作
- Gtk-WARNING **: cannot open display: :0.0之解决
- 利用shell脚本查询访问次数最多的100条记录
- 用CImage类来显示PNG、JPG等图片
- windows SDK编程基础-Button类的封装 .
- vsftpd-2.3.4服务器在ok6410开发板上的移植
- 手把手教用XNA开发WINPHONE7游戏2
- MATLAB将指定目录添加到动态库路径中
- cbdata
- get( )与getline( )区别
- Mplayer1.0在ok6410开发板上的移植(多版本交叉编译器)
- php如何判断用户通过手机wap访问还是电脑直接访问
- heap是堆--stack是栈,莫混了!