CListBox的一个改写类(VC6添加文件的效果)

编写一个类似VC6添加文件,单击则动态显示一个Edit编辑框与一个Button。

1.新建一个类(如CMyListBox),继承自CListBox

2.头文件中定义Edit与CButton变量

CEdit m_edit;

CButton m_btn;

3.定义一个初始化函数,供对话框调用。

void Init()

{

    m_edit.Create(...);

  // 此处可以设置Edit的字体。 如何获取? GetStockObject(DEFAULT_GUI_FONT)

  // 设置字体方法。 1.python测试项中的方法。 2.李维定的方法 3.richEdit中的方法

  m_btn.Create(...);

}

4.重载OnLButtonDown 与 OnLbnSelchange 函数

void CMyListBox::OnLButtonDown(UINT nFlags, CPoint point)

{

  // 1.GetCurSel 是否有效,无效则让edit与Button隐藏。为什么一直为-1?

  // 2.GetCount 判断一共有多少个.判断是哪行矩形框内。 GetItemRect

  // 3.添加动态按钮的响应函数(弹出选择文件夹对话框)。自己手动添加edit与btn的ID,

  // #define MY_EDIT 10001

  // #define MY_BUTTON 10001

  // afx_msg void OnMyBtnClick(); // 手动添加响应。

  // 4. 通过按钮获取到路径,显示再Edit控件上.

  // 5. 更新edit与btn的位置。 MoveWindow

  // 何时更新数据?

}

void CMyListBox::OnLbnSelchange()

{

  // 需要做些什么呢?

}

5. 右键可以弹出删除这一菜单。当右键点击空白地方时,删除菜单项不使能。

// 代完成: 进度条。itunes编辑框的问题。

时间: 2024-10-11 12:41:03

CListBox的一个改写类(VC6添加文件的效果)的相关文章

简单实体类和xml文件的相互转换

最近写一个题目,要求将一组员工实体类转换成xml文件,或将xml文件转换成一组实体类.题目不难,但写完感觉可以利用泛型和反射将任意一个实体类和xml文件进行转换.于是今天下午立马动手 试了下,做了个简单的模型,可以将简单的实体类和xml文件进行相互转换,但对实体类的属性类型有限制,目前只支持String, Integer, Double三种类型.但是后面可以扩展. 我的大概思路是这样的,只要能拿到实体类的类型信息,我就能拿到实体类的全部字段名称和类型,拼属性的set和get方法更是简单明了,这时

创建一个Fraction类(分数)实现分数的加减乘除,比较大小、约分等方法。要求:为类添加属性

//在.h文件里 {     NSInteger _numerator;     //分子     NSInteger _denominator;   //分母     }   //属性 @property (nonatomic) NSInteger numerator; @property (nonatomic) NSInteger denominator; //初始化   - (id)initwithNumerator:(NSInteger)numerator denominator:(NS

JAVA之File类 获取一个目录下的所有文件夹和文件,包括子文件夹和子文件

package ioTest.io3; import java.io.File; /* * 获取一个目录下的所有文件夹和文件,包括子文件夹和子文件 . * 并将文件夹和文件名称打印在控制台上面.并且要显示文件目录的层级 * 注:运用了递归的算法. */ public class FileDemo3 { public static void main(String[] args) { File dir=new File("F:\\黑马学习日程\\"); //File dir=new Fi

调用WCF不需要添加服务引用,使用一个WCFHelper类就可以

效果图: 调用过程: string WCFURL = "http://localhost:100/Service1.svc"; UserRequest user = new UserRequest { UserName = UserName.Text, Address = Address.Text, Email = Email.Text }; string request = "{\"request\":" + new JavaScriptSer

Entity Framework 的小实例:在项目中添加一个实体类,并做插入操作

1>. 创建一个控制台程序2>. 添加一个 ADO.NET实体数据模型,选择对应的数据库与表(StudentModel.edmx)3>. 控件台代码 static void Main(string[] args) { // 创建一个网关接口,TestData是数据库名 TestDataEntities td = new TestDataEntities(); // 创建一个实体对象,Student是表映射过来的对象,将其赋值 Student st1 = new Student(); st

oc 文件管理NSFileManager,文件读写NSFileHandle ,设计一个文件管理类将一个文件复制到另一个文件,由于文件过大要求每次复制100长度,通过NSFileHandle 来操作,并

设计一个文件管理类将一个文件复制到另一个文件,由于文件过大要求每次复制100长度,通过NSFileHandle来操作,并通过代理模式打印出当前的赋值进度百分比 main.m #import <Foundation/Foundation.h> #import "FileMaker.h" int main(int argc,const char * argv[]) { @autoreleasepool { NSString * fromPath = [NSHomeDirecto

File类——renameTo()将文件夹内的所有指定类型文件 移动到另一个文件夹内

* 由于   张孝祥-7K月薪面试题破解之一_交通灯管理系统视频教程 文件夹下 的视频文件都存放在每个子文件夹中 * 需求:将所有视频文件全部移动到  张孝祥-7K月薪面试题破解之一_交通灯管理系统视频教程文件夹下  原来存放视频的子文件夹删除 public class moveFiles { public static void main(String[] args) { // TODO Auto-generated method stub File f = new File("D:\\Bai

在存放源程序的文件夹中建立一个子文件夹 myPackage。例如,在“D:\java”文件夹之中创建一个与包同名的子文件夹 myPackage(D:\java\myPackage)。在 myPackage 包中创建一个YMD类,该类具有计算今年的年份、可以输出一个带有年月日的字符串的功能。设计程序SY31.java,给定某人姓名和出生日期,计算该人年龄,并输出该人姓名、年龄、出生日期。程序使用YM

题目补充: 在存放源程序的文件夹中建立一个子文件夹 myPackage.例如,在"D:\java"文件夹之中创建一个与包同名的子文件夹 myPackage(D:\java\myPackage).在 myPackage 包中创建一个YMD类,该类具有计算今年的年份.可以输出一个带有年月日的字符串的功能.设计程序SY31.java,给定某人姓名和出生日期,计算该人年龄,并输出该人姓名.年龄.出生日期.程序使用YMD的方法来计算年龄. 主要考包的运用 用到java.util.Calendar

ajax结合文件上传类进行多文件的单个上传

今天做项目的时候碰见一个问题:之前一个同事离职之前做了一个网站,有一个上传商品详细图片的功能,当时已经完成,但是由于后期程序的有更改以及更改的程序员的水平也是参差不齐,最后导致程序bug很多,由于当时用的是一个框架,最终也没找到说明文档,后来我就重新写了一个结合ajax上传文件的upload.classs.php虽然界面欠缺美观,但是通俗易懂好维护. //首先是页面. index.php <!DOCTYPE html> <html lang="en"> <